diff options
author | Friedemann Kleint <Friedemann.Kleint@qt.io> | 2020-05-05 15:37:55 +0200 |
---|---|---|
committer | Daniel Smith <Daniel.Smith@qt.io> | 2020-05-18 11:32:41 +0000 |
commit | 72215e4c7c6a42723b138ac97a603af011bd81d2 (patch) | |
tree | 277e237af705c5cca3b2bd78eb43775d1c5480e0 | |
parent | bd9c3d98febae9065366dcd20109690bc05e1005 (diff) | |
download | qtactiveqt-72215e4c7c6a42723b138ac97a603af011bd81d2.tar.gz |
Compile with QT_NO_CAST_TO_ASCII
Task-number: QTBUG-78167
Change-Id: I628df5c4db8b072fa34a14890b031429b550b51a
Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
(cherry picked from commit 7a6472a6d6c600698858de59e3f1dd1424ca32dd)
-rw-r--r-- | src/activeqt/container/container.pro | 1 | ||||
-rw-r--r-- | src/activeqt/container/qaxbase.cpp | 5 | ||||
-rw-r--r-- | src/activeqt/container/qaxdump.cpp | 23 | ||||
-rw-r--r-- | src/activeqt/control/control.pro | 1 | ||||
-rw-r--r-- | src/activeqt/control/qaxserver.cpp | 18 | ||||
-rw-r--r-- | src/activeqt/control/qaxserverbase.cpp | 7 |
6 files changed, 31 insertions, 24 deletions
diff --git a/src/activeqt/container/container.pro b/src/activeqt/container/container.pro index 4bfeb34..8d779e4 100644 --- a/src/activeqt/container/container.pro +++ b/src/activeqt/container/container.pro @@ -29,4 +29,3 @@ MODULE_CONFIG = dumpcpp MODULE_MASTER_HEADER = ActiveQt CONFIG += no_module_headers load(qt_module) -DEFINES -= QT_NO_CAST_TO_ASCII QT_USE_QSTRINGBUILDER diff --git a/src/activeqt/container/qaxbase.cpp b/src/activeqt/container/qaxbase.cpp index 42ccffc..910cacb 100644 --- a/src/activeqt/container/qaxbase.cpp +++ b/src/activeqt/container/qaxbase.cpp @@ -563,7 +563,8 @@ public: static bool signalHasReceivers(QObject *qobject, const char *signalName) { Q_ASSERT(qobject); - return static_cast<QAxObject *>(qobject)->receivers(QByteArray::number(QSIGNAL_CODE) + signalName); + const QByteArray name = QByteArray::number(QSIGNAL_CODE) + signalName; + return static_cast<QAxObject *>(qobject)->receivers(name.constData()) > 0; } IConnectionPoint *cpoint = nullptr; @@ -1554,7 +1555,7 @@ public: void readEventInfo(); void readEventInterface(ITypeInfo *eventinfo, IConnectionPoint *cpoint); - inline void addClassInfo(const char *key, const char *value) + inline void addClassInfo(const QByteArray &key, const QByteArray &value) { classinfo_list.insert(key, value); } diff --git a/src/activeqt/container/qaxdump.cpp b/src/activeqt/container/qaxdump.cpp index 2313306..bc74e0f 100644 --- a/src/activeqt/container/qaxdump.cpp +++ b/src/activeqt/container/qaxdump.cpp @@ -160,20 +160,23 @@ QString qax_generateDocumentation(QAxBase *that) stream << "<h3>Interfaces</h3>" << Qt::endl; stream << "<ul>" << Qt::endl; - const char *inter = nullptr; - UINT interCount = 1; - while ((inter = mo->classInfo(mo->indexOfClassInfo("Interface " + QByteArray::number(interCount))).value())) { - stream << "<li>" << inter << Qt::endl; - interCount++; + for (int interCount = 1; ; ++interCount) { + const QByteArray name = "Interface " + QByteArray::number(interCount); + const int index = mo->indexOfClassInfo(name.constData()); + if (index < 0) + break; + stream << "<li>" << mo->classInfo(index).value() << Qt::endl; } stream << "</ul>" << Qt::endl; stream << "<h3>Event Interfaces</h3>" << Qt::endl; stream << "<ul>" << Qt::endl; - interCount = 1; - while ((inter = mo->classInfo(mo->indexOfClassInfo("Event Interface " + QByteArray::number(interCount))).value())) { - stream << "<li>" << inter << Qt::endl; - interCount++; + for (int interCount = 1; ; ++interCount) { + const QByteArray name = ("Event Interface " + QByteArray::number(interCount)); + const int index = mo->indexOfClassInfo(name.constData()); + if (index < 0) + break; + stream << "<li>" << mo->classInfo(index).value() << Qt::endl; } stream << "</ul>" << Qt::endl; @@ -272,7 +275,7 @@ QString qax_generateDocumentation(QAxBase *that) QLatin1String(name.constData()) + QLatin1Char(' ') + QLatin1String(prototype.constData()) + QLatin1String("<tt> [signal]</tt></h3>\n"); if (typeLib) { - interCount = 0; + UINT interCount = 0; do { if (typeInfo) typeInfo->Release(); diff --git a/src/activeqt/control/control.pro b/src/activeqt/control/control.pro index e55bdab..efdf224 100644 --- a/src/activeqt/control/control.pro +++ b/src/activeqt/control/control.pro @@ -31,4 +31,3 @@ MODULE_CONFIG = idcidl force_import_plugins MODULE_MASTER_HEADER = ActiveQt CONFIG += no_module_headers load(qt_module) -DEFINES -= QT_NO_CAST_TO_ASCII QT_USE_QSTRINGBUILDER diff --git a/src/activeqt/control/qaxserver.cpp b/src/activeqt/control/qaxserver.cpp index 92f03f9..7e85158 100644 --- a/src/activeqt/control/qaxserver.cpp +++ b/src/activeqt/control/qaxserver.cpp @@ -267,18 +267,21 @@ static void UpdateRegistryKeys(bool bRegister, const QString keyPath, QScopedPoi const QString versionLessProgId = module + dot + className; const QString progId = versionLessProgId + dot + classMajorVersion; QString key = slash + progId; - settings->setValue(key + QLatin1String("/."), className + QLatin1String(" Class")); + settings->setValue(key + QLatin1String("/."), + QString(className + QLatin1String(" Class"))); settings->setValue(key + QLatin1String("/CLSID/."), classId); if (insertable) settings->setValue(key + QLatin1String("/Insertable/."), QVariant(QLatin1String(""))); key = slash + module + dot + className; - settings->setValue(key + QLatin1String("/."), className + QLatin1String(" Class")); + settings->setValue(key + QLatin1String("/."), + QString(className + QLatin1String(" Class"))); settings->setValue(key + QLatin1String("/CLSID/."), classId); settings->setValue(key + QLatin1String("/CurVer/."), progId); key = QLatin1String("/CLSID/") + classId; - settings->setValue(key + QLatin1String("/."), className + QLatin1String(" Class")); + settings->setValue(key + QLatin1String("/."), + QString(className + QLatin1String(" Class"))); settings->setValue(key + QLatin1String("/AppID"), appId); if (control) settings->setValue(key + QLatin1String("/Control/."), QVariant(QLatin1String(""))); @@ -288,12 +291,12 @@ static void UpdateRegistryKeys(bool bRegister, const QString keyPath, QScopedPoi settings->setValue(key + QLatin1String("/InProcServer32/."), file); else settings->setValue(key + QLatin1String("/LocalServer32/."), - QLatin1Char('\"') + file + QLatin1String("\" -activex")); + QString(QLatin1Char('\"') + file + QLatin1String("\" -activex"))); settings->setValue(key + QLatin1String("/MiscStatus/."), control ? QLatin1String("1") : QLatin1String("0")); settings->setValue(key + QLatin1String("/MiscStatus/1/."), QString::number(olemisc)); settings->setValue(key + QLatin1String("/Programmable/."), QVariant(QLatin1String(""))); - settings->setValue(key + QLatin1String("/ToolboxBitmap32/."), QLatin1Char('\"') + - file + QLatin1String("\", 101")); + settings->setValue(key + QLatin1String("/ToolboxBitmap32/."), + QString(QLatin1Char('\"') + file + QLatin1String("\", 101"))); settings->setValue(key + QLatin1String("/TypeLib/."), libId); settings->setValue(key + QLatin1String("/Version/."), classVersion); settings->setValue(key + QLatin1String("/VersionIndependentProgID/."), versionLessProgId); @@ -318,7 +321,8 @@ static void UpdateRegistryKeys(bool bRegister, const QString keyPath, QScopedPoi if (!extension.isEmpty()) { key = slash + extension; - settings->setValue(key + QLatin1String("/."), module + dot + className); + settings->setValue(key + QLatin1String("/."), + QString(module + dot + className)); settings->setValue(key + QLatin1String("/Content Type"), mime); mime.replace(slash, QLatin1Char('\\')); diff --git a/src/activeqt/control/qaxserverbase.cpp b/src/activeqt/control/qaxserverbase.cpp index 57ca767..3dad740 100644 --- a/src/activeqt/control/qaxserverbase.cpp +++ b/src/activeqt/control/qaxserverbase.cpp @@ -48,7 +48,6 @@ ** ****************************************************************************/ -#define QT_NO_CAST_TO_ASCII #define NOMINMAX #include <qabstracteventdispatcher.h> @@ -2384,8 +2383,10 @@ HRESULT WINAPI QAxServerBase::Invoke(DISPID dispidMember, REFIID riid, nameLength = name.length(); name += '('; // no parameter - shortcut - if (!pDispParams->cArgs) - index = mo->indexOfSlot((name + ')')); + if (!pDispParams->cArgs) { + const QByteArray slotName = name + ')'; + index = mo->indexOfSlot(slotName.constData()); + } // search if (index == -1) { for (int i = 0; i < mo->methodCount(); ++i) { |