Qt 4.7 introduces many new features and improvements as well as bugfixes over the 4.6.x series. 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: http://bugreports.qt.nokia.com/ Each of these identifiers can be entered in the bug tracker to obtain more information about a particular change. **************************************************************************** * General * **************************************************************************** General Improvements -------------------- - Documentation and Examples - Support for the GL_EXT_geometry_shader4, aka Geometry Shaders, was added to QGLShaderProgram. New features ------------ - QNetworkSession, QNetworkConfiguration, QNetworkConfigurationManager * New bearer management classes added. Third party components ---------------------- - Updated libpng to version 1.4.0 - Updated libjpeg to version 8 - Updated libtiff to version 3.9.2 **************************************************************************** * Library * **************************************************************************** QtCore ------ - QXmlStreamReader * [QTBUG-9196] fixed crash when parsing - QTimer * singleShot with 0 timeout will now avoid allocating objects QtGui ----- - QAbstractItemView * Fixed a bug that would cause keyboard searches not to behave properly when used within 400 milliseconds of midnight. - QPrinter * Obsoleted the slightly confusing setNumCopies() and numCopies() functions, and replaced them with setCopyCount(), copyCount() and supportsMultipleCopies(). - QPrintDialog/QPrinter * Added support for printing the current page. - QCommonStyle * Fixed a bug that led to missing text pixels in QTabBar when using small font sizes. (QTBUG-7137) - QGraphicsEffect * Fixed rendering bugs when scrolling graphics items with drop shadows. - QGraphicsItem * [QTBUG-8112] itemChange() is now called when transformation properties change (setRotation, setScale, setTransformOriginPoint). - QGraphicsTextItem * [QTBUG-7333] Fixed keyboard shortcuts not being triggered when the the item has focus and something else has the same shortcut sequence. - QGraphicsView * [QTBUG-7438] Fixed viewport cursor getting reset when releasing the mouse. - QImage * [QTBUG-9640] Prevented unneccessary copy in QImage::setAlphaChannel(). * [QTBUG-7982] Added QImage::bitPlaneCount(). - QPicture * [QTBUG-4974] Printing QPictures containing text to a high resolution QPrinter would in many cases cause incorrect character spacing. - QPainter * Added QPainter::drawPixmapFragments(), which makes it possible to draw pixmaps, or sub-rectangles of pixmaps, at various positions with different scale, opacity and rotation. * [QTBUG-10018] Fixed image drawing inconsistencies when drawing 1x1 source rects with rotating / shear / perspective transforms. * Optimized various blending and rendering operations for ARM processors with a NEON vector unit. * Fixed some performance issues when drawing sub-pixmaps of large pixmaps and falling back to raster in the X11 paint engine. - QPainterPath * [QTBUG-3778] Fixed bug in painter path polygon intersection code. * [QTBUG-7396] Optimized painter path intersections for when at least one of the paths is a rectangle by special casing. * [QTBUG-8035] Got rid of bezier intersection code in the boolean operators (intersect, subtract, unite) to prevent numerical stability issues. - QRegion * [QTBUG-7699] Fixed crash caused by large x-coordinates. - QTransform * [QTBUG-8557] Fixed bug in QTransform::type() potentially occuring after using operator/ or operator* or their overloads. QtNetwork --------- - QHostInfo: Added a small 60 second DNS cache - QNetworkAccessManager * Performance improvements for file:// and http:// * Crash fixes * Improvements on HTTP pipelining * Fix problem with canReadLine() * Fix problem with HTTP 100 reply * Some new attributes for QNetworkRequest * [QTBUG-8206] add method to send custom requests * [QTBUG-9618] [MR 2372] send secure cookies only over secure connections * [QTBUG-7713] Fix bug related to re-sending request * [QTBUG-7673] Fix issue with some webservers - Sockets * Better support for derived QTcpServer * [QTBUG-7054] Fix error handling with waitFor*() for socket engine * [QTBUG-7316, QTBUG-7317] Also handle unknown errors from socket engine - SSL * [QTBUG-2515] Do not make OpenSSL prompt for a password * [QTBUG-6504, QTBUG-8924, QTBUG-5645] Fix memleak QtXmlPatterns ------------- - [QTBUG-8920] fixed crash with anonymous types in XsdSchemaChecker - [QTBUG-8394] include/import/redefine schemas only once - QXmlSchema: fix crash with referencing elements Qt Plugins ---------- - Jpeg image IO plugin * Fixed failure to store certain QImage formats as jpeg (QTBUG-7780) * Optimized smoothscaling * Optimized to avoid data copy when reading from memory device (QTBUG-9095) - SVG image IO plugin * Added support for svgz format (QTBUG-8227) * Fixed canRead() so that it can be used also for non-sequential devices. (QTBUG-9053) * Added support for clipping and scaling and backgroundcolor * Optimized to avoid data copy when reading from memory device (QTBUG-9095) **************************************************************************** * Database Drivers * **************************************************************************** **************************************************************************** * Platform Specific Changes * **************************************************************************** Qt for Linux/X11 ---------------- Qt for Windows -------------- - QLocalSocket * Pipe handle leak fixed, when closing a QLocalSocket that still has unwritten data. (QTBUG-7815) * Fixed closing state for local sockets with unwritten data. (QTBUG-9681) * Detection of Windows mobile 6.5 fixed. (QTBUG-8418) * Improved performance of writing to QLocalSocket. Qt for Mac OS X --------------- Qt for Embedded Linux --------------------- Qt for Windows CE ----------------- - Core changes * Fixed menu handling on Windows mobile. (QTBUG-8754) * Fixed a crash when receiving a certain type of WM_SETTINGSCHANGE message. (QTBUG-7943) - QWindowsMobileStyle * Huge performance penalty for QTabWidget fixed for Windows mobile 6.5. (QTBUG-8419) * QTabBar scroll button size has been fixed. (QTBUG-8757) **************************************************************************** * Compiler Specific Changes * **************************************************************************** **************************************************************************** * Tools * **************************************************************************** - Build System - "configure -fast" on Windows now also works for other make tools than nmake. (QTBUG-8562) - Assistant - Designer - [QTBUG-9351] Fixed a bug that caused modified headerview-properties of item views to be duplicated in the UI-file. - [QTBUG-8347] Fixed a layout problem caused by embedded images in the rich text of a QLabel. - [QTBUG-8041], [QTBUG-8213] Fixed a crash related to undo while moving widgets by arrow keys. - [QTBUG-7822] Added support for the 'windowOpacity'-property. - [QTBUG-7764] Fixed the emission of the propertyChanged()-signal of QDesignerPropertyEditorInterface. - [QTBUG-5492] Made widgetbox-filter match on class names, too. - Linguist - Linguist GUI - lupdate - lrelease - rcc - moc - uic - uic3 - [QTBUG-9207] Fixed export of image files of type XPM, added compatibility option -limit-xpm-linelength. - qmake - configure - qtconfig - qt3to4 **************************************************************************** * Plugins * **************************************************************************** **************************************************************************** * Important Behavior Changes * ****************************************************************************