From 7887079cbb5e543728d205b8358163c25d31fbfa Mon Sep 17 00:00:00 2001 From: Janne Anttila Date: Mon, 15 Jun 2009 14:28:12 +0300 Subject: Updated changes-4.5.2-tower. --- dist/changes-4.5.2-tower | 119 +++++++++++++++++++++++++++++++++++++++++++++-- 1 file changed, 115 insertions(+), 4 deletions(-) diff --git a/dist/changes-4.5.2-tower b/dist/changes-4.5.2-tower index 4e12ea2..0e1215e 100644 --- a/dist/changes-4.5.2-tower +++ b/dist/changes-4.5.2-tower @@ -28,7 +28,8 @@ New modules ----------- - QtSql - * todo + * Implemented QtSql module with sqlite3 backend. For now backend is + provided only in binary format. - QtWebkit * todo - Phonon @@ -44,12 +45,19 @@ New classes Ported classes -------------- -- todo - * todo +- QSound + * Implemented CMdaAudioPlayerUtility based Symbian backend for QSound. +- QLocalSocket and QLocalServer + * Added support for QLocalSocket and QLocalServer on Symbian Features -------- +- QApplication + * Implemented QApplication::beep() for Symbian +- QSslSocket + * Added support for -openssl option i.e. runtime resolving of OpenSSL + symbols - todo * todo @@ -58,6 +66,33 @@ Optimizations - qdrawhelper * Optimized drawing operations for RVCT builds, particulary for ARMV6. + +- qwidget_s60.cpp + * Avoid unnecessary calls to FocusChanged in Symbian + +**************************************************************************** +* Code clean-up * +**************************************************************************** + +- Cleanup qeventdispatcher_unix.cpp + * 247268: All qeventdispatcher_unix.cpp changes were reverted since, + this file is not anymore used in Symbian OS branch. +- Cleanup QtNetwork workarounds implemented earlier due to Open C bugs. + * 247287: Removed getaddrinfo workaround + * 247288: Removed waitForConnected workaround + * 247289: Removed qt_socket_accept workaround + * 247290: Removed qt_socket_connect workaround + * 247290: Removed E32IONREAD workaround + * 247293: Removed nativeHasPendingDatagrams workaround + * 247295: Removed QNativeSocketEnginePrivate::nativeRead EPIPE + workaround +- Other code clean-ups + * 247278: Removed unnecessary includes from qbackingstore.cpp. + * Fixed Q_OS_SYMBIAN ifdef usage in qfiledialog_p.h + * 247272: Removed qtestnetworkservers.h dependency, used + network-settings.h + * Revert "Work around compiler bug on Nokia Metrowerks compiler." + **************************************************************************** * Build issues * @@ -70,6 +105,9 @@ Optimizations * Changes to existing classes * **************************************************************************** +- QDesktopServices + * Fixed forwardslash/backslash usage as an path separator + - QPluginLoader * QPluginLoader will look for plugin stubs from the same folder on other drives if it can't find them from the indicated drive. @@ -77,20 +115,85 @@ Optimizations - QEventDispatcher * Lowered the timeout for reprioritizing the process to 100ms +- QNetworkInterface + * Fixed R-handle leak in Symbian version of qnetworkinterface_unix.cpp + * Introduced a new qnetworkinterface_symbian.cpp, because there wasn't + really anything common to UNIX equivalent + +- QHostInfo + * Added support for host lookups with multiple ipv4 addresses. + +- QUdpSocket + * Updated BindFlag documentation to reflect behaviour on Symbian OS + +- QLocale + * Removed workaround for missing tzname symbol, fixes QLocal timeZone + implementation for Symbian. + +- QTemporaryFile + * Fixed temporary file rename in Symbian OS. + +- QThread + * Fix for thread termination in Symbian OS. + +- QIoDevice + * Fixed compilation error when QIODEVICE_DEBUG is defined. + +- QS60Style + * Added subElementRect implementation for SE_ItemViewItemCheckIndicator. + +- QDesktopServices + * Switched QDesktopServices mail-to URL handling to RSendAs in Symbian, + due to the fact that CSendUi requires extensive capabilities to work + correctly. Currently e-mail sending with qdesktopservices::openUrl + works in Symbian only if e-mail account already exists. + +- QCoeFepInputContext (non-public) + * Fixes FEP crash when changing the focused Qt widget to NULL. + +- QApplication + * 252798: Fixed layout when orientation changed via + AknAppUi::SetOrientationL. + +- QUdpSocket + * Wrote hack for QUdpSocket::writeDatagram return value in Symbian OS. + +- QNativeSocketEnginePrivate (non-public) + * Changed select to listen also expectfds in Symbain OS for given + sockets (Workaround to Open C bug). + * Fix to Open C bug: Socket connect failure is indicated exception set. + +- QEventDispatcherSymbian (non-public) + * Fixed ASSERT panic in Symbian event dispatcher + * 246600: Fix problem in eventdispatcher destructor / AO canceling + * Fixed active scheduler removal when calling QThread::terminate + * Fix to Open C bug: select sometimes returns -1 and errno is + ECONNREFUSED + **************************************************************************** * Examples and demos * **************************************************************************** - +- Drilldown + * Added to demonstrate QtSql usage in Symbian OS + - Deform, Pathstroke, and Wiggly * Removed Symbian specific animation timer fixes since more generic fix was made to event dispatcher. +- Ftp + * Enabled default iap setting for FTP example + +- DesktopServices + * Implemented content filters for desktopservices example. + * Added error handling to qdesktopservices example when openUrl fails. + - SecureSocketClient * Fixed build issue caused by lack of cursor. - Fluidlauncher * Removed ugly workaround to make emulator deployment work correctly, since the issue has been fixed in qmake. + * Included drilldown to demonstrate QtSql usage * Updated screenshots to S60 style @@ -113,6 +216,8 @@ Optimizations - configure * -cetest is no longer a supported switch for configure. + * -stl option is enabled by default for Symbian OS + * -openssl option is enabled by default for Symbian OS. - Release package creation * Removed the obsolete script to create release package. @@ -122,6 +227,12 @@ Optimizations - Patch_capabilities script * Will now patch also vendor id. + +**************************************************************************** +* Documnetation * +**************************************************************************** +- qmake-manual + * 250370: Added documentation for ICON keyword **************************************************************************** * Plugins * -- cgit v0.12 From 8dd4a3bcfb8d6ec011119459f91737f7e48e885a Mon Sep 17 00:00:00 2001 From: Harald Fernengel Date: Mon, 15 Jun 2009 13:41:05 +0200 Subject: doc: document operator== and != --- src/corelib/tools/qscopedpointer.cpp | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/src/corelib/tools/qscopedpointer.cpp b/src/corelib/tools/qscopedpointer.cpp index 0239575..6a1ffb6 100644 --- a/src/corelib/tools/qscopedpointer.cpp +++ b/src/corelib/tools/qscopedpointer.cpp @@ -134,6 +134,21 @@ */ /*! + \fn bool QScopedPointer::operator==(const QScopedPointer &other) const + + Equality operator. Returns true if the scoped pointer \a other + is pointing to the same object as this pointer, otherwise returns false. +*/ + + +/*! + \fn bool QScopedPointer::operator!=(const QScopedPointer *other) const + + Inequality operator. Returns true if the scoped pointer \a other + is not pointing to the same object as this pointer, otherwise returns false. +*/ + +/*! \fn bool QScopedPointer::isNull() const Returns \c true if this object is holding a pointer that is \c null. -- cgit v0.12 From 06dad6387cd198852448085b470e3a9c7343f6af Mon Sep 17 00:00:00 2001 From: Harald Fernengel Date: Mon, 15 Jun 2009 13:49:29 +0200 Subject: doc: introduce qts60 group to silence qdoc warnings --- doc/src/topics.qdoc | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/doc/src/topics.qdoc b/doc/src/topics.qdoc index 6ef3a89..09a86bd 100644 --- a/doc/src/topics.qdoc +++ b/doc/src/topics.qdoc @@ -300,3 +300,14 @@ including ARM, Intel x86, MIPS and SH-4. \endlist \endtable */ + +/*! +\group qts60 +\title Qt for S60 +\ingroup topics +\brief Documents related to Qt for S60 + +\list + \o \l {Exception Safety with Symbian} +\endlist +*/ -- cgit v0.12 From 217d263ee1feb5a0c2b19d634093f4c7975ac7c9 Mon Sep 17 00:00:00 2001 From: Harald Fernengel Date: Mon, 15 Jun 2009 14:17:17 +0200 Subject: Fixes leak introduced by QScopedPointer QPainterPath is kinda evil with a somewhat public private class and a really private cast, so we need to up-cast the d pointer when deleting. RevBy: aportale --- src/gui/painting/qpainterpath.cpp | 18 ++++++++++++++++++ src/gui/painting/qpainterpath.h | 6 +++--- 2 files changed, 21 insertions(+), 3 deletions(-) diff --git a/src/gui/painting/qpainterpath.cpp b/src/gui/painting/qpainterpath.cpp index 12dbc62..635218e 100644 --- a/src/gui/painting/qpainterpath.cpp +++ b/src/gui/painting/qpainterpath.cpp @@ -73,6 +73,24 @@ QT_BEGIN_NAMESPACE +struct QPainterPathPrivateHandler +{ + static inline void cleanup(QPainterPathPrivate *d) + { + // note - we must up-cast to QPainterPathData since QPainterPathPrivate + // has a non-virtual destructor! + if (d && !d->ref.deref()) + delete static_cast(d); + } + + static inline void reset(QPainterPathPrivate *&d, QPainterPathPrivate *other) + { + QPainterPathPrivate *oldD = d; + d = other; + cleanup(oldD); + } +}; + // This value is used to determine the length of control point vectors // when approximating arc segments as curves. The factor is multiplied // with the radius of the circle. diff --git a/src/gui/painting/qpainterpath.h b/src/gui/painting/qpainterpath.h index 0513593..e12194e 100644 --- a/src/gui/painting/qpainterpath.h +++ b/src/gui/painting/qpainterpath.h @@ -57,6 +57,7 @@ QT_MODULE(Gui) class QFont; class QPainterPathPrivate; +struct QPainterPathPrivateHandler; class QPainterPathData; class QPainterPathStrokerPrivate; class QPolygonF; @@ -196,7 +197,7 @@ public: QPainterPath &operator-=(const QPainterPath &other); private: - QScopedSharedPointer d_ptr; + QScopedCustomPointer d_ptr; inline void ensureData() { if (!d_ptr) ensureData_helper(); } void ensureData_helper(); @@ -230,8 +231,7 @@ public: friend class QPainterPathStrokerPrivate; friend class QMatrix; friend class QTransform; - friend class QScopedSharedPointer; - friend class QScopedSharedPointerHandler; + friend struct QPainterPathPrivateHandler; #ifndef QT_NO_DATASTREAM friend Q_GUI_EXPORT QDataStream &operator<<(QDataStream &, const QPainterPath &); friend Q_GUI_EXPORT QDataStream &operator>>(QDataStream &, QPainterPath &); -- cgit v0.12 From 17975c71e2578b1eab92d93085f0737251666fc8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sami=20Meril=C3=A4?= Date: Mon, 15 Jun 2009 15:18:40 +0300 Subject: S60Style: changes for style to Tower release. --- dist/changes-4.5.2-tower | 125 ++++++++++++++++++++++++++++------------------- 1 file changed, 74 insertions(+), 51 deletions(-) diff --git a/dist/changes-4.5.2-tower b/dist/changes-4.5.2-tower index 0e1215e..19e8d3c 100644 --- a/dist/changes-4.5.2-tower +++ b/dist/changes-4.5.2-tower @@ -28,7 +28,7 @@ New modules ----------- - QtSql - * Implemented QtSql module with sqlite3 backend. For now backend is + * Implemented QtSql module with sqlite3 backend. For now backend is provided only in binary format. - QtWebkit * todo @@ -56,7 +56,7 @@ Features * Implemented QApplication::beep() for Symbian - QSslSocket - * Added support for -openssl option i.e. runtime resolving of OpenSSL + * Added support for -openssl option i.e. runtime resolving of OpenSSL symbols - todo * todo @@ -66,7 +66,7 @@ Optimizations - qdrawhelper * Optimized drawing operations for RVCT builds, particulary for ARMV6. - + - qwidget_s60.cpp * Avoid unnecessary calls to FocusChanged in Symbian @@ -75,24 +75,25 @@ Optimizations **************************************************************************** - Cleanup qeventdispatcher_unix.cpp - * 247268: All qeventdispatcher_unix.cpp changes were reverted since, + * 247268: All qeventdispatcher_unix.cpp changes were reverted since, this file is not anymore used in Symbian OS branch. - Cleanup QtNetwork workarounds implemented earlier due to Open C bugs. - * 247287: Removed getaddrinfo workaround + * 247287: Removed getaddrinfo workaround * 247288: Removed waitForConnected workaround * 247289: Removed qt_socket_accept workaround * 247290: Removed qt_socket_connect workaround * 247290: Removed E32IONREAD workaround * 247293: Removed nativeHasPendingDatagrams workaround - * 247295: Removed QNativeSocketEnginePrivate::nativeRead EPIPE + * 247295: Removed QNativeSocketEnginePrivate::nativeRead EPIPE workaround - Other code clean-ups - * 247278: Removed unnecessary includes from qbackingstore.cpp. + * 247278: Removed unnecessary includes from qbackingstore.cpp. * Fixed Q_OS_SYMBIAN ifdef usage in qfiledialog_p.h - * 247272: Removed qtestnetworkservers.h dependency, used + * 247272: Removed qtestnetworkservers.h dependency, used network-settings.h * Revert "Work around compiler bug on Nokia Metrowerks compiler." - + * Remove UI highlights being inverted colors based on highlight text colors. + **************************************************************************** * Build issues * @@ -108,66 +109,88 @@ Optimizations - QDesktopServices * Fixed forwardslash/backslash usage as an path separator -- QPluginLoader +- QPluginLoader * QPluginLoader will look for plugin stubs from the same folder on other drives if it can't find them from the indicated drive. - + - QEventDispatcher * Lowered the timeout for reprioritizing the process to 100ms - QNetworkInterface * Fixed R-handle leak in Symbian version of qnetworkinterface_unix.cpp - * Introduced a new qnetworkinterface_symbian.cpp, because there wasn't + * Introduced a new qnetworkinterface_symbian.cpp, because there wasn't really anything common to UNIX equivalent - + - QHostInfo * Added support for host lookups with multiple ipv4 addresses. - + - QUdpSocket - * Updated BindFlag documentation to reflect behaviour on Symbian OS - + * Updated BindFlag documentation to reflect behaviour on Symbian OS + - QLocale * Removed workaround for missing tzname symbol, fixes QLocal timeZone implementation for Symbian. - + - QTemporaryFile - * Fixed temporary file rename in Symbian OS. - + * Fixed temporary file rename in Symbian OS. + - QThread * Fix for thread termination in Symbian OS. - -- QIoDevice + +- QIoDevice * Fixed compilation error when QIODEVICE_DEBUG is defined. - + - QS60Style * Added subElementRect implementation for SE_ItemViewItemCheckIndicator. - + * Added support for E90 layouts. + * Added support for QScrollArea, QTextEditor, QGroupBox, QTreeView, QToolBar and QDial styling. + * Better support for theme and layout changes. + * Better support for themed palettes and themed text colors. + * Better support for multiselection in item views. + * Better theming for QTable and QPanel. + * Better support of highlight graphics and texts for QLists, QTreeViews, QCalendarWidgets and QComboBoxes. + * Support polishing fonts. Fonts are no longer changed within the drawing code. + * Draw spinbox arrowbuttons side-by-side, instead one on top of the other. + * Harmonize widget drawing so that widgets are of similar height. + * Support check states for QLists and QPushButtons. + * Support flat QPushButtons. + * Support busy indicator. + * Support QScrollBar pressed state. + * Support QPushButton disabled theme graphics. + * Separate theme background for QDialogs. + * Clarify QToolButton pressed state. + * Removed linedrawing of panels and groupboxes. + * Fix palette-polution for a style that is activated from an application after S60Style has been in use. + * Fix for frame masks with color depth other than EGrey2. + * Fix for squeezed QTabBars. + * Fix memory leak when color skinning graphics. + - QDesktopServices * Switched QDesktopServices mail-to URL handling to RSendAs in Symbian, - due to the fact that CSendUi requires extensive capabilities to work - correctly. Currently e-mail sending with qdesktopservices::openUrl + due to the fact that CSendUi requires extensive capabilities to work + correctly. Currently e-mail sending with qdesktopservices::openUrl works in Symbian only if e-mail account already exists. - + - QCoeFepInputContext (non-public) * Fixes FEP crash when changing the focused Qt widget to NULL. - + - QApplication - * 252798: Fixed layout when orientation changed via - AknAppUi::SetOrientationL. - + * 252798: Fixed layout when orientation changed via + AknAppUi::SetOrientationL. + - QUdpSocket - * Wrote hack for QUdpSocket::writeDatagram return value in Symbian OS. - + * Wrote hack for QUdpSocket::writeDatagram return value in Symbian OS. + - QNativeSocketEnginePrivate (non-public) - * Changed select to listen also expectfds in Symbain OS for given + * Changed select to listen also expectfds in Symbain OS for given sockets (Workaround to Open C bug). * Fix to Open C bug: Socket connect failure is indicated exception set. - + - QEventDispatcherSymbian (non-public) * Fixed ASSERT panic in Symbian event dispatcher * 246600: Fix problem in eventdispatcher destructor / AO canceling * Fixed active scheduler removal when calling QThread::terminate - * Fix to Open C bug: select sometimes returns -1 and errno is + * Fix to Open C bug: select sometimes returns -1 and errno is ECONNREFUSED **************************************************************************** @@ -175,14 +198,14 @@ Optimizations **************************************************************************** - Drilldown * Added to demonstrate QtSql usage in Symbian OS - + - Deform, Pathstroke, and Wiggly * Removed Symbian specific animation timer fixes since more generic fix was made to event dispatcher. -- Ftp +- Ftp * Enabled default iap setting for FTP example - + - DesktopServices * Implemented content filters for desktopservices example. * Added error handling to qdesktopservices example when openUrl fails. @@ -191,10 +214,10 @@ Optimizations * Fixed build issue caused by lack of cursor. - Fluidlauncher - * Removed ugly workaround to make emulator deployment work correctly, + * Removed ugly workaround to make emulator deployment work correctly, since the issue has been fixed in qmake. * Included drilldown to demonstrate QtSql usage - * Updated screenshots to S60 style + * Updated screenshots to S60 style **************************************************************************** @@ -203,36 +226,36 @@ Optimizations - qmake * Support for generating Symbian "test" targets: CONFIG += symbian_test. - * Support for Symbian Build System, version 2 (aka Raptor) via + * Support for Symbian Build System, version 2 (aka Raptor) via symbian-sbsv2 mkspec. * PAGED keyword is added to all MMP files by default, except in S60 3.1 builds. - * Read-only flag is no longer preserved when deploying files into + * Read-only flag is no longer preserved when deploying files into emulator environment. * Changed the timestamp to ISO format in all files generated by qmake for symbian-* mkspecs. * Qt's VERSION variable will now generate VERSION keyword in mmp files. * Made Open C include paths handling bit more robust. - + - configure * -cetest is no longer a supported switch for configure. * -stl option is enabled by default for Symbian OS * -openssl option is enabled by default for Symbian OS. - + - Release package creation * Removed the obsolete script to create release package. - Createpackage script * Now creates packages with .sis suffix. - -- Patch_capabilities script + +- Patch_capabilities script * Will now patch also vendor id. - + **************************************************************************** * Documnetation * **************************************************************************** - qmake-manual - * 250370: Added documentation for ICON keyword + * 250370: Added documentation for ICON keyword **************************************************************************** * Plugins * @@ -241,8 +264,8 @@ Optimizations - S60 version specific plugins * Isolated S60 version dependent functionality to S60 version specific plugins (qts60plugin_x_y.dll) to make it possible for single build to - run on any supported device, even if with reduced functionality on - some. + run on any supported device, even if with reduced functionality on + some. **************************************************************************** @@ -251,7 +274,7 @@ Optimizations - Qt libs * Qt libs are now built with "All -Tcb" capabilities always. It is now - always necessary to run patch_capabilities.pl script if self-signing + always necessary to run patch_capabilities.pl script if self-signing of Qt libs is desired. * QtCore and QtSql made UNPAGED as workaround for an obscure crash when they are paged. -- cgit v0.12