From e6420ab03d2d13bbe2ff6d6cff52991e3fe1a243 Mon Sep 17 00:00:00 2001
From: Friedemann Kleint <Friedemann.Kleint@digia.com>
Date: Fri, 18 Jan 2013 12:04:54 +0100
Subject: [PATCH] Fix compiler warnings of MinGW in Active Qt.

- Assigned/unused values
- Unused code
- Constructor order
- Comparing different enumeration types

Change-Id: I2cc0db554ed87296689303bbbb1978afa2c532b9
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
---
 src/activeqt/container/qaxbase.cpp     |  2 +-
 src/activeqt/control/qaxserverbase.cpp | 81 +++-----------------------
 src/activeqt/shared/qaxtypes.cpp       |  4 +-
 3 files changed, 11 insertions(+), 76 deletions(-)

diff --git a/src/activeqt/container/qaxbase.cpp b/src/activeqt/container/qaxbase.cpp
index 52f01695..c64342bc 100644
--- a/src/activeqt/container/qaxbase.cpp
+++ b/src/activeqt/container/qaxbase.cpp
@@ -3682,7 +3682,7 @@ int QAxBase::internalInvoke(QMetaObject::Call call, int index, void **v)
         QByteArray type = d->metaobj->paramType(signature, p, &out);
         QVariant::Type vt = QVariant::nameToType(type);
         QVariant qvar;
-        if (vt != QVariant::UserType && vt != QMetaType::QVariant)
+        if (vt != QVariant::UserType && vt != int(QMetaType::QVariant))
             qvar = QVariant(vt, v[p + 1]);
 
         if (!qvar.isValid()) {
diff --git a/src/activeqt/control/qaxserverbase.cpp b/src/activeqt/control/qaxserverbase.cpp
index 73a7679d..c26c7ff2 100644
--- a/src/activeqt/control/qaxserverbase.cpp
+++ b/src/activeqt/control/qaxserverbase.cpp
@@ -1008,9 +1008,13 @@ QAxServerBase::QAxServerBase(const QString &classname, IUnknown *outerUnknown)
     Constructs a QAxServerBase object wrapping \a o.
 */
 QAxServerBase::QAxServerBase(QObject *o)
-: aggregatedObject(0), ref(0), ole_ref(0),
-  m_hWnd(0), hmenuShared(0), hwndMenuOwner(0),
-  m_outerUnknown(0)
+    : aggregatedObject(0)
+    , m_hWnd(0)
+    , hmenuShared(0)
+    , hwndMenuOwner(0)
+    , ref(0)
+    , ole_ref(0)
+    , m_outerUnknown(0)
 {
     init();
 
@@ -1832,76 +1836,6 @@ void QAxServerBase::updateMask()
     DeleteObject(hrgn);
 }
 
-static bool checkHRESULT(HRESULT hres)
-{
-    const char *name = 0;
-    Q_UNUSED(name);
-    switch(hres) {
-    case S_OK:
-	return true;
-    case DISP_E_BADPARAMCOUNT:
-#if defined(QT_CHECK_STATE)
-	qWarning("QAxBase: Error calling IDispatch member %s: Bad parameter count", name);
-#endif
-	return false;
-    case DISP_E_BADVARTYPE:
-#if defined(QT_CHECK_STATE)
-	qWarning("QAxBase: Error calling IDispatch member %s: Bad variant type", name);
-#endif
-	return false;
-    case DISP_E_EXCEPTION:
-#if defined(QT_CHECK_STATE)
-	    qWarning("QAxBase: Error calling IDispatch member %s: Exception thrown by server", name);
-#endif
-	return false;
-    case DISP_E_MEMBERNOTFOUND:
-#if defined(QT_CHECK_STATE)
-	qWarning("QAxBase: Error calling IDispatch member %s: Member not found", name);
-#endif
-	return false;
-    case DISP_E_NONAMEDARGS:
-#if defined(QT_CHECK_STATE)
-	qWarning("QAxBase: Error calling IDispatch member %s: No named arguments", name);
-#endif
-	return false;
-    case DISP_E_OVERFLOW:
-#if defined(QT_CHECK_STATE)
-	qWarning("QAxBase: Error calling IDispatch member %s: Overflow", name);
-#endif
-	return false;
-    case DISP_E_PARAMNOTFOUND:
-#if defined(QT_CHECK_STATE)
-	qWarning("QAxBase: Error calling IDispatch member %s: Parameter not found", name);
-#endif
-	return false;
-    case DISP_E_TYPEMISMATCH:
-#if defined(QT_CHECK_STATE)
-	qWarning("QAxBase: Error calling IDispatch member %s: Type mismatch", name);
-#endif
-	return false;
-    case DISP_E_UNKNOWNINTERFACE:
-#if defined(QT_CHECK_STATE)
-	qWarning("QAxBase: Error calling IDispatch member %s: Unknown interface", name);
-#endif
-	return false;
-    case DISP_E_UNKNOWNLCID:
-#if defined(QT_CHECK_STATE)
-	qWarning("QAxBase: Error calling IDispatch member %s: Unknown locale ID", name);
-#endif
-	return false;
-    case DISP_E_PARAMNOTOPTIONAL:
-#if defined(QT_CHECK_STATE)
-	qWarning("QAxBase: Error calling IDispatch member %s: Non-optional parameter missing", name);
-#endif
-	return false;
-    default:
-#if defined(QT_CHECK_STATE)
-	qWarning("QAxBase: Error calling IDispatch member %s: Unknown error", name);
-#endif
-	return false;
-    }
-}
-
 static inline QByteArray paramType(const QByteArray &ptype, bool *out)
 {
     *out = ptype.endsWith('&') || ptype.endsWith("**");
@@ -2974,6 +2908,7 @@ HRESULT WINAPI QAxServerBase::Load(IPropertyBag *bag, IErrorLog * /*log*/)
 
     updateGeometry();
 
+    Q_UNUSED(error)
     return /*error ? E_FAIL :*/ S_OK;
 }
 
diff --git a/src/activeqt/shared/qaxtypes.cpp b/src/activeqt/shared/qaxtypes.cpp
index 1d72abcc..88dba738 100644
--- a/src/activeqt/shared/qaxtypes.cpp
+++ b/src/activeqt/shared/qaxtypes.cpp
@@ -243,7 +243,7 @@ bool QVariantToVARIANT(const QVariant &var, VARIANT &arg, const QByteArray &type
     QVariant qvar = var;
     // "type" is the expected type, so coerce if necessary
     QVariant::Type proptype = typeName.isEmpty() ? QVariant::Invalid : QVariant::nameToType(typeName);
-    if ((proptype == QVariant::UserType || proptype == QMetaType::QVariant) && !typeName.isEmpty()) {
+    if ((proptype == QVariant::UserType || proptype == int(QMetaType::QVariant)) && !typeName.isEmpty()) {
         if (typeName == "short" || typeName == "char")
             proptype = QVariant::Int;
         else if (typeName == "float")
@@ -251,7 +251,7 @@ bool QVariantToVARIANT(const QVariant &var, VARIANT &arg, const QByteArray &type
     }
     if (proptype != QVariant::Invalid
         && proptype != QVariant::UserType
-        && proptype != QMetaType::QVariant
+        && proptype != int(QMetaType::QVariant)
         && proptype != qvar.type()) {
         if (qvar.canConvert(proptype))
             qvar.convert(proptype);
-- 
GitLab