Rename conflicting symbol QVariantToVARIANT

It appears this method has been copied from ActiveQt. When building
Qt statically, linking Windows platform plugin into any application
that also uses ActiveQt will cause error about duplicate symbol.

Renamed QVariantToVARIANT to QVariant2VARIANT to avoid conflicts.
Renaming is done here rather than ActiveQt, as that symbol is in
exported header in ActiveQt.

Task-number: QTBUG-28645
Change-Id: Id0d7fc51d4455b463515e7c6178798ad61217c35
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
Reviewed-by: Jan Arve Sæther <jan-arve.saether@digia.com>
bb10
Miikka Heikkinen 2012-12-17 11:43:10 +02:00 committed by The Qt Project
parent 3e94e8daf3
commit 826c4f60b6
3 changed files with 15 additions and 14 deletions

View File

@ -88,7 +88,7 @@ inline uint QColorToOLEColor(const QColor &col)
return qRgba(col.blue(), col.green(), col.red(), 0x00);
}
bool QVariantToVARIANT(const QVariant &var, VARIANT &arg, const QByteArray &typeName, bool out)
bool QVariant2VARIANT(const QVariant &var, VARIANT &arg, const QByteArray &typeName, bool out)
{
QVariant qvar = var;
// "type" is the expected type, so coerce if necessary
@ -107,12 +107,12 @@ bool QVariantToVARIANT(const QVariant &var, VARIANT &arg, const QByteArray &type
}
if (out && arg.vt == (VT_VARIANT|VT_BYREF) && arg.pvarVal) {
return QVariantToVARIANT(var, *arg.pvarVal, typeName, false);
return QVariant2VARIANT(var, *arg.pvarVal, typeName, false);
}
if (out && proptype == QVariant::UserType && typeName == "QVariant") {
VARIANT *pVariant = new VARIANT;
QVariantToVARIANT(var, *pVariant, QByteArray(), false);
QVariant2VARIANT(var, *pVariant, QByteArray(), false);
arg.vt = VT_VARIANT|VT_BYREF;
arg.pvarVal = pVariant;
return true;
@ -409,7 +409,7 @@ bool QVariantToVARIANT(const QVariant &var, VARIANT &arg, const QByteArray &type
for (LONG j = 0; j < columnCount; ++j) {
QVariant elem = columns.at(j);
VariantInit(&variant);
QVariantToVARIANT(elem, variant, elem.typeName());
QVariant2VARIANT(elem, variant, elem.typeName());
rgIndices[1] = j;
SafeArrayPutElement(array, rgIndices, pElement);
clearVARIANT(&variant);
@ -425,7 +425,7 @@ bool QVariantToVARIANT(const QVariant &var, VARIANT &arg, const QByteArray &type
if (listType != QVariant::LastType)
elem.convert(listType);
VariantInit(&variant);
QVariantToVARIANT(elem, variant, elem.typeName());
QVariant2VARIANT(elem, variant, elem.typeName());
SafeArrayPutElement(array, &index, pElement);
clearVARIANT(&variant);
}
@ -555,7 +555,7 @@ bool QVariantToVARIANT(const QVariant &var, VARIANT &arg, const QByteArray &type
arg.pRecInfo = recordInfo,
arg.pvRecord = record;
if (out) {
qWarning("QVariantToVARIANT: out-parameter not supported for records");
qWarning("QVariant2VARIANT: out-parameter not supported for records");
return false;
}
}
@ -574,7 +574,7 @@ bool QVariantToVARIANT(const QVariant &var, VARIANT &arg, const QByteArray &type
if (arg.pdispVal)
arg.pdispVal->AddRef();
if (out) {
qWarning("QVariantToVARIANT: out-parameter not supported for IDispatch");
qWarning("QVariant2VARIANT: out-parameter not supported for IDispatch");
return false;
}
} else if (!qstrcmp(qvar.typeName(), "IDispatch**")) {
@ -588,7 +588,7 @@ bool QVariantToVARIANT(const QVariant &var, VARIANT &arg, const QByteArray &type
if (arg.punkVal)
arg.punkVal->AddRef();
if (out) {
qWarning("QVariantToVARIANT: out-parameter not supported for IUnknown");
qWarning("QVariant2VARIANT: out-parameter not supported for IUnknown");
return false;
}
#ifdef QAX_SERVER
@ -602,7 +602,7 @@ bool QVariantToVARIANT(const QVariant &var, VARIANT &arg, const QByteArray &type
qAxFactory()->createObjectWrapper(static_cast<QObject*>(user), &arg.pdispVal);
}
if (out) {
qWarning("QVariantToVARIANT: out-parameter not supported for subtype");
qWarning("QVariant2VARIANT: out-parameter not supported for subtype");
return false;
}
#else
@ -612,7 +612,7 @@ bool QVariantToVARIANT(const QVariant &var, VARIANT &arg, const QByteArray &type
arg.vt = VT_DISPATCH;
object->queryInterface(IID_IDispatch, (void**)&arg.pdispVal);
if (out) {
qWarning("QVariantToVARIANT: out-parameter not supported for subtype");
qWarning("QVariant2VARIANT: out-parameter not supported for subtype");
return false;
}
#endif

View File

@ -52,7 +52,8 @@ QT_BEGIN_NAMESPACE
class QVariant;
bool QVariantToVARIANT(const QVariant &var, VARIANT &arg, const QByteArray &typeName, bool out);
// Originally QVariantToVARIANT copied from ActiveQt - renamed to avoid conflicts in static builds.
bool QVariant2VARIANT(const QVariant &var, VARIANT &arg, const QByteArray &typeName, bool out);
inline QString BSTRToQString(const BSTR &bstr)
{

View File

@ -1425,7 +1425,7 @@ HRESULT STDMETHODCALLTYPE QWindowsIA2Accessible::get_currentValue(VARIANT *curre
return E_FAIL;
if (QAccessibleValueInterface *valueIface = valueInterface()) {
const QVariant var = valueIface->currentValue();
if (QVariantToVARIANT(var, *currentValue, QByteArray(), false))
if (QVariant2VARIANT(var, *currentValue, QByteArray(), false))
return S_OK;
}
@ -1456,7 +1456,7 @@ HRESULT STDMETHODCALLTYPE QWindowsIA2Accessible::get_maximumValue(VARIANT *maxim
return E_FAIL;
if (QAccessibleValueInterface *valueIface = valueInterface()) {
const QVariant var = valueIface->maximumValue();
if (QVariantToVARIANT(var, *maximumValue, QByteArray(), false))
if (QVariant2VARIANT(var, *maximumValue, QByteArray(), false))
return S_OK;
}
maximumValue->vt = VT_EMPTY;
@ -1470,7 +1470,7 @@ HRESULT STDMETHODCALLTYPE QWindowsIA2Accessible::get_minimumValue(VARIANT *minim
return E_FAIL;
if (QAccessibleValueInterface *valueIface = valueInterface()) {
const QVariant var = valueIface->minimumValue();
if (QVariantToVARIANT(var, *minimumValue, QByteArray(), false))
if (QVariant2VARIANT(var, *minimumValue, QByteArray(), false))
return S_OK;
}
minimumValue->vt = VT_EMPTY;