aboutsummaryrefslogtreecommitdiffstats
path: root/PySide/QtCore/qvariant_conversions.h
diff options
context:
space:
mode:
Diffstat (limited to 'PySide/QtCore/qvariant_conversions.h')
-rw-r--r--PySide/QtCore/qvariant_conversions.h31
1 files changed, 6 insertions, 25 deletions
diff --git a/PySide/QtCore/qvariant_conversions.h b/PySide/QtCore/qvariant_conversions.h
index cd2ab8da0..f0f78a077 100644
--- a/PySide/QtCore/qvariant_conversions.h
+++ b/PySide/QtCore/qvariant_conversions.h
@@ -1,33 +1,14 @@
// We use this thin wrapper instead of the plain PyObject pointer to avoid conflicts with specializations of T*
// in QVariant.
-struct PyObjectHolder
+struct PyQt_PyObject
{
PyObject* m_me;
- PyObjectHolder(PyObject* me) : m_me(me) {}
- PyObjectHolder() : m_me(Py_None) {}
+ PyQt_PyObject(PyObject* me) : m_me(me) {}
+ PyQt_PyObject() : m_me(Py_None) {}
operator PyObject*() { return m_me; }
};
-/**
- * Q_DECLARE_METATYPE(PyObjectHolder);
- * Use the expanded version of Q_DECLARE_METATYPE macro to define a typename
- * compatible with PyQt4
- **/
-QT_BEGIN_NAMESPACE
-template <>
-struct QMetaTypeId< PyObjectHolder >
-{
- enum { Defined = 1 };
- static int qt_metatype_id()
- {
- static QBasicAtomicInt metatype_id = Q_BASIC_ATOMIC_INITIALIZER(0);
- if (!metatype_id)
- metatype_id =
- qRegisterMetaType<PyObjectHolder>("PyQt_PyObject");
- return metatype_id;
- }
-};
-QT_END_NAMESPACE
+Q_DECLARE_METATYPE(PyQt_PyObject)
namespace Shiboken {
@@ -64,7 +45,7 @@ inline QVariant Converter<QVariant>::toCpp(PyObject* pyObj)
} else if (!Shiboken::isShibokenType(pyObj) || Shiboken::isUserType(pyObj)) {
// QVariant(User class)
Py_INCREF(pyObj);
- return QVariant::fromValue<PyObjectHolder>(pyObj);
+ return QVariant::fromValue<PyQt_PyObject>(pyObj);
} else {
// a class supported by QVariant?
const char* typeName = pyObj->ob_type->tp_name;
@@ -88,7 +69,7 @@ inline QVariant Converter<QVariant>::toCpp(PyObject* pyObj)
}
// Is a shiboken type not known by Qt
Py_INCREF(pyObj);
- return QVariant::fromValue<PyObjectHolder>(pyObj);
+ return QVariant::fromValue<PyQt_PyObject>(pyObj);
}
}