Qt 4.7.1 is a bug-fix release. It maintains both forward and backward compatibility (source and binary) with Qt 4.7.0. For more details, refer to the online documentation included in this distribution. The documentation is also available online: http://qt.nokia.com/doc/4.7 The Qt version 4.7 series is binary compatible with the 4.6.x series. Applications compiled for 4.6 will continue to run with 4.7. Some of the changes listed in this file include issue tracking numbers corresponding to tasks in the Qt Bug Tracker, the (now obsolete) Task Tracker, or the Merge Request queue of the public source repository. Qt Bug Tracker: http://bugreports.qt.nokia.com Merge Request: http://qt.gitorious.org **************************************************************************** * General * **************************************************************************** Optimizations ------------- - Improved the benchmarking library's timing code * Uses a faster access to the system clock - Introduction of SSSE3 for alpha blending of images. - On x86 and 86_64, the memory access has been improved for alpha blending and for some composition functions. **************************************************************************** * Library * **************************************************************************** QtCore ------ - Containers * [QTBUG-13079] Fix assignment of a container included in the container itself. - QEventDispatcherUnix * [QTBUG-13633] Do not process too many timer events if other events need to be processed first. - QLibrary * [QT-3825] System libraries are only loaded from the system directories. - QUuid * [QTBUG-11213] QUuid::createUuid() should not generate identical sequences on UNIX. QtGui ----- - QGraphicsEffect * [QT-3633] Wrong bounding rect. - QGraphicsItem * [QTBUG-3633, QT-3828] Wrong children bounding rect when applying effects. - QGraphicsScene * [QT-3674] Spurious assert triggered from render(). - QGraphicsWidget * [QTBUG-13188] Make sure a font that has propagated from a parent can be set on a QPainter. * [QT-3808] Issues when applying effects in combination with ItemHasNoContents flag. - QGtkStyle * [QTBUG-13125] Fixed a regression with custom itemview background color. - QLineEdit * [QTBUG-13520] Fixed the scrolling of text with right alignment. - QPainter * [QTBUG-13429] Fixed scale point drawing with square cap in the raster engine, plus some potential floating point overflows in the rasterizer. * Optimized pixmap drawing with SmoothPixmapTransform. - QPinchGesture * The scaleFactor and totalScaleFactor now represent a value that allows an object to track a touchpoint during a Pinch Gesture even when using sequences for zooming. Therefore the scale factors are initialized to 1.0 and for every new sequence the totalScaleFactor is multiplied with the scaleFactor of the new sequence. - QPixmap * [QTBUG-12560] Fixed a regression preventing loading images without extensions. - QStaticText * [QTBUG-12614] Fix crash with zero-width string. * [QTBUG-12540] Fix rendering of large glyphs with OpenGL2 paint engine. - QTreeView * [QTBUG-13567] Do not scroll to top if last item is removed. QtMultimedia ------------ - QAudioOutput * [QTBUG-11586] Support audio with more than two channels. * [QTBUG-11755] Fixed outputing audio in push mode with ALSA. * [QTBUG-11883] Fixed segmentation fault when closing a QAudioInput or QAudioOutput. QtNetwork --------- - Bearer Management * Improved reliability on Symbian and Maemo. * Added connman/meego backend. - IPv6 * Disable on Symbian until OpenC properly supports it. - QSslConfiguration * [QTBUG-13265] Fixed crash with empty configuration. - QSslCertificate * [QTBUG-12489] Support dates > 2049. - QNetworkAccessManager * [QTBUG-12285] Crash fix related to aborted uploads. QtOpenGL -------- - QGL2PaintEngineEx * Fixed drawing a large number of glyphs with the same font on systems with small texture size limits. QtXml ----- * Fixed a crash when parsing invalid tag names. QtXmlPatterns ------------- - XML Schema internals: * [QTBUG-11559] Only parse 3 digits of time fraction. QtDeclarative ------------- - QML language * [QTBUG-13799] QML core module renamed to QtQuick to decouple it from Qt releases. Old "import Qt 4.7" will co-exist with "import QtQuick 1.0' at least during Qt 4.7 releases. * [QTBUG-13047] Support passing QObject derived types to QML methods. * [QTBUG-12837] Support JS "in" operator on QML objects. * [QTBUG-13045] Prevent calling deleteLater() from QML. * [QTBUG-13043] Ignore non-scriptable properties in QML. * [QTBUG-13114] Don't double call classBegin(). * [QTBUG-12946] Ensure the onDestruction handlers are called before the expressions are cleared. * [QTBUG-12599] Re-enabled script program caching on Symbian. * [QTBUG-13374] Don't modify the signal order on the second dynamic meta object pass. * Support for qsTrId and meta-data in comments for QML. - QML debugging * [QTBUG-5162] The debugger is now activated with -qmljsdebugger command line arg to enable support for platforms without environment variables. * Various improvements to ease debugging in creator. - AnchorAnimation * [QTBUG-13398] Fix AnchorAnimation for multiple AnchorChanges with dependancies. - AnchorChanges * [QTBUG-11834] Restore any absolute geometry changed by AnchorChanges when returning to the base state. - Component * [QTBUG-13170] Complete Component::createObject() creation after setting the parent. - GridView * [QTBUG-13166] GridView.view property should not be writable. - Flickable * [QTBUG-13095] Ensure Flickable visibleArea is updated when view height changes. * [QTBUG-13176] Avoid Flickable view jumping when drag threashold is exceeded. * [QTBUG-13078] Fix poor flicking behavior with slower flicks. * Handle QGraphicsWidgets in Flickable. - FocusScope * [QTBUG-12649] Make sure onFocusChanged is correctly emitted for items in a FocusScope. - FontLoader * [QTBUG-13419] Don't add the same font to the font database multiple times. - Image * [QTBUG-13454] Changing the Image 'source' no longer goes through the 'Loading' state if the image is cached. * [QTBUG-13383] Do not reset sourceSize when changing image source url. * [QTBUG-13002] Setting one dimension of the sourceSize should set the other dimension. * [QTBUG-12302] Fix remote image url redirects are done in the right thread. * Ensure all image states are updated before emitting statusChanged signals. - ListModel * [QTBUG-12363] Modifying an object returned by ListModel.get(0) didn't update the view. * [QTBUG-13666] Calling set() and setProperty() on ListModel from a WorkerScript didn't update the view. * Fix Worker ListModel to emit the right signal when items change. * Fix crash with invalid role indexes. * improved ListModel error messages. - ListView * [QTBUG-13664] Models with a single role didn't always update correctly. * [QTBUG-13543] Ensure flickable velocity is updated when view is moved by setCurrentIndex. * [QTBUG-12664] Ensure highlight is positioned correctly in positionViewAtIndex(). * [QTBUG-13166] Fix ListView.view attached property with VisualItemModel. * [QTBUG-13039] Fix crash in synchronization of ListModel in WorkerThread. * [QTBUG-11341] Flicking a ListView sometimes made it lose focus. * [QTBUG-13166] ListView.view property should not be writable. - MouseArea * [QTBUG-12250] When onDoubleClicked: is handled don't emit a second onPressed/onClicked. - NumberAnimation * [QTBUG-12805] Clear previous animation data for non-triggering animations. - ParentChange * [QTBUG-13554] ParentChange fails to apply rotation changes of exactly 180 degrees. - PathView * [QTBUG-13689] Moving items in a PathView caused PathView.onPath to be set to false. * [QTBUG-13687] PathView didn't accept mouse events, preventing it from working in a Flickable. * [QTBUG-13416] Fix PathView item position on insertion and removal. * [QTBUG-13017] Fix PathView when setting an empty model that is later filled. * [QTBUG-12747] PathView required some diagonal movement before a drag was initiated. - Positioners * made positioners work with QGraphicsWidgets. - PropertyChanges * [QTBUG-12559] Correctly apply PropertyChanges when entering an extended state directly from the base state. - QDeclarativeImageProvider: * Fixed memory leak. * Improved concurrency when using in asynchronus mode. - Repeater * [QTBUG-12905] Emit countChanged where appropriate in Repeater. - SmoothedAnimation * [QTBUG-12336] Update running animations if a SmoothedAnimation is changed. - SpringAnimation * [QTBUG-13044] SpringAnimation velocity animation stop logic was fragile. - Text * [QTBUG-13453] Fix jerky scrolling caused by unnecessary repaints of Text element. * [QTBUG-13142] Fix alignment of shadow for rich text when using text styles. * [QTBUG-11002] Improve QML text rendering when LCD smoothing is enabled for OS X. - TextInput * [QTBUG-11127] Fix autoScroll implementation. - VisualDataModel * [QTBUG-13754] Fixed a crash when updating a property in ListModel with multiple roles. * [QTBUG-13038] Fix VisualDataModel model update handling when rootIndex is specified. * [QTBUG-13146] Handle layoutChanged() properly in QML views. - WebView * [QTBUG-13342] Ensure WebView gets focus when an editable node is clicked. - XmlHttpRequest * [QTBUG-13117] Fix responseText to check the charset encoding field and also to not assume that the data is xml. - XmlListModel * [QTBUG-13041] XmlListModel thread was left hanging on Symbian application exit. Qt Plugins ---------- - Jpeg image IO plugin * [QTBUG-13653] Fixed infinite loop when loading jpeg without EOI marker from memory. **************************************************************************** * Platform Specific Changes * **************************************************************************** Qt for Unix (X11 and Mac OS X) ------------------------------ - Event System: * [QT_3553] Fix invalid memory write during recursive timer activation. Qt for Linux/X11 ---------------- - The configure script now detects all vector extensions of x86 and x86_64. Qt for Windows -------------- - Event System: * [QTBUG-12721] Fix Qt applications freezing until mouse/keyboard events occur. - Drag & Drop: * [QTBUG-13787] Fixed a possible crash with mingw. - QPrinter * [QTBUG-12263] Strokes were in some cases not printed with the correct color under Windows. - QGLWidget * [QTBUG-13141] Fixed multi-sampling support for ATI based cards under Windows. Qt for Mac OS X --------------- - The configure script now detects all vector extensions of x86 and x86_64 * [QTBUG-10500] Fixed a bug which causes the QMainWindow geometry to be calculated wrongly, when used with native toolbars. * [QTBUG-13878] Application menu entries can now also be translated using the QMenuBar context. Qt for Symbian -------------- - configure * [QTBUG-4586] Fixed wrong paths in include/ActiveQt/headers.pri. * [QTBUG-11671] Fixed audio-backend detection in configure tests. - qmake & mkspecs * [QTBUG-13523] Added support for using -L notation in the LIBS variable when building with the symbian/linux-armcc or gcce mkspec. * [QTBUG-12851] Fix assertion on Windows when DESTDIR is empty in static libs. * [QTBUG-12802] Fix vcxproj generator when using /Fd in QMAKE_CXXFLAGS. * [QTBUG-13080] vcxproj generator: fix bug when using CharacterSet=1 in .pro file. * [QTBUG-13081] vc[x]proj generators: support /MAP option without file name. * [QTBUG-13902] Added support for unsigned smart installer package creation. * [QTBUG-13991] No longer need to manually edit smart installer pkg file for publishing. * [QT-3949] Load environment.prf from Symbian SDK if it exists there. * [QTBUG-13499] Provide a way to compile with RVCT 4.0 using generated Makefile. * [QTBUG-13336] Ignore MAKEFILE variable for Symbian abld and sbsv2 builds. * [QTBUG-13363] Fix Symbian handling of projects with special characters in TARGET. * [QTBUG-12762 & QTBUG-13307] Gcce building support for symbian-sbsv2 * [QTBUG-13147] Added support for DEPLOYMENT.pkg_build_version * [QTBUG-12884] Fix "installer_sis" and "deploy" targets when TARGET has path. * [QTBUG-12879] Fix check to remove unnecessary deployments in Symbian. * [QTBUG-12716] Make bld.inf target in Symbian mkspecs to depend on .pro file. * [QTBUG-12715] Rename Symbian generated mmp/mk files to include target in filename. * [QTBUG-12617] Fix package header in cases where VERSION doesn't contain all values. * Fix run and runonphone targets for projects that have TARGET with path. * Fix QT_LIBINFIX for QT_PLUGINS_BASE_DIR. * No longer require PRE_TARGETDEPS items to be absolute for symbian-sbsv2 mkspec. * Do smart command replacement for commands containing $$QMAKE_* command variables, such as $$QMAKE_COPY, when generating bld.inf extensions for QMAKE_EXTRA_* variables for symbian-sbsv2 mkspec. - s60installs * Fixed qsymbianbearer.qtplugin exports in s60installs.pro. - patch_capabilities.pl * [QTBUG-13760] Improved output of patch_capabilities.pl script. - QInputContext * [QTBUG-12949] Fixed a bug where passwords would not be committed when confirming. * [QTBUG-13472] Fixed crash in input methods when using symbols menu and numbers only. - QDesktopWidget * [QTBUG-14058] Fix QApplication::desktop()->availableGeometry(). - QtCore * [QTBUG-13802] Symbian^4 platform detection for QSysInfo::symbianVersion(). * [QTBUG-13612] Do not wait for QThread exit when destroying global statics. * [QT-3895] Change RLibrary handle in QS60PluginResolver to be process wide. * [QTBUG-11218] Fix QProcessManager destruction. - Qt Plugins * [QT-3949] Remove pre-Symbian3 plugins from Symbian3 and later builds and Check S60_VERSION instead of existence of certain files in bearer plugin. - Demos & Examples * [QTBUG-13461] Remove some .pro statements left behind after IAP usage cleanup. * [QTBUG-12276] Assigned valid UID3 for fortuneserver example. Qt for Windows CE ----------------- - Gui * [QTBUG-8408] Show the [X] button on Windows mobile when maximizing. **************************************************************************** * Tools * **************************************************************************** - uic * Improve warnings and error reports. - moc * Show an error if NOTIFY refer to a wrong signal in Q_PROPERTY. - QML Viewer * [QTBUG-13347] Paused orientation sensors in Qml Viewer when the application window is not active to save device battery. * [QTBUG-11019] Add a menu option to open remote files in the QML viewer. * QML Viewer is deployed under QtDemos folder instead of QtExamples folder in Symbian application menu.