diff -r b72c6db6890b -r 5dc02b23752f src/tools/moc/moc.h --- a/src/tools/moc/moc.h Wed Jun 23 19:07:03 2010 +0300 +++ b/src/tools/moc/moc.h Tue Jul 06 15:10:48 2010 +0300 @@ -55,7 +55,7 @@ struct Type { - enum ReferenceType { NoReference, Reference, Pointer }; + enum ReferenceType { NoReference, Reference, RValueReference, Pointer }; inline Type() : isVolatile(false), isScoped(false), firstToken(NOTOKEN), referenceType(NoReference) {} inline explicit Type(const QByteArray &_name) : name(_name), isVolatile(false), isScoped(false), firstToken(NOTOKEN), referenceType(NoReference) {} @@ -242,8 +242,11 @@ inline QByteArray noRef(const QByteArray &type) { - if (type.endsWith('&')) + if (type.endsWith('&')) { + if (type.endsWith("&&")) + return type.left(type.length()-2); return type.left(type.length()-1); + } return type; }