summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorThiago Macieira <thiago.macieira@nokia.com>2009-03-27 20:50:41 (GMT)
committerThiago Macieira <thiago.macieira@nokia.com>2009-03-27 20:55:30 (GMT)
commitff30a91eedd30c0e2e0b62ad50ade3d7d27651a8 (patch)
tree3a54cbbe2243407abe9f58e3d7f203cda83239f6
parenta4e8538e396efccf3f8193c7a5ba751d961f206d (diff)
downloadQt-ff30a91eedd30c0e2e0b62ad50ade3d7d27651a8.zip
Qt-ff30a91eedd30c0e2e0b62ad50ade3d7d27651a8.tar.gz
Qt-ff30a91eedd30c0e2e0b62ad50ade3d7d27651a8.tar.bz2
Add the parameter to the function call.
Apparently we have a problem with these default parameters. We have basically: template<typename T> void func(T * = 0); template<> void func<Something>(Something *); Now, according to GCC, I can't add "= 0" to the template specialisation. However, MSVC 2008 isn't able to call the specialisation without my extra 0 here. I've seen a similar issue before in QSharedPointer. I don't think this is a big deal because the error message output by MSVC 2008 indicates this is likely a compiler bug: qdbuspendingreply.h(98) : error C2440: 'default argument': cannot convert from 'T1 *' to 'QVariant *' where [ T1=QVariant ]
-rw-r--r--src/dbus/qdbuspendingreply.h4
1 files changed, 2 insertions, 2 deletions
diff --git a/src/dbus/qdbuspendingreply.h b/src/dbus/qdbuspendingreply.h
index 3880a7f..5ec9800 100644
--- a/src/dbus/qdbuspendingreply.h
+++ b/src/dbus/qdbuspendingreply.h
@@ -95,7 +95,7 @@ namespace QDBusPendingReplyTypes {
enum { Total = Next::Total + 1 };
static inline void fillMetaTypes(int *p)
{
- *p = metaTypeFor<T1>();
+ *p = metaTypeFor<T1>(0);
Next::fillMetaTypes(++p);
}
};
@@ -171,7 +171,7 @@ public:
Q_ASSERT_X(Index < count() && Index >= 0, "QDBusPendingReply::argumentAt",
"Index out of bounds");
typedef typename Select<Index>::Type ResultType;
- return qdbus_cast<ResultType>(argumentAt(Index));
+ return qdbus_cast<ResultType>(argumentAt(Index), 0);
}
inline typename Select<0>::Type value() const