From 211ae2145228d300c3743d25c689ab0275b23e33 Mon Sep 17 00:00:00 2001 From: Thierry Bastian Date: Thu, 26 Mar 2009 10:11:45 +0100 Subject: Avoids calling function pointer in constructor of QVariant Instead, it calls directly the v_construct template function. --- src/corelib/kernel/qvariant.cpp | 46 ++++++++++++++++++++--------------------- 1 file changed, 23 insertions(+), 23 deletions(-) diff --git a/src/corelib/kernel/qvariant.cpp b/src/corelib/kernel/qvariant.cpp index b4427c0..fa55100 100644 --- a/src/corelib/kernel/qvariant.cpp +++ b/src/corelib/kernel/qvariant.cpp @@ -1619,44 +1619,44 @@ QVariant::QVariant(double val) { d.is_null = false; d.type = Double; d.data.d = val; } QVariant::QVariant(const QByteArray &val) -{ create(ByteArray, &val); } +{ d.is_null = false; d.type = ByteArray; v_construct(&d, &val); } QVariant::QVariant(const QBitArray &val) -{ create(BitArray, &val); } +{ d.is_null = false; d.type = BitArray; v_construct(&d, &val); } QVariant::QVariant(const QString &val) -{ create(String, &val); } +{ d.is_null = false; d.type = String; v_construct(&d, &val); } QVariant::QVariant(const QChar &val) -{ create (Char, &val); } +{ d.is_null = false; d.type = Char; v_construct(&d, &val); } QVariant::QVariant(const QLatin1String &val) -{ QString str(val); create(String, &str); } +{ QString str(val); d.is_null = false; d.type = String; v_construct(&d, &str); } QVariant::QVariant(const QStringList &val) -{ create(StringList, &val); } +{ d.is_null = false; d.type = StringList; v_construct(&d, &val); } QVariant::QVariant(const QDate &val) -{ create(Date, &val); } +{ d.is_null = false; d.type = Date; v_construct(&d, &val); } QVariant::QVariant(const QTime &val) -{ create(Time, &val); } +{ d.is_null = false; d.type = Time; v_construct(&d, &val); } QVariant::QVariant(const QDateTime &val) -{ create(DateTime, &val); } +{ d.is_null = false; d.type = DateTime; v_construct(&d, &val); } QVariant::QVariant(const QList &list) -{ create(List, &list); } +{ d.is_null = false; d.type = List; v_construct(&d, &list); } QVariant::QVariant(const QMap &map) -{ create(Map, &map); } +{ d.is_null = false; d.type = Map; v_construct(&d, &map); } QVariant::QVariant(const QHash &hash) -{ create(Hash, &hash); } +{ d.is_null = false; d.type = Hash; v_construct(&d, &hash); } #ifndef QT_NO_GEOM_VARIANT -QVariant::QVariant(const QPoint &pt) { create(Point, &pt); } -QVariant::QVariant(const QPointF &pt) { create (PointF, &pt); } -QVariant::QVariant(const QRectF &r) { create (RectF, &r); } -QVariant::QVariant(const QLineF &l) { create (LineF, &l); } -QVariant::QVariant(const QLine &l) { create (Line, &l); } -QVariant::QVariant(const QRect &r) { create(Rect, &r); } -QVariant::QVariant(const QSize &s) { create(Size, &s); } -QVariant::QVariant(const QSizeF &s) { create(SizeF, &s); } +QVariant::QVariant(const QPoint &pt) { d.is_null = false; d.type = Point; v_construct(&d, &pt); } +QVariant::QVariant(const QPointF &pt) { d.is_null = false; d.type = PointF; v_construct(&d, &pt); } +QVariant::QVariant(const QRectF &r) { d.is_null = false; d.type = RectF; v_construct(&d, &r); } +QVariant::QVariant(const QLineF &l) { d.is_null = false; d.type = LineF; v_construct(&d, &l); } +QVariant::QVariant(const QLine &l) { d.is_null = false; d.type = Line; v_construct(&d, &l); } +QVariant::QVariant(const QRect &r) { d.is_null = false; d.type = Rect; v_construct(&d, &r); } +QVariant::QVariant(const QSize &s) { d.is_null = false; d.type = Size; v_construct(&d, &s); } +QVariant::QVariant(const QSizeF &s) { d.is_null = false; d.type = SizeF; v_construct(&d, &s); } #endif -QVariant::QVariant(const QUrl &u) { create(Url, &u); } -QVariant::QVariant(const QLocale &l) { create(Locale, &l); } +QVariant::QVariant(const QUrl &u) { d.is_null = false; d.type = Url; v_construct(&d, &u); } +QVariant::QVariant(const QLocale &l) { d.is_null = false; d.type = Locale; v_construct(&d, &l); } #ifndef QT_NO_REGEXP -QVariant::QVariant(const QRegExp ®Exp) { create(RegExp, ®Exp); } +QVariant::QVariant(const QRegExp ®Exp) { d.is_null = false; d.type = RegExp; v_construct(&d, ®Exp); } #endif QVariant::QVariant(Qt::GlobalColor color) { create(62, &color); } -- cgit v0.12