summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authormread <qt-info@nokia.com>2010-06-21 09:36:00 (GMT)
committermread <qt-info@nokia.com>2010-06-21 09:36:00 (GMT)
commit71adbdf6169829b1a5b34a6f71c60915c75f7270 (patch)
treec94a9105240cf08fcf65caf8baf56b5301e97756
parent53cdc77370be026d50afc5d0438b351d22d1df63 (diff)
downloadQt-71adbdf6169829b1a5b34a6f71c60915c75f7270.zip
Qt-71adbdf6169829b1a5b34a6f71c60915c75f7270.tar.gz
Qt-71adbdf6169829b1a5b34a6f71c60915c75f7270.tar.bz2
Fix for TLS problem which causes apps to crash in the S60 port
QS60Data member data was being reset to zero after initialisation by a memclr call in QS60Data. The correct way to initialise the member data is with the member initialisation list, so this is now done, and all member data is now correctly initialised. Reviewed-by: Jason Barron
-rw-r--r--src/gui/kernel/qt_s60_p.h29
1 files changed, 28 insertions, 1 deletions
diff --git a/src/gui/kernel/qt_s60_p.h b/src/gui/kernel/qt_s60_p.h
index ed53ccf..204e38c 100644
--- a/src/gui/kernel/qt_s60_p.h
+++ b/src/gui/kernel/qt_s60_p.h
@@ -253,8 +253,35 @@ private:
};
inline QS60Data::QS60Data()
+: uid(TUid::Null()),
+ screenDepth(0),
+ screenWidthInPixels(0),
+ screenHeightInPixels(0),
+ screenWidthInTwips(0),
+ screenHeightInTwips(0),
+ defaultDpiX(0),
+ defaultDpiY(0),
+ curWin(0),
+ virtualMousePressedKeys(0),
+ virtualMouseAccelDX(0),
+ virtualMouseAccelDY(0),
+ virtualMouseMaxAccel(0),
+#ifndef Q_SYMBIAN_FIXED_POINTER_CURSORS
+ brokenPointerCursors(0),
+#endif
+ hasTouchscreen(0),
+ mouseInteractionEnabled(0),
+ virtualMouseRequired(0),
+ qtOwnsS60Environment(0),
+ supportsPremultipliedAlpha(0),
+ avkonComponentsSupportTransparency(0),
+ menuBeingConstructed(0),
+ memoryLimitForHwRendering(0),
+ s60ApplicationFactory(0),
+#ifdef Q_WS_S60
+ s60InstalledTrapHandler(0)
+#endif
{
- memclr(this, sizeof(QS60Data)); //zero init data
}
inline void QS60Data::updateScreenSize()