diff options
author | mread <qt-info@nokia.com> | 2010-06-21 09:36:00 (GMT) |
---|---|---|
committer | mread <qt-info@nokia.com> | 2010-06-21 09:36:00 (GMT) |
commit | 71adbdf6169829b1a5b34a6f71c60915c75f7270 (patch) | |
tree | c94a9105240cf08fcf65caf8baf56b5301e97756 | |
parent | 53cdc77370be026d50afc5d0438b351d22d1df63 (diff) | |
download | Qt-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.h | 29 |
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() |