Guest User

Untitled

a guest
Jan 19th, 2018
514
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Diff 24.59 KB | None | 0 0
  1. From 31f66d946199cee322a8fc801f961edcc8d12c85 Mon Sep 17 00:00:00 2001
  2. From: Kent Hansen <kent.hansen@nokia.com>
  3. Date: Wed, 12 Oct 2011 14:27:57 +0200
  4. Subject: [PATCH] Get rid of QDeclarativeMetaType::{canCopy,copy}
  5.  
  6. Now that we have QMetaType::construct() that does
  7. placement new construction, we can use that to copy
  8. the value.
  9.  
  10. We need to destruct the (default-constructed) existing
  11. value first, but for primitive types that's a no-op, and
  12. for Qt's types it's cheap since they use lazy
  13. initialization or "shared null".
  14.  
  15. Change-Id: Idadee04b1d5b590be7fec50fb0396fd277bee973
  16. ---
  17. src/declarative/qml/qdeclarativeboundsignal.cpp |   19 +-
  18.  src/declarative/qml/qdeclarativemetatype.cpp    |  541 -----------------------
  19.  src/declarative/qml/qdeclarativemetatype_p.h    |    3 -
  20.  3 files changed, 5 insertions(+), 558 deletions(-)
  21.  
  22. diff --git a/src/declarative/qml/qdeclarativeboundsignal.cpp b/src/declarative/qml/qdeclarativeboundsignal.cpp
  23. index 6bbbb24..541419b 100644
  24. --- a/src/declarative/qml/qdeclarativeboundsignal.cpp
  25. +++ b/src/declarative/qml/qdeclarativeboundsignal.cpp
  26. @@ -252,15 +252,9 @@ QDeclarativeBoundSignalParameters::QDeclarativeBoundSignalParameters(const QMeta
  27.                      }
  28.                  }
  29.              }
  30. -            if (QDeclarativeMetaType::canCopy(t)) {
  31. -                types[ii] = t;
  32. -                QMetaPropertyBuilder prop = mob.addProperty(name, propType);
  33. -                prop.setWritable(false);
  34. -            } else {
  35. -                types[ii] = 0x80000000 | t;
  36. -                QMetaPropertyBuilder prop = mob.addProperty(name, "QVariant");
  37. -                prop.setWritable(false);
  38. -            }
  39. +            types[ii] = t;
  40. +            QMetaPropertyBuilder prop = mob.addProperty(name, propType);
  41. +            prop.setWritable(false);
  42.          }
  43.      }
  44.      myMetaObject = mob.toMetaObject();
  45. @@ -291,11 +285,8 @@ int QDeclarativeBoundSignalParameters::metaCall(QMetaObject::Call c, int id, voi
  46.          return -1;
  47.  
  48.      if (c == QMetaObject::ReadProperty && id >= 1) {
  49. -        if (types[id - 1] & 0x80000000) {
  50. -            *((QVariant *)a[0]) = QVariant(types[id - 1] & 0x7FFFFFFF, values[id]);
  51. -        } else {
  52. -            QDeclarativeMetaType::copy(types[id - 1], a[0], values[id]);
  53. -        }
  54. +        QMetaType::destruct(types[id - 1], a[0]);
  55. +        QMetaType::construct(types[id - 1], a[0], values[id]);
  56.          return -1;
  57.      } else {
  58.          return qt_metacall(c, id, a);
  59. diff --git a/src/declarative/qml/qdeclarativemetatype.cpp b/src/declarative/qml/qdeclarativemetatype.cpp
  60. index 5577993..ad7e047 100644
  61. --- a/src/declarative/qml/qdeclarativemetatype.cpp
  62. +++ b/src/declarative/qml/qdeclarativemetatype.cpp
  63. @@ -1339,544 +1339,3 @@ QList<QDeclarativeType*> QDeclarativeMetaType::qmlTypes()
  64.  }
  65.  
  66.  QT_END_NAMESPACE
  67. -
  68. -#include <QtGui/qfont.h>
  69. -#include <QtGui/qpixmap.h>
  70. -#include <QtGui/qbrush.h>
  71. -#include <QtGui/qcolor.h>
  72. -#include <QtGui/qpalette.h>
  73. -#include <QtGui/qimage.h>
  74. -#include <QtGui/qpolygon.h>
  75. -#include <QtGui/qregion.h>
  76. -#include <QtGui/qbitmap.h>
  77. -#include <QtGui/qcursor.h>
  78. -#include <QtGui/qkeysequence.h>
  79. -#include <QtGui/qpen.h>
  80. -
  81. -//#include <QtGui/qtextlength.h>
  82. -#include <QtGui/qtextformat.h>
  83. -#include <QtGui/qmatrix.h>
  84. -#include <QtGui/qtransform.h>
  85. -#include <QtGui/qmatrix4x4.h>
  86. -#include <QtGui/qvector2d.h>
  87. -#include <QtGui/qvector3d.h>
  88. -#include <QtGui/qvector4d.h>
  89. -#include <QtGui/qquaternion.h>
  90. -#include <private/qv8engine_p.h>
  91. -
  92. -Q_DECLARE_METATYPE(QJSValue);
  93. -Q_DECLARE_METATYPE(QDeclarativeV8Handle);
  94. -
  95. -QT_BEGIN_NAMESPACE
  96. -
  97. -bool QDeclarativeMetaType::canCopy(int type)
  98. -{
  99. -    switch(type) {
  100. -    case QMetaType::VoidStar:
  101. -    case QMetaType::QObjectStar:
  102. -    case QMetaType::QWidgetStar:
  103. -    case QMetaType::Long:
  104. -    case QMetaType::Int:
  105. -    case QMetaType::Short:
  106. -    case QMetaType::Char:
  107. -    case QMetaType::ULong:
  108. -    case QMetaType::UInt:
  109. -    case QMetaType::LongLong:
  110. -    case QMetaType::ULongLong:
  111. -    case QMetaType::UShort:
  112. -    case QMetaType::UChar:
  113. -    case QMetaType::Bool:
  114. -    case QMetaType::Float:
  115. -    case QMetaType::Double:
  116. -    case QMetaType::QChar:
  117. -    case QMetaType::QVariantMap:
  118. -    case QMetaType::QVariantHash:
  119. -    case QMetaType::QVariantList:
  120. -    case QMetaType::QByteArray:
  121. -    case QMetaType::QString:
  122. -    case QMetaType::QStringList:
  123. -    case QMetaType::QBitArray:
  124. -    case QMetaType::QDate:
  125. -    case QMetaType::QTime:
  126. -    case QMetaType::QDateTime:
  127. -    case QMetaType::QUrl:
  128. -    case QMetaType::QLocale:
  129. -    case QMetaType::QRect:
  130. -    case QMetaType::QRectF:
  131. -    case QMetaType::QSize:
  132. -    case QMetaType::QSizeF:
  133. -    case QMetaType::QLine:
  134. -    case QMetaType::QLineF:
  135. -    case QMetaType::QPoint:
  136. -    case QMetaType::QPointF:
  137. -    case QMetaType::QVector3D:
  138. -#ifndef QT_NO_REGEXP
  139. -    case QMetaType::QRegExp:
  140. -#endif
  141. -    case QMetaType::Void:
  142. -#ifdef QT3_SUPPORT
  143. -    case QMetaType::QColorGroup:
  144. -#endif
  145. -    case QMetaType::QFont:
  146. -    case QMetaType::QPixmap:
  147. -    case QMetaType::QBrush:
  148. -    case QMetaType::QColor:
  149. -    case QMetaType::QPalette:
  150. -    case QMetaType::QImage:
  151. -    case QMetaType::QPolygon:
  152. -    case QMetaType::QRegion:
  153. -    case QMetaType::QBitmap:
  154. -#ifndef QT_NO_CURSOR
  155. -    case QMetaType::QCursor:
  156. -#endif
  157. -    case QMetaType::QKeySequence:
  158. -    case QMetaType::QPen:
  159. -    case QMetaType::QTextLength:
  160. -    case QMetaType::QTextFormat:
  161. -    case QMetaType::QMatrix:
  162. -    case QMetaType::QTransform:
  163. -    case QMetaType::QMatrix4x4:
  164. -    case QMetaType::QVector2D:
  165. -    case QMetaType::QVector4D:
  166. -    case QMetaType::QQuaternion:
  167. -        return true;
  168. -
  169. -    default:
  170. -        if (type == qMetaTypeId<QVariant>() ||
  171. -            type == qMetaTypeId<QJSValue>() ||
  172. -            type == qMetaTypeId<QDeclarativeV8Handle>() ||
  173. -            typeCategory(type) != Unknown) {
  174. -            return true;
  175. -        }
  176. -        break;
  177. -    }
  178. -
  179. -    return false;
  180. -}
  181. -
  182. -/*!
  183. -    Copies \a copy into \a data, assuming they both are of type \a type.  If
  184. -    \a copy is zero, a default type is copied.  Returns true if the copy was
  185. -    successful and false if not.
  186. -
  187. -    \note This should move into QMetaType once complete
  188. -
  189. -*/
  190. -bool QDeclarativeMetaType::copy(int type, void *data, const void *copy)
  191. -{
  192. -    if (copy) {
  193. -        switch(type) {
  194. -        case QMetaType::VoidStar:
  195. -        case QMetaType::QObjectStar:
  196. -        case QMetaType::QWidgetStar:
  197. -            *static_cast<void **>(data) = *static_cast<void* const *>(copy);
  198. -            return true;
  199. -        case QMetaType::Long:
  200. -            *static_cast<long *>(data) = *static_cast<const long*>(copy);
  201. -            return true;
  202. -        case QMetaType::Int:
  203. -            *static_cast<int *>(data) = *static_cast<const int*>(copy);
  204. -            return true;
  205. -        case QMetaType::Short:
  206. -            *static_cast<short *>(data) = *static_cast<const short*>(copy);
  207. -            return true;
  208. -        case QMetaType::Char:
  209. -            *static_cast<char *>(data) = *static_cast<const char*>(copy);
  210. -            return true;
  211. -        case QMetaType::ULong:
  212. -            *static_cast<ulong *>(data) = *static_cast<const ulong*>(copy);
  213. -            return true;
  214. -        case QMetaType::UInt:
  215. -            *static_cast<uint *>(data) = *static_cast<const uint*>(copy);
  216. -            return true;
  217. -        case QMetaType::LongLong:
  218. -            *static_cast<qlonglong *>(data) = *static_cast<const qlonglong*>(copy);
  219. -            return true;
  220. -        case QMetaType::ULongLong:
  221. -            *static_cast<qulonglong *>(data) = *static_cast<const qulonglong*>(copy);
  222. -            return true;
  223. -        case QMetaType::UShort:
  224. -            *static_cast<ushort *>(data) = *static_cast<const ushort*>(copy);
  225. -            return true;
  226. -        case QMetaType::UChar:
  227. -            *static_cast<uchar *>(data) = *static_cast<const uchar*>(copy);
  228. -            return true;
  229. -        case QMetaType::Bool:
  230. -            *static_cast<bool *>(data) = *static_cast<const bool*>(copy);
  231. -            return true;
  232. -        case QMetaType::Float:
  233. -            *static_cast<float *>(data) = *static_cast<const float*>(copy);
  234. -            return true;
  235. -        case QMetaType::Double:
  236. -            *static_cast<double *>(data) = *static_cast<const double*>(copy);
  237. -            return true;
  238. -        case QMetaType::QChar:
  239. -            *static_cast<NS(QChar) *>(data) = *static_cast<const NS(QChar)*>(copy);
  240. -            return true;
  241. -        case QMetaType::QVariantMap:
  242. -            *static_cast<NS(QVariantMap) *>(data) = *static_cast<const NS(QVariantMap)*>(copy);
  243. -            return true;
  244. -        case QMetaType::QVariantHash:
  245. -            *static_cast<NS(QVariantHash) *>(data) = *static_cast<const NS(QVariantHash)*>(copy);
  246. -            return true;
  247. -        case QMetaType::QVariantList:
  248. -            *static_cast<NS(QVariantList) *>(data) = *static_cast<const NS(QVariantList)*>(copy);
  249. -            return true;
  250. -        case QMetaType::QByteArray:
  251. -            *static_cast<NS(QByteArray) *>(data) = *static_cast<const NS(QByteArray)*>(copy);
  252. -            return true;
  253. -        case QMetaType::QString:
  254. -            *static_cast<NS(QString) *>(data) = *static_cast<const NS(QString)*>(copy);
  255. -            return true;
  256. -        case QMetaType::QStringList:
  257. -            *static_cast<NS(QStringList) *>(data) = *static_cast<const NS(QStringList)*>(copy);
  258. -            return true;
  259. -        case QMetaType::QBitArray:
  260. -            *static_cast<NS(QBitArray) *>(data) = *static_cast<const NS(QBitArray)*>(copy);
  261. -            return true;
  262. -        case QMetaType::QDate:
  263. -            *static_cast<NS(QDate) *>(data) = *static_cast<const NS(QDate)*>(copy);
  264. -            return true;
  265. -        case QMetaType::QTime:
  266. -            *static_cast<NS(QTime) *>(data) = *static_cast<const NS(QTime)*>(copy);
  267. -            return true;
  268. -        case QMetaType::QDateTime:
  269. -            *static_cast<NS(QDateTime) *>(data) = *static_cast<const NS(QDateTime)*>(copy);
  270. -            return true;
  271. -        case QMetaType::QUrl:
  272. -            *static_cast<NS(QUrl) *>(data) = *static_cast<const NS(QUrl)*>(copy);
  273. -            return true;
  274. -        case QMetaType::QLocale:
  275. -            *static_cast<NS(QLocale) *>(data) = *static_cast<const NS(QLocale)*>(copy);
  276. -            return true;
  277. -        case QMetaType::QRect:
  278. -            *static_cast<NS(QRect) *>(data) = *static_cast<const NS(QRect)*>(copy);
  279. -            return true;
  280. -        case QMetaType::QRectF:
  281. -            *static_cast<NS(QRectF) *>(data) = *static_cast<const NS(QRectF)*>(copy);
  282. -            return true;
  283. -        case QMetaType::QSize:
  284. -            *static_cast<NS(QSize) *>(data) = *static_cast<const NS(QSize)*>(copy);
  285. -            return true;
  286. -        case QMetaType::QSizeF:
  287. -            *static_cast<NS(QSizeF) *>(data) = *static_cast<const NS(QSizeF)*>(copy);
  288. -            return true;
  289. -        case QMetaType::QLine:
  290. -            *static_cast<NS(QLine) *>(data) = *static_cast<const NS(QLine)*>(copy);
  291. -            return true;
  292. -        case QMetaType::QLineF:
  293. -            *static_cast<NS(QLineF) *>(data) = *static_cast<const NS(QLineF)*>(copy);
  294. -            return true;
  295. -        case QMetaType::QPoint:
  296. -            *static_cast<NS(QPoint) *>(data) = *static_cast<const NS(QPoint)*>(copy);
  297. -            return true;
  298. -        case QMetaType::QPointF:
  299. -            *static_cast<NS(QPointF) *>(data) = *static_cast<const NS(QPointF)*>(copy);
  300. -            return true;
  301. -        case QMetaType::QVector3D:
  302. -            *static_cast<NS(QVector3D) *>(data) = *static_cast<const NS(QVector3D)*>(copy);
  303. -            return true;
  304. -#ifndef QT_NO_REGEXP
  305. -        case QMetaType::QRegExp:
  306. -            *static_cast<NS(QRegExp) *>(data) = *static_cast<const NS(QRegExp)*>(copy);
  307. -            return true;
  308. -#endif
  309. -        case QMetaType::Void:
  310. -            return true;
  311. -
  312. -
  313. -#ifdef QT3_SUPPORT
  314. -        case QMetaType::QColorGroup:
  315. -            *static_cast<NS(QColorGroup) *>(data) = *static_cast<const NS(QColorGroup)*>(copy);
  316. -            return true;
  317. -#endif
  318. -
  319. -        case QMetaType::QFont:
  320. -            *static_cast<NS(QFont) *>(data) = *static_cast<const NS(QFont)*>(copy);
  321. -            return true;
  322. -        case QMetaType::QPixmap:
  323. -            *static_cast<NS(QPixmap) *>(data) = *static_cast<const NS(QPixmap)*>(copy);
  324. -            return true;
  325. -        case QMetaType::QBrush:
  326. -            *static_cast<NS(QBrush) *>(data) = *static_cast<const NS(QBrush)*>(copy);
  327. -            return true;
  328. -        case QMetaType::QColor:
  329. -            *static_cast<NS(QColor) *>(data) = *static_cast<const NS(QColor)*>(copy);
  330. -            return true;
  331. -        case QMetaType::QPalette:
  332. -            *static_cast<NS(QPalette) *>(data) = *static_cast<const NS(QPalette)*>(copy);
  333. -            return true;
  334. -        case QMetaType::QImage:
  335. -            *static_cast<NS(QImage) *>(data) = *static_cast<const NS(QImage)*>(copy);
  336. -            return true;
  337. -        case QMetaType::QPolygon:
  338. -            *static_cast<NS(QPolygon) *>(data) = *static_cast<const NS(QPolygon)*>(copy);
  339. -            return true;
  340. -        case QMetaType::QRegion:
  341. -            *static_cast<NS(QRegion) *>(data) = *static_cast<const NS(QRegion)*>(copy);
  342. -            return true;
  343. -        case QMetaType::QBitmap:
  344. -            *static_cast<NS(QBitmap) *>(data) = *static_cast<const NS(QBitmap)*>(copy);
  345. -            return true;
  346. -#ifndef QT_NO_CURSOR
  347. -        case QMetaType::QCursor:
  348. -            *static_cast<NS(QCursor) *>(data) = *static_cast<const NS(QCursor)*>(copy);
  349. -            return true;
  350. -#endif
  351. -        case QMetaType::QKeySequence:
  352. -            *static_cast<NS(QKeySequence) *>(data) = *static_cast<const NS(QKeySequence)*>(copy);
  353. -            return true;
  354. -        case QMetaType::QPen:
  355. -            *static_cast<NS(QPen) *>(data) = *static_cast<const NS(QPen)*>(copy);
  356. -            return true;
  357. -        case QMetaType::QTextLength:
  358. -            *static_cast<NS(QTextLength) *>(data) = *static_cast<const NS(QTextLength)*>(copy);
  359. -            return true;
  360. -        case QMetaType::QTextFormat:
  361. -            *static_cast<NS(QTextFormat) *>(data) = *static_cast<const NS(QTextFormat)*>(copy);
  362. -            return true;
  363. -        case QMetaType::QMatrix:
  364. -            *static_cast<NS(QMatrix) *>(data) = *static_cast<const NS(QMatrix)*>(copy);
  365. -            return true;
  366. -        case QMetaType::QTransform:
  367. -            *static_cast<NS(QTransform) *>(data) = *static_cast<const NS(QTransform)*>(copy);
  368. -            return true;
  369. -        case QMetaType::QMatrix4x4:
  370. -            *static_cast<NS(QMatrix4x4) *>(data) = *static_cast<const NS(QMatrix4x4)*>(copy);
  371. -            return true;
  372. -        case QMetaType::QVector2D:
  373. -            *static_cast<NS(QVector2D) *>(data) = *static_cast<const NS(QVector2D)*>(copy);
  374. -            return true;
  375. -        case QMetaType::QVector4D:
  376. -            *static_cast<NS(QVector4D) *>(data) = *static_cast<const NS(QVector4D)*>(copy);
  377. -            return true;
  378. -        case QMetaType::QQuaternion:
  379. -            *static_cast<NS(QQuaternion) *>(data) = *static_cast<const NS(QQuaternion)*>(copy);
  380. -            return true;
  381. -
  382. -        default:
  383. -            if (type == qMetaTypeId<QVariant>()) {
  384. -                *static_cast<NS(QVariant) *>(data) = *static_cast<const NS(QVariant)*>(copy);
  385. -                return true;
  386. -            } else if (type == qMetaTypeId<QJSValue>()) {
  387. -                *static_cast<NS(QJSValue) *>(data) = *static_cast<const NS(QJSValue)*>(copy);
  388. -                return true;
  389. -            } else if (type == qMetaTypeId<QDeclarativeV8Handle>()) {
  390. -                *static_cast<NS(QDeclarativeV8Handle) *>(data) = *static_cast<const NS(QDeclarativeV8Handle)*>(copy);
  391. -                return true;
  392. -            } else if (typeCategory(type) != Unknown) {
  393. -                *static_cast<void **>(data) = *static_cast<void* const *>(copy);
  394. -                return true;
  395. -            }
  396. -            break;
  397. -        }
  398. -    } else {
  399. -        switch(type) {
  400. -        case QMetaType::VoidStar:
  401. -        case QMetaType::QObjectStar:
  402. -        case QMetaType::QWidgetStar:
  403. -            *static_cast<void **>(data) = 0;
  404. -            return true;
  405. -        case QMetaType::Long:
  406. -            *static_cast<long *>(data) = long(0);
  407. -            return true;
  408. -        case QMetaType::Int:
  409. -            *static_cast<int *>(data) = int(0);
  410. -            return true;
  411. -        case QMetaType::Short:
  412. -            *static_cast<short *>(data) = short(0);
  413. -            return true;
  414. -        case QMetaType::Char:
  415. -            *static_cast<char *>(data) = char(0);
  416. -            return true;
  417. -        case QMetaType::ULong:
  418. -            *static_cast<ulong *>(data) = ulong(0);
  419. -            return true;
  420. -        case QMetaType::UInt:
  421. -            *static_cast<uint *>(data) = uint(0);
  422. -            return true;
  423. -        case QMetaType::LongLong:
  424. -            *static_cast<qlonglong *>(data) = qlonglong(0);
  425. -            return true;
  426. -        case QMetaType::ULongLong:
  427. -            *static_cast<qulonglong *>(data) = qulonglong(0);
  428. -            return true;
  429. -        case QMetaType::UShort:
  430. -            *static_cast<ushort *>(data) = ushort(0);
  431. -            return true;
  432. -        case QMetaType::UChar:
  433. -            *static_cast<uchar *>(data) = uchar(0);
  434. -            return true;
  435. -        case QMetaType::Bool:
  436. -            *static_cast<bool *>(data) = bool(false);
  437. -            return true;
  438. -        case QMetaType::Float:
  439. -            *static_cast<float *>(data) = float(0);
  440. -            return true;
  441. -        case QMetaType::Double:
  442. -            *static_cast<double *>(data) = double(0);
  443. -            return true;
  444. -        case QMetaType::QChar:
  445. -            *static_cast<NS(QChar) *>(data) = NS(QChar)();
  446. -            return true;
  447. -        case QMetaType::QVariantMap:
  448. -            *static_cast<NS(QVariantMap) *>(data) = NS(QVariantMap)();
  449. -            return true;
  450. -        case QMetaType::QVariantHash:
  451. -            *static_cast<NS(QVariantHash) *>(data) = NS(QVariantHash)();
  452. -            return true;
  453. -        case QMetaType::QVariantList:
  454. -            *static_cast<NS(QVariantList) *>(data) = NS(QVariantList)();
  455. -            return true;
  456. -        case QMetaType::QByteArray:
  457. -            *static_cast<NS(QByteArray) *>(data) = NS(QByteArray)();
  458. -            return true;
  459. -        case QMetaType::QString:
  460. -            *static_cast<NS(QString) *>(data) = NS(QString)();
  461. -            return true;
  462. -        case QMetaType::QStringList:
  463. -            *static_cast<NS(QStringList) *>(data) = NS(QStringList)();
  464. -            return true;
  465. -        case QMetaType::QBitArray:
  466. -            *static_cast<NS(QBitArray) *>(data) = NS(QBitArray)();
  467. -            return true;
  468. -        case QMetaType::QDate:
  469. -            *static_cast<NS(QDate) *>(data) = NS(QDate)();
  470. -            return true;
  471. -        case QMetaType::QTime:
  472. -            *static_cast<NS(QTime) *>(data) = NS(QTime)();
  473. -            return true;
  474. -        case QMetaType::QDateTime:
  475. -            *static_cast<NS(QDateTime) *>(data) = NS(QDateTime)();
  476. -            return true;
  477. -        case QMetaType::QUrl:
  478. -            *static_cast<NS(QUrl) *>(data) = NS(QUrl)();
  479. -            return true;
  480. -        case QMetaType::QLocale:
  481. -            *static_cast<NS(QLocale) *>(data) = NS(QLocale)();
  482. -            return true;
  483. -        case QMetaType::QRect:
  484. -            *static_cast<NS(QRect) *>(data) = NS(QRect)();
  485. -            return true;
  486. -        case QMetaType::QRectF:
  487. -            *static_cast<NS(QRectF) *>(data) = NS(QRectF)();
  488. -            return true;
  489. -        case QMetaType::QSize:
  490. -            *static_cast<NS(QSize) *>(data) = NS(QSize)();
  491. -            return true;
  492. -        case QMetaType::QSizeF:
  493. -            *static_cast<NS(QSizeF) *>(data) = NS(QSizeF)();
  494. -            return true;
  495. -        case QMetaType::QLine:
  496. -            *static_cast<NS(QLine) *>(data) = NS(QLine)();
  497. -            return true;
  498. -        case QMetaType::QLineF:
  499. -            *static_cast<NS(QLineF) *>(data) = NS(QLineF)();
  500. -            return true;
  501. -        case QMetaType::QPoint:
  502. -            *static_cast<NS(QPoint) *>(data) = NS(QPoint)();
  503. -            return true;
  504. -        case QMetaType::QPointF:
  505. -            *static_cast<NS(QPointF) *>(data) = NS(QPointF)();
  506. -            return true;
  507. -        case QMetaType::QVector3D:
  508. -            *static_cast<NS(QVector3D) *>(data) = NS(QVector3D)();
  509. -            return true;
  510. -#ifndef QT_NO_REGEXP
  511. -        case QMetaType::QRegExp:
  512. -            *static_cast<NS(QRegExp) *>(data) = NS(QRegExp)();
  513. -            return true;
  514. -#endif
  515. -        case QMetaType::Void:
  516. -            return true;
  517. -
  518. -#ifdef QT3_SUPPORT
  519. -        case QMetaType::QColorGroup:
  520. -            *static_cast<NS(QColorGroup) *>(data) = NS(QColorGroup)();
  521. -            return true;
  522. -#endif
  523. -
  524. -        case QMetaType::QFont:
  525. -            *static_cast<NS(QFont) *>(data) = NS(QFont)();
  526. -            return true;
  527. -        case QMetaType::QPixmap:
  528. -            *static_cast<NS(QPixmap) *>(data) = NS(QPixmap)();
  529. -            return true;
  530. -        case QMetaType::QBrush:
  531. -            *static_cast<NS(QBrush) *>(data) = NS(QBrush)();
  532. -            return true;
  533. -        case QMetaType::QColor:
  534. -            *static_cast<NS(QColor) *>(data) = NS(QColor)();
  535. -            return true;
  536. -        case QMetaType::QPalette:
  537. -            *static_cast<NS(QPalette) *>(data) = NS(QPalette)();
  538. -            return true;
  539. -        case QMetaType::QImage:
  540. -            *static_cast<NS(QImage) *>(data) = NS(QImage)();
  541. -            return true;
  542. -        case QMetaType::QPolygon:
  543. -            *static_cast<NS(QPolygon) *>(data) = NS(QPolygon)();
  544. -            return true;
  545. -        case QMetaType::QRegion:
  546. -            *static_cast<NS(QRegion) *>(data) = NS(QRegion)();
  547. -            return true;
  548. -        case QMetaType::QBitmap:
  549. -            *static_cast<NS(QBitmap) *>(data) = NS(QBitmap)();
  550. -            return true;
  551. -#ifndef QT_NO_CURSOR
  552. -        case QMetaType::QCursor:
  553. -            *static_cast<NS(QCursor) *>(data) = NS(QCursor)();
  554. -            return true;
  555. -#endif
  556. -        case QMetaType::QKeySequence:
  557. -            *static_cast<NS(QKeySequence) *>(data) = NS(QKeySequence)();
  558. -            return true;
  559. -        case QMetaType::QPen:
  560. -            *static_cast<NS(QPen) *>(data) = NS(QPen)();
  561. -            return true;
  562. -        case QMetaType::QTextLength:
  563. -            *static_cast<NS(QTextLength) *>(data) = NS(QTextLength)();
  564. -            return true;
  565. -        case QMetaType::QTextFormat:
  566. -            *static_cast<NS(QTextFormat) *>(data) = NS(QTextFormat)();
  567. -            return true;
  568. -        case QMetaType::QMatrix:
  569. -            *static_cast<NS(QMatrix) *>(data) = NS(QMatrix)();
  570. -            return true;
  571. -        case QMetaType::QTransform:
  572. -            *static_cast<NS(QTransform) *>(data) = NS(QTransform)();
  573. -            return true;
  574. -        case QMetaType::QMatrix4x4:
  575. -            *static_cast<NS(QMatrix4x4) *>(data) = NS(QMatrix4x4)();
  576. -            return true;
  577. -        case QMetaType::QVector2D:
  578. -            *static_cast<NS(QVector2D) *>(data) = NS(QVector2D)();
  579. -            return true;
  580. -        case QMetaType::QVector4D:
  581. -            *static_cast<NS(QVector4D) *>(data) = NS(QVector4D)();
  582. -            return true;
  583. -        case QMetaType::QQuaternion:
  584. -            *static_cast<NS(QQuaternion) *>(data) = NS(QQuaternion)();
  585. -            return true;
  586. -        default:
  587. -            if (type == qMetaTypeId<QVariant>()) {
  588. -                *static_cast<NS(QVariant) *>(data) = NS(QVariant)();
  589. -                return true;
  590. -            } else if (type == qMetaTypeId<QJSValue>()) {
  591. -                *static_cast<NS(QJSValue) *>(data) = NS(QJSValue)();
  592. -                return true;
  593. -            } else if (type == qMetaTypeId<QDeclarativeV8Handle>()) {
  594. -                *static_cast<NS(QDeclarativeV8Handle) *>(data) = NS(QDeclarativeV8Handle)();
  595. -                return true;
  596. -            } else if (typeCategory(type) != Unknown) {
  597. -                *static_cast<void **>(data) = 0;
  598. -                return true;
  599. -            }
  600. -            break;
  601. -        }
  602. -    }
  603. -
  604. -    return false;
  605. -}
  606. -
  607. -QT_END_NAMESPACE
  608. diff --git a/src/declarative/qml/qdeclarativemetatype_p.h b/src/declarative/qml/qdeclarativemetatype_p.h
  609. index 39e8b85..e67d5c0 100644
  610. --- a/src/declarative/qml/qdeclarativemetatype_p.h
  611. +++ b/src/declarative/qml/qdeclarativemetatype_p.h
  612. @@ -71,9 +71,6 @@ class QDeclarativeTypeModule;
  613.  class Q_DECLARATIVE_PRIVATE_EXPORT QDeclarativeMetaType
  614.  {
  615.  public:
  616. -    static bool canCopy(int type);
  617. -    static bool copy(int type, void *data, const void *copy = 0);
  618. -
  619.      static QList<QString> qmlTypeNames();
  620.      static QList<QDeclarativeType*> qmlTypes();
  621.  
  622. --
  623. 1.7.6
Add Comment
Please, Sign In to add comment