summaryrefslogtreecommitdiffstats
path: root/src/activeqt/container/qaxbase.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/activeqt/container/qaxbase.cpp')
-rw-r--r--src/activeqt/container/qaxbase.cpp39
1 files changed, 20 insertions, 19 deletions
diff --git a/src/activeqt/container/qaxbase.cpp b/src/activeqt/container/qaxbase.cpp
index 4944c3b..0d4fae7 100644
--- a/src/activeqt/container/qaxbase.cpp
+++ b/src/activeqt/container/qaxbase.cpp
@@ -78,6 +78,7 @@
#include <private/qobject_p.h>
#include <private/qmetaobject_p.h>
#include <private/qmetaobjectbuilder_p.h>
+#include <private/qtools_p.h>
#include <qt_windows.h>
#include <ocidl.h>
@@ -388,7 +389,7 @@ public:
if (qobject->signalsBlocked())
return S_OK;
- const QMetaObject *meta = combase->axBaseMetaObject();
+ const QMetaObject *meta = qobject->metaObject();
const QMetaObjectExtra &moExtra = moextra_cache.value(meta);
int index = -1;
@@ -497,7 +498,11 @@ public:
if (dispID == DISPID_UNKNOWN || !combase)
return S_OK;
- const QMetaObject *meta = combase->axBaseMetaObject();
+ QObject *qobject = combase->qObject();
+ if (qobject->signalsBlocked())
+ return S_OK;
+
+ const QMetaObject *meta = qobject->metaObject();
if (!meta)
return S_OK;
@@ -505,10 +510,6 @@ public:
if (propname.isEmpty())
return S_OK;
- QObject *qobject = combase->qObject();
- if (qobject->signalsBlocked())
- return S_OK;
-
// emit the generic signal
combase->d->emitPropertyChanged(QString::fromLatin1(propname));
@@ -624,7 +625,7 @@ QByteArray QAxEventSink::findProperty(DISPID dispID)
typeinfo->Release();
QByteArray propsignal(propname + "Changed(");
- const QMetaObject *mo = combase->axBaseMetaObject();
+ const QMetaObject *mo = combase->qObject()->metaObject();
int index = mo->indexOfProperty(propname);
const QMetaProperty prop = mo->property(index);
propsignal += prop.typeName();
@@ -2288,7 +2289,7 @@ void MetaObjectGenerator::addSetterSlot(const QByteArray &property)
if (isupper(prototype.at(0))) {
prototype.insert(0, "Set");
} else {
- prototype[0] = char(toupper(prototype[0]));
+ prototype[0] = QtMiscUtils::toAsciiUpper(prototype[0]);
prototype.insert(0, "set");
}
const QByteArray type = propertyType(property);
@@ -2486,7 +2487,7 @@ void MetaObjectGenerator::readFuncsInfo(ITypeInfo *typeinfo, ushort nFuncs)
set = "Set";
} else {
set = "set";
- prototype[0] = char(toupper(prototype[0]));
+ prototype[0] = QtMiscUtils::toAsciiUpper(prototype[0]);
}
prototype = set + prototype;
@@ -3265,7 +3266,7 @@ bool QAxBasePrivate::checkHRESULT(HRESULT hres, EXCEPINFO *exc, const QString &n
*/
int QAxBase::internalProperty(QMetaObject::Call call, int index, void **v)
{
- const QMetaObject *mo = axBaseMetaObject();
+ const QMetaObject *mo = qObject()->metaObject();
const QMetaProperty prop = mo->property(index + mo->propertyOffset());
QByteArray propname = prop.name();
@@ -3370,7 +3371,7 @@ int QAxBase::internalInvoke(QMetaObject::Call call, int index, void **v)
if (!disp)
return index;
- const QMetaObject *mo = axBaseMetaObject();
+ const QMetaObject *mo = qObject()->metaObject();
// get the slot information
const QMetaMethod slot = mo->method(index + mo->methodOffset());
Q_ASSERT(slot.methodType() == QMetaMethod::Slot);
@@ -3488,7 +3489,7 @@ int QAxBasePrivate::qtStaticMetaCall(QAxBase *_t, QMetaObject::Call _c, int _id,
if (_c != QMetaObject::InvokeMetaMethod)
return 0;
Q_ASSERT(_t != nullptr);
- const QMetaObject *mo = _t->axBaseMetaObject();
+ const QMetaObject *mo = _t->qObject()->metaObject();
switch (mo->method(_id + mo->methodOffset()).methodType()) {
case QMetaMethod::Signal:
QMetaObject::activate(_t->qObject(), mo, _id, _a);
@@ -3504,7 +3505,7 @@ int QAxBasePrivate::qtStaticMetaCall(QAxBase *_t, QMetaObject::Call _c, int _id,
int QAxBasePrivate::qtMetaCall(QMetaObject::Call call, int id, void **v)
{
- const QMetaObject *mo = q->axBaseMetaObject();
+ const QMetaObject *mo = q->qObject()->metaObject();
if (q->isNull() && mo->property(id + mo->propertyOffset()).name() != QByteArray("control")) {
qWarning("QAxBase::qt_metacall: Object is not initialized, or initialization failed");
return id;
@@ -3529,7 +3530,7 @@ int QAxBasePrivate::qtMetaCall(QMetaObject::Call call, int id, void **v)
#ifdef QT_CHECK_STATE
static void qax_noSuchFunction(int disptype, const QByteArray &name, const QByteArray &function, const QAxBase *that)
{
- const QMetaObject *metaObject = that->axBaseMetaObject();
+ const QMetaObject *metaObject = that->qObject()->metaObject();
const char *coclass = metaObject->classInfo(metaObject->indexOfClassInfo("CoClass")).value();
if (disptype == DISPATCH_METHOD) {
@@ -3577,7 +3578,7 @@ bool QAxBase::dynamicCallHelper(const char *name, void *inout, QList<QVariant> &
return false;
}
- const QMetaObject *mo = axBaseMetaObject();
+ const QMetaObject *mo = qObject()->metaObject();
Q_ASSERT(d->metaobj);
const QMetaObjectExtra &moExtra = moextra_cache.value(d->metaobj);
@@ -4019,7 +4020,7 @@ QAxObject *QAxBase::querySubObject(const char *name, QList<QVariant> &vars)
case VT_EMPTY:
#ifdef QT_CHECK_STATE
{
- auto mo = axBaseMetaObject();
+ auto mo = qObject()->metaObject();
const char *coclass = mo->classInfo(mo->indexOfClassInfo("CoClass")).value();
qWarning("QAxBase::querySubObject: %s: Error calling function or property in %s (%s)"
, name, control().toLatin1().data(), coclass ? coclass: "unknown");
@@ -4029,7 +4030,7 @@ QAxObject *QAxBase::querySubObject(const char *name, QList<QVariant> &vars)
default:
#ifdef QT_CHECK_STATE
{
- auto mo = axBaseMetaObject();
+ auto mo = qObject()->metaObject();
const char *coclass = mo->classInfo(mo->indexOfClassInfo("CoClass")).value();
qWarning("QAxBase::querySubObject: %s: Method or property is not of interface type in %s (%s)"
, name, control().toLatin1().data(), coclass ? coclass: "unknown");
@@ -4136,7 +4137,7 @@ QAxBase::PropertyBag QAxBase::propertyBag() const
persist->Release();
return result;
}
- const QMetaObject *mo = axBaseMetaObject();
+ const QMetaObject *mo = qObject()->metaObject();
for (int p = mo->propertyOffset(); p < mo->propertyCount(); ++p) {
const QMetaProperty property = mo->property(p);
QVariant var = qObject()->property(property.name());
@@ -4176,7 +4177,7 @@ void QAxBase::setPropertyBag(const PropertyBag &bag)
pbag->Release();
persist->Release();
} else {
- const QMetaObject *mo = axBaseMetaObject();
+ const QMetaObject *mo = qObject()->metaObject();
for (int p = mo->propertyOffset(); p < mo->propertyCount(); ++p) {
const QMetaProperty property = mo->property(p);
QVariant var = bag.value(QLatin1String(property.name()));