diff options
-rw-r--r-- | src/activeqt/container/qaxbase.cpp | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/src/activeqt/container/qaxbase.cpp b/src/activeqt/container/qaxbase.cpp index 9c0e0d9..722a389 100644 --- a/src/activeqt/container/qaxbase.cpp +++ b/src/activeqt/container/qaxbase.cpp @@ -3682,7 +3682,10 @@ int QAxBase::internalInvoke(QMetaObject::Call call, int index, void **v) // get return value if (hres == S_OK && ret.vt != VT_EMPTY) { QVariantToVoidStar(VARIANTToQVariant(ret, slot.typeName()), v[0], slot.typeName()); - clearVARIANT(&ret); + if (ret.vt != VT_DISPATCH) + clearVARIANT(&ret); + else + VariantInit(&ret); } // update out parameters |