diff options
author | Qt Forward Merge Bot <qt_forward_merge_bot@qt-project.org> | 2020-02-05 13:36:46 +0100 |
---|---|---|
committer | Qt Forward Merge Bot <qt_forward_merge_bot@qt-project.org> | 2020-02-05 13:36:46 +0100 |
commit | 34d89d9b72198f0e0f085d7445db5709a8a130b3 (patch) | |
tree | 65faad0fdad7de603888283b43a992901dbf8450 | |
parent | 3f6c03ab94a19df1d287f196ec6d47760d38c986 (diff) | |
parent | 6ae4d9b39285d84dad731893444f7027945900fb (diff) |
Merge remote-tracking branch 'origin/5.14' into 5.15v5.15.0-beta2v5.15.0-beta1v5.15.0-alpha1
Conflicts:
.qmake.conf
Change-Id: Ib32f4a8475ca9c0cd487ce2dadf0e3a4c94a05da
-rw-r--r-- | src/activeqt/container/qaxbase.cpp | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/src/activeqt/container/qaxbase.cpp b/src/activeqt/container/qaxbase.cpp index d578438..42ccffc 100644 --- a/src/activeqt/container/qaxbase.cpp +++ b/src/activeqt/container/qaxbase.cpp @@ -4018,6 +4018,12 @@ bool QAxBase::dynamicCallHelper(const char *name, void *inout, QList<QVariant> & UINT argerr = 0; HRESULT hres = Invoke(disp, dispid, IID_NULL, LOCALE_USER_DEFAULT, disptype, ¶ms, res, &excepinfo, &argerr); + if (hres == DISP_E_MEMBERNOTFOUND && (disptype & DISPATCH_METHOD) != 0) { + // Retry with pVarResult = 0, workaround for "Word.Application.WordBasic.DisableAutoMacros(bool)" + memset(&excepinfo, 0, sizeof(excepinfo)); + argerr = 0; + hres = Invoke(disp, dispid, IID_NULL, LOCALE_USER_DEFAULT, disptype, ¶ms, nullptr, &excepinfo, &argerr); + } if (disptype == (DISPATCH_METHOD|DISPATCH_PROPERTYGET) && hres == S_OK && varc) { for (int i = 0; i < varc; ++i) |