summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorFriedemann Kleint <Friedemann.Kleint@digia.com>2014-10-06 16:06:01 +0200
committerFriedemann Kleint <Friedemann.Kleint@digia.com>2014-10-06 17:47:54 +0200
commit575ee40621f7632c6d82e628aa2817c3233de327 (patch)
treed71d7ec23cdf7bd9962d868e5db6c32b946ad6e1
parent68dcc97d38871bba273181e8b0c55bd9c9be6780 (diff)
downloadqtactiveqt-575ee40621f7632c6d82e628aa2817c3233de327.tar.gz
Remove repeated invocations of end() in iterations.
Assign end() to a variable. Where possible, use foreach() to iterate over lists or map values or use Qt convenience APIs. Change-Id: Ie6a6f56d1b0ddb419d06a7ccf4be2f8b32c029b4 Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
-rw-r--r--src/activeqt/container/qaxbase.cpp73
-rw-r--r--src/activeqt/container/qaxscript.cpp61
-rw-r--r--src/activeqt/container/qaxwidget.cpp21
-rw-r--r--src/activeqt/control/qaxfactory.h16
-rw-r--r--src/activeqt/control/qaxserver.cpp49
-rw-r--r--src/activeqt/control/qaxserverbase.cpp27
-rw-r--r--src/activeqt/control/qaxservermain.cpp14
-rw-r--r--src/activeqt/shared/qaxtypes.cpp5
8 files changed, 108 insertions, 158 deletions
diff --git a/src/activeqt/container/qaxbase.cpp b/src/activeqt/container/qaxbase.cpp
index f88172c..fc78640 100644
--- a/src/activeqt/container/qaxbase.cpp
+++ b/src/activeqt/container/qaxbase.cpp
@@ -304,14 +304,7 @@ public:
}
sigs.insert(memid, signalname);
- QMap<DISPID,QByteArray>::ConstIterator it;
- DISPID id = -1;
- for (it = propsigs.constBegin(); it!= propsigs.constEnd(); ++it) {
- if (it.value() == signalname) {
- id = it.key();
- break;
- }
- }
+ const DISPID id = propsigs.key(signalname, -1);
if (id != -1)
propsigs.remove(id);
}
@@ -586,6 +579,8 @@ public:
class QAxBasePrivate
{
public:
+ typedef QHash<QUuid, QAxEventSink*> UuidEventSinkHash;
+
QAxBasePrivate()
: useEventSink(true), useMetaObject(true), useClassInfo(true),
cachedMetaObject(false), initialized(false), tryCache(false),
@@ -625,8 +620,7 @@ public:
}
QString ctrl;
-
- QHash<QUuid, QAxEventSink*> eventSink;
+ UuidEventSinkHash eventSink;
uint useEventSink :1;
uint useMetaObject :1;
uint useClassInfo :1;
@@ -1008,10 +1002,9 @@ bool QAxBase::setControl(const QString &c)
search = controls.value(c + QLatin1String("/CLSID/Default")).toString();
if (search.isEmpty()) {
controls.beginGroup(QLatin1String("/CLSID"));
- QStringList clsids = controls.childGroups();
- for (QStringList::Iterator it = clsids.begin(); it != clsids.end(); ++it) {
- QString clsid = *it;
- QString name = controls.value(clsid + QLatin1String("/Default")).toString();
+ const QStringList clsids = controls.childGroups();
+ foreach (const QString &clsid, clsids) {
+ const QString name = controls.value(clsid + QLatin1String("/Default")).toString();
if (name == c) {
search = clsid;
break;
@@ -1110,10 +1103,7 @@ void QAxBase::disableClassInfo()
*/
void QAxBase::clear()
{
- QHash<QUuid, QAxEventSink*>::Iterator it = d->eventSink.begin();
- while (it != d->eventSink.end()) {
- QAxEventSink *eventSink = it.value();
- ++it;
+ foreach (QAxEventSink *eventSink, d->eventSink) {
if (eventSink) {
eventSink->unadvise();
eventSink->Release();
@@ -1526,6 +1516,10 @@ public:
}
private:
+ typedef QPair<QByteArray, int> ByteArrayIntPair;
+ typedef QList<ByteArrayIntPair> ByteArrayIntPairList;
+ typedef QMap<QByteArray, ByteArrayIntPairList>::ConstIterator EnumListMapConstIterator;
+
void init();
@@ -1690,10 +1684,11 @@ private:
return property_list.value(name).type;
}
- QMap<QByteArray, QList<QPair<QByteArray, int> > > enum_list;
+ QMap<QByteArray, ByteArrayIntPairList> enum_list;
+
inline void addEnumValue(const QByteArray &enumname, const QByteArray &key, int value)
{
- enum_list[enumname].append(QPair<QByteArray, int>(key, value));
+ enum_list[enumname].append(ByteArrayIntPair(key, value));
}
inline bool hasEnum(const QByteArray &enumname)
@@ -2166,11 +2161,10 @@ void MetaObjectGenerator::readClassInfo()
if (!tlid.isEmpty()) {
controls.beginGroup(QLatin1String("/Classes/TypeLib/") + tlid);
QStringList versions = controls.childGroups();
- QStringList::Iterator vit = versions.begin();
- while (tlfile.isEmpty() && vit != versions.end()) {
- QString version = *vit;
- ++vit;
+ foreach (const QString &version, versions) {
tlfile = controls.value(QLatin1Char('/') + version + QLatin1String("/0/win32/.")).toString();
+ if (!tlfile.isEmpty())
+ break;
}
controls.endGroup();
} else {
@@ -2962,11 +2956,7 @@ QMetaObject *MetaObjectGenerator::tryCache()
IConnectionPointContainer *cpoints = 0;
d->ptr->QueryInterface(IID_IConnectionPointContainer, (void**)&cpoints);
if (cpoints) {
- QList<QUuid>::ConstIterator it = d->metaobj->connectionInterfaces.begin();
- while (it != d->metaobj->connectionInterfaces.end()) {
- QUuid iid = *it;
- ++it;
-
+ foreach (const QUuid &iid, d->metaobj->connectionInterfaces) {
IConnectionPoint *cpoint = 0;
cpoints->FindConnectionPoint(iid, &cpoint);
if (cpoint) {
@@ -3052,10 +3042,9 @@ QMetaObject *MetaObjectGenerator::metaObject(const QMetaObject *parentObject, co
int_data_size += (signal_list.count() + slot_list.count()) * 5 + paramsDataSize;
int_data_size += property_list.count() * 3;
int_data_size += enum_list.count() * 4;
- for (QMap<QByteArray, QList<QPair<QByteArray, int> > >::ConstIterator it = enum_list.begin();
- it != enum_list.end(); ++it) {
- int_data_size += (*it).count() * 2;
- }
+ const EnumListMapConstIterator ecend = enum_list.end();
+ for (EnumListMapConstIterator it = enum_list.begin(); it != ecend; ++it)
+ int_data_size += it.value().count() * 2;
++int_data_size; // eod
uint *int_data = new uint[int_data_size];
@@ -3084,7 +3073,9 @@ QMetaObject *MetaObjectGenerator::metaObject(const QMetaObject *parentObject, co
uint offset = header->classInfoData;
// each class info in form key\0value\0
- for (QMap<QByteArray, QByteArray>::ConstIterator it = classinfo_list.begin(); it != classinfo_list.end(); ++it) {
+ typedef QMap<QByteArray, QByteArray>::ConstIterator ClassInfoConstIterator;
+ const ClassInfoConstIterator cend = classinfo_list.end();
+ for (ClassInfoConstIterator it = classinfo_list.begin(); it != cend; ++it) {
QByteArray key(it.key());
QByteArray value(it.value());
int_data[offset++] = strings.enter(key);
@@ -3131,7 +3122,9 @@ QMetaObject *MetaObjectGenerator::metaObject(const QMetaObject *parentObject, co
Q_ASSERT(offset == uint(header->propertyData));
// each property in form name\0type\0
- for (QMap<QByteArray, Property>::ConstIterator it = property_list.begin(); it != property_list.end(); ++it) {
+ typedef QMap<QByteArray, Property>::ConstIterator PropertyMapConstIterator;
+ const PropertyMapConstIterator pcend = property_list.end();
+ for (PropertyMapConstIterator it = property_list.begin(); it != pcend; ++it) {
QByteArray name(it.key());
QByteArray type(it.value().type);
Q_ASSERT(!type.isEmpty());
@@ -3148,7 +3141,7 @@ QMetaObject *MetaObjectGenerator::metaObject(const QMetaObject *parentObject, co
int value_offset = offset + enum_list.count() * 4;
// each enum in form name\0
- for (QMap<QByteArray, QList<QPair<QByteArray, int> > >::ConstIterator it = enum_list.begin(); it != enum_list.end(); ++it) {
+ for (EnumListMapConstIterator it = enum_list.begin(); it != ecend; ++it) {
QByteArray name(it.key());
int flags = 0x0; // 0x1 for flag?
int count = it.value().count();
@@ -3162,8 +3155,9 @@ QMetaObject *MetaObjectGenerator::metaObject(const QMetaObject *parentObject, co
Q_ASSERT(offset == uint(header->enumeratorData + enum_list.count() * 4));
// each enum value in form key\0
- for (QMap<QByteArray, QList<QPair<QByteArray, int> > >::ConstIterator it = enum_list.begin(); it != enum_list.end(); ++it) {
- for (QList<QPair<QByteArray,int> >::ConstIterator it2 = it.value().begin(); it2 != it.value().end(); ++it2) {
+ for (EnumListMapConstIterator it = enum_list.begin(); it != ecend; ++it) {
+ const ByteArrayIntPairList::ConstIterator vcend = it.value().end();
+ for (ByteArrayIntPairList::ConstIterator it2 = it.value().begin(); it2 != vcend; ++it2) {
QByteArray key((*it2).first);
int value = (*it2).second;
int_data[offset++] = strings.enter(key);
@@ -3190,8 +3184,7 @@ QMetaObject *MetaObjectGenerator::metaObject(const QMetaObject *parentObject, co
if (!cacheKey.isEmpty()) {
mo_cache.insert(cacheKey, d->metaobj);
d->cachedMetaObject = true;
- for (QHash<QUuid, QAxEventSink*>::Iterator it = d->eventSink.begin(); it != d->eventSink.end(); ++it) {
- QAxEventSink *sink = it.value();
+ foreach (QAxEventSink *sink, d->eventSink) {
if (sink) {
QUuid ciid = sink->connectionInterface();
diff --git a/src/activeqt/container/qaxscript.cpp b/src/activeqt/container/qaxscript.cpp
index c56474d..e594ffb 100644
--- a/src/activeqt/container/qaxscript.cpp
+++ b/src/activeqt/container/qaxscript.cpp
@@ -712,13 +712,8 @@ bool QAxScript::load(const QString &code, const QString &language)
if (code.contains(QLatin1String("End Sub"), Qt::CaseInsensitive))
lang = QLatin1String("VBScript");
- QList<QAxEngineDescriptor>::ConstIterator it;
- for (it = engines.begin(); it != engines.end(); ++it) {
- QAxEngineDescriptor engine = *it;
- if (engine.code.isEmpty())
- continue;
-
- if (code.contains(engine.code)) {
+ foreach (const QAxEngineDescriptor &engine, engines) {
+ if (!engine.code.isEmpty() && code.contains(engine.code)) {
lang = engine.name;
break;
}
@@ -944,13 +939,9 @@ QAxScriptManager::~QAxScriptManager()
QStringList QAxScriptManager::functions(QAxScript::FunctionFlags flags) const
{
QStringList functions;
-
- QHash<QString, QAxScript*>::ConstIterator scriptIt;
- for (scriptIt = d->scriptDict.begin(); scriptIt != d->scriptDict.end(); ++scriptIt) {
- QAxScript *script = scriptIt.value();
- functions += script->functions(flags);
- }
-
+ functions.reserve(d->scriptDict.size());
+ foreach (const QAxScript *script, d->scriptDict)
+ functions.append(script->functions(flags));
return functions;
}
@@ -959,14 +950,7 @@ QStringList QAxScriptManager::functions(QAxScript::FunctionFlags flags) const
*/
QStringList QAxScriptManager::scriptNames() const
{
- QStringList scripts;
-
- QHash<QString, QAxScript*>::ConstIterator scriptIt;
- for (scriptIt = d->scriptDict.begin(); scriptIt != d->scriptDict.end(); ++scriptIt) {
- scripts << scriptIt.key();
- }
-
- return scripts;
+ return d->scriptDict.keys();
}
/*!
@@ -1072,13 +1056,8 @@ QAxScript *QAxScriptManager::load(const QString &file, const QString &name)
if (file.endsWith(QLatin1String(".js"))) {
language = QLatin1String("JScript");
} else {
- QList<QAxEngineDescriptor>::ConstIterator it;
- for (it = engines.begin(); it != engines.end(); ++it) {
- QAxEngineDescriptor engine = *it;
- if (engine.extension.isEmpty())
- continue;
-
- if (file.endsWith(engine.extension)) {
+ foreach (const QAxEngineDescriptor &engine, engines) {
+ if (!engine.extension.isEmpty() && file.endsWith(engine.extension)) {
language = engine.name;
break;
}
@@ -1200,14 +1179,12 @@ QString QAxScriptManager::scriptFileFilter()
QString specialFiles = QLatin1String(";;VBScript Files (*.vbs *.dsm)"
";;JavaScript Files (*.js)");
- QList<QAxEngineDescriptor>::ConstIterator it;
- for (it = engines.begin(); it != engines.end(); ++it) {
- QAxEngineDescriptor engine = *it;
- if (engine.extension.isEmpty())
- continue;
-
- allFiles += QLatin1String(" *") + engine.extension;
- specialFiles += QLatin1String(";;") + engine.name + QLatin1String(" Files (*") + engine.extension + QLatin1Char(')');
+ foreach (const QAxEngineDescriptor &engine, engines) {
+ if (!engine.extension.isEmpty()) {
+ allFiles += QLatin1String(" *") + engine.extension;
+ specialFiles += QLatin1String(";;") + engine.name
+ + QLatin1String(" Files (*") + engine.extension + QLatin1Char(')');
+ }
}
allFiles += QLatin1Char(')');
@@ -1238,10 +1215,7 @@ QAxScript *QAxScriptManager::scriptForFunction(const QString &function) const
{
// check full prototypes if included
if (function.contains(QLatin1Char('('))) {
- QHash<QString, QAxScript*>::ConstIterator scriptIt;
- for (scriptIt = d->scriptDict.begin(); scriptIt != d->scriptDict.end(); ++scriptIt) {
- QAxScript *script = scriptIt.value();
-
+ foreach (QAxScript *script, d->scriptDict) {
if (script->functions(QAxScript::FunctionSignatures).contains(function))
return script;
}
@@ -1250,10 +1224,7 @@ QAxScript *QAxScriptManager::scriptForFunction(const QString &function) const
QString funcName = function;
funcName = funcName.left(funcName.indexOf(QLatin1Char('(')));
// second try, checking only names, not prototypes
- QHash<QString, QAxScript*>::ConstIterator scriptIt;
- for (scriptIt = d->scriptDict.begin(); scriptIt != d->scriptDict.end(); ++scriptIt) {
- QAxScript *script = scriptIt.value();
-
+ foreach (QAxScript *script, d->scriptDict) {
if (script->functions(QAxScript::FunctionNames).contains(funcName))
return script;
}
diff --git a/src/activeqt/container/qaxwidget.cpp b/src/activeqt/container/qaxwidget.cpp
index 1ff6cc0..12cf76a 100644
--- a/src/activeqt/container/qaxwidget.cpp
+++ b/src/activeqt/container/qaxwidget.cpp
@@ -389,6 +389,8 @@ private:
int id;
QMenu *subMenu;
};
+ typedef QMap<QAction*, OleMenuItem> MenuItemMap;
+
QMenu *generatePopup(HMENU subMenu, QWidget *parent);
IOleObject *m_spOleObject;
@@ -412,7 +414,7 @@ private:
QAxWidget *widget;
QAxHostWidget *host;
QPointer<QMenuBar> menuBar;
- QMap<QAction*,OleMenuItem> menuItemMap;
+ MenuItemMap menuItemMap;
};
static const ushort mouseTbl[] = {
@@ -1345,11 +1347,9 @@ HRESULT WINAPI QAxClientSite::SetMenu(HMENU hmenuShared, HOLEMENU holemenu, HWND
}
} else if (menuBar) {
m_menuOwner = 0;
- QMap<QAction*, OleMenuItem>::Iterator it;
- for (it = menuItemMap.begin(); it != menuItemMap.end(); ++it) {
- QAction *action = it.key();
- delete action;
- }
+ const MenuItemMap::Iterator mend = menuItemMap.end();
+ for (MenuItemMap::Iterator it = menuItemMap.begin(); it != mend; ++it)
+ delete it.key();
menuItemMap.clear();
}
@@ -1378,11 +1378,10 @@ int QAxClientSite::qt_metacall(QMetaObject::Call call, int isignal, void **argv)
HRESULT WINAPI QAxClientSite::RemoveMenus(HMENU /*hmenuShared*/)
{
AX_DEBUG(QAxClientSite::RemoveMenus);
- QMap<QAction*, OleMenuItem>::Iterator it;
- for (it = menuItemMap.begin(); it != menuItemMap.end(); ++it) {
- QAction *action = it.key();
- action->setVisible(false);
- delete action;
+ const MenuItemMap::Iterator mend = menuItemMap.end();
+ for (MenuItemMap::Iterator it = menuItemMap.begin(); it != mend; ++it) {
+ it.key()->setVisible(false);
+ delete it.key();
}
menuItemMap.clear();
return S_OK;
diff --git a/src/activeqt/control/qaxfactory.h b/src/activeqt/control/qaxfactory.h
index eaf5757..0de1624 100644
--- a/src/activeqt/control/qaxfactory.h
+++ b/src/activeqt/control/qaxfactory.h
@@ -218,20 +218,20 @@ public:
factory = new QAxClass<Class>(typeLibID().toString(), appID().toString()); \
qRegisterMetaType<Class*>(#Class"*"); \
keys = factory->featureList(); \
- for (it = keys.begin(); it != keys.end(); ++it) { \
- factoryKeys += *it; \
- factories.insert(*it, factory); \
- creatable.insert(*it, true); \
+ foreach (const QString &key, keys) { \
+ factoryKeys += key; \
+ factories.insert(key, factory); \
+ creatable.insert(key, true); \
}\
#define QAXTYPE(Class) \
factory = new QAxClass<Class>(typeLibID().toString(), appID().toString()); \
qRegisterMetaType<Class*>(#Class"*"); \
keys = factory->featureList(); \
- for (it = keys.begin(); it != keys.end(); ++it) { \
- factoryKeys += *it; \
- factories.insert(*it, factory); \
- creatable.insert(*it, false); \
+ foreach (const QString &key, keys) { \
+ factoryKeys += key; \
+ factories.insert(key, factory); \
+ creatable.insert(key, false); \
}\
#define QAXFACTORY_END() \
diff --git a/src/activeqt/control/qaxserver.cpp b/src/activeqt/control/qaxserver.cpp
index 0f2e0ff..dcdccc1 100644
--- a/src/activeqt/control/qaxserver.cpp
+++ b/src/activeqt/control/qaxserver.cpp
@@ -262,13 +262,12 @@ HRESULT UpdateRegistry(BOOL bRegister)
}
QStringList keys = qAxFactory()->featureList();
- for (QStringList::Iterator key = keys.begin(); key != keys.end(); ++key) {
- QString className = *key;
- QObject *object = qAxFactory()->createObject(className);
- const QMetaObject *mo = qAxFactory()->metaObject(className);
- const QString classId = qAxFactory()->classID(className).toString().toUpper();
+ foreach (const QString &classNameIn, keys) {
+ QObject *object = qAxFactory()->createObject(classNameIn);
+ const QMetaObject *mo = qAxFactory()->metaObject(classNameIn);
+ const QString classId = qAxFactory()->classID(classNameIn).toString().toUpper();
- className = qax_clean_type(className, mo);
+ const QString className = qax_clean_type(classNameIn, mo);
if (object) { // don't register subobject classes
QString classVersion = mo ? QString::fromLatin1(mo->classInfo(mo->indexOfClassInfo("Version")).value()) : QString();
@@ -348,7 +347,7 @@ HRESULT UpdateRegistry(BOOL bRegister)
delete object;
}
- qAxFactory()->registerClass(*key, &settings);
+ qAxFactory()->registerClass(classNameIn, &settings);
}
} else {
if (qAxOutProcServer) {
@@ -356,18 +355,17 @@ HRESULT UpdateRegistry(BOOL bRegister)
settings.remove(QLatin1String("/AppID/") + module + QLatin1String(".EXE"));
}
QStringList keys = qAxFactory()->featureList();
- for (QStringList::Iterator key = keys.begin(); key != keys.end(); ++key) {
- QString className = *key;
- const QMetaObject *mo = qAxFactory()->metaObject(className);
- const QString classId = qAxFactory()->classID(className).toString().toUpper();
- className = qax_clean_type(className, mo);
+ foreach (const QString &classNameIn, keys) {
+ const QMetaObject *mo = qAxFactory()->metaObject(classNameIn);
+ const QString classId = qAxFactory()->classID(classNameIn).toString().toUpper();
+ const QString className = qax_clean_type(classNameIn, mo);
QString classVersion = mo ? QString::fromLatin1(mo->classInfo(mo->indexOfClassInfo("Version")).value()) : QString();
if (classVersion.isNull())
classVersion = QLatin1String("1.0");
const QString classMajorVersion = classVersion.left(classVersion.indexOf(QLatin1Char('.')));
- qAxFactory()->unregisterClass(*key, &settings);
+ qAxFactory()->unregisterClass(classNameIn, &settings);
settings.remove(QLatin1Char('/') + module + QLatin1Char('.') + className + QLatin1Char('.') + classMajorVersion + QLatin1String("/CLSID/."));
settings.remove(QLatin1Char('/') + module + QLatin1Char('.') + className + QLatin1Char('.') + classMajorVersion + QLatin1String("/Insertable/."));
@@ -1188,12 +1186,11 @@ extern "C" HRESULT __stdcall DumpIDL(const QString &outfile, const QString &ver)
out << "\t/* Forward declaration of classes that might be used as parameters */" << endl << endl;
int res = S_OK;
- for (key = keys.begin(); key != keys.end(); ++key) {
- QByteArray className = (*key).toLatin1();
- const QMetaObject *mo = qAxFactory()->metaObject(QString::fromLatin1(className.constData()));
+ foreach (const QString &className, keys) {
+ const QMetaObject *mo = qAxFactory()->metaObject(className);
// We have meta object information for this type. Forward declare it.
if (mo) {
- QByteArray cleanType = qax_clean_type(*key, mo).toLatin1();
+ QByteArray cleanType = qax_clean_type(className, mo).toLatin1();
out << "\tcoclass " << cleanType << ';' << endl;
subtypes.append(cleanType);
if (!QMetaType::type(cleanType))
@@ -1206,15 +1203,14 @@ extern "C" HRESULT __stdcall DumpIDL(const QString &outfile, const QString &ver)
}
out << endl;
- for (key = keys.begin(); key != keys.end(); ++key) {
- QByteArray className = (*key).toLatin1();
- const QMetaObject *mo = qAxFactory()->metaObject(QString::fromLatin1(className.constData()));
+ foreach (const QString &className, keys) {
+ const QMetaObject *mo = qAxFactory()->metaObject(className);
// We have meta object information for this type. Define it.
if (mo) {
- QObject *o = qAxFactory()->createObject(QString::fromLatin1(className.constData()));
+ QObject *o = qAxFactory()->createObject(className);
// It's not a control class, so it is actually a subtype. Define it.
if (!o)
- res = classIDL(0, mo, QString::fromLatin1(className), false, out);
+ res = classIDL(0, mo, className, false, out);
delete o;
}
}
@@ -1223,19 +1219,18 @@ extern "C" HRESULT __stdcall DumpIDL(const QString &outfile, const QString &ver)
if (res != S_OK)
goto ErrorInClass;
- for (key = keys.begin(); key != keys.end(); ++key) {
- QByteArray className = (*key).toLatin1();
- QObject *o = qAxFactory()->createObject(QString::fromLatin1(className.constData()));
+ foreach (const QString &className, keys) {
+ QObject *o = qAxFactory()->createObject(className);
if (!o)
continue;
const QMetaObject *mo = o->metaObject();
QAxBindable *bind = (QAxBindable*)o->qt_metacast("QAxBindable");
bool isBindable = bind != 0;
- QByteArray cleanType = qax_clean_type(*key, mo).toLatin1();
+ const QByteArray cleanType = qax_clean_type(className, mo).toLatin1();
subtypes.append(cleanType);
subtypes.append(cleanType + '*');
- res = classIDL(o, mo, QString::fromLatin1(className.constData()), isBindable, out);
+ res = classIDL(o, mo, className, isBindable, out);
delete o;
if (res != S_OK)
break;
diff --git a/src/activeqt/control/qaxserverbase.cpp b/src/activeqt/control/qaxserverbase.cpp
index ce57bf1..01b7288 100644
--- a/src/activeqt/control/qaxserverbase.cpp
+++ b/src/activeqt/control/qaxserverbase.cpp
@@ -620,12 +620,8 @@ public:
connections = old.connections;
that = old.that;
iid = old.iid;
- QList<CONNECTDATA>::Iterator it = connections.begin();
- while (it != connections.end()) {
- CONNECTDATA connection = *it;
- ++it;
+ foreach (const CONNECTDATA &connection, connections)
connection.pUnk->AddRef();
- }
}
~QAxConnection()
{
@@ -832,9 +828,9 @@ public:
// COM only knows the CLSID, but QAxFactory is class name based...
QStringList keys = qAxFactory()->featureList();
- for (QStringList::Iterator key = keys.begin(); key != keys.end(); ++key) {
- if (qAxFactory()->classID(*key) == clsid) {
- className = *key;
+ foreach (const QString &key, keys) {
+ if (qAxFactory()->classID(key) == clsid) {
+ className = key;
break;
}
}
@@ -1113,9 +1109,9 @@ QAxServerBase::~QAxServerBase()
revokeActiveObject();
- for (QAxServerBase::ConnectionPointsIterator it = points.begin(); it != points.end(); ++it) {
- if (it.value())
- (*it)->Release();
+ foreach (IConnectionPoint *point, points) {
+ if (point)
+ point->Release();
}
delete aggregatedObject;
aggregatedObject = 0;
@@ -1329,12 +1325,9 @@ bool QAxServerBase::internalCreate()
// install an event filter for stock events
if (isWidget) {
qt.object->installEventFilter(this);
- const QList<QWidget*> children = qt.object->findChildren<QWidget*>();
- QList<QWidget*>::ConstIterator it = children.constBegin();
- while (it != children.constEnd()) {
- (*it)->installEventFilter(this);
- ++it;
- }
+ const QWidgetList children = qt.object->findChildren<QWidget*>();
+ foreach (QWidget *child, children)
+ child->installEventFilter(this);
}
return true;
}
diff --git a/src/activeqt/control/qaxservermain.cpp b/src/activeqt/control/qaxservermain.cpp
index 7f24313..15332c9 100644
--- a/src/activeqt/control/qaxservermain.cpp
+++ b/src/activeqt/control/qaxservermain.cpp
@@ -128,17 +128,18 @@ bool qax_startServer(QAxFactory::ServerType type)
return true;
const QStringList keys = qAxFactory()->featureList();
- if (!keys.count())
+ const int keyCount = keys.count();
+ if (!keyCount)
return false;
if (!qAxFactory()->isService())
StartMonitor();
- classRegistration = new DWORD[keys.count()];
+ classRegistration = new DWORD[keyCount];
int object = 0;
- for (QStringList::ConstIterator key = keys.begin(); key != keys.end(); ++key, ++object) {
+ for (object = 0; object < keyCount; ++object) {
IUnknown* p = 0;
- CLSID clsid = qAxFactory()->classID(*key);
+ CLSID clsid = qAxFactory()->classID(keys.at(object));
// Create a QClassFactory (implemented in qaxserverbase.cpp)
HRESULT hRes = GetClassObject(clsid, IID_IClassFactory, (void**)&p);
@@ -164,9 +165,8 @@ bool qax_stopServer()
qAxIsServer = false;
- const QStringList keys = qAxFactory()->featureList();
- int object = 0;
- for (QStringList::ConstIterator key = keys.begin(); key != keys.end(); ++key, ++object)
+ const int keyCount = qAxFactory()->featureList().size();
+ for (int object = 0; object < keyCount; ++object)
CoRevokeClassObject(classRegistration[object]);
delete []classRegistration;
diff --git a/src/activeqt/shared/qaxtypes.cpp b/src/activeqt/shared/qaxtypes.cpp
index 1697686..6eba133 100644
--- a/src/activeqt/shared/qaxtypes.cpp
+++ b/src/activeqt/shared/qaxtypes.cpp
@@ -1246,9 +1246,8 @@ QVariant VARIANTToQVariant(const VARIANT &arg, const QByteArray &typeName, uint
} else if (proptype == QVariant::StringList && var.type() == QVariant::List) {
bool allStrings = true;
QStringList strings;
- const QList<QVariant> list(var.toList());
- for (QList<QVariant>::ConstIterator it(list.begin()); it != list.end(); ++it) {
- QVariant variant = *it;
+ const QVariantList list(var.toList());
+ foreach (const QVariant &variant, list) {
if (variant.canConvert(QVariant::String))
strings << variant.toString();
else