diff options
Diffstat (limited to 'dist/changes-4.6.0')
-rw-r--r-- | dist/changes-4.6.0 | 963 |
1 files changed, 829 insertions, 134 deletions
diff --git a/dist/changes-4.6.0 b/dist/changes-4.6.0 index 182191b..7ca724c 100644 --- a/dist/changes-4.6.0 +++ b/dist/changes-4.6.0 @@ -8,12 +8,16 @@ The Qt version 4.6 series is binary compatible with the 4.5.x series. Applications compiled for 4.5 will continue to run with 4.6. Some of the changes listed in this file include issue tracking numbers -corresponding to tasks in the Task Tracker: +corresponding to tasks in the Qt Bug Tracker, the (now obsolete) Task +Tracker, or the Merge Request queue of the public source repository. - http://qt.nokia.com/developer/task-tracker +Qt Bug Tracker: http://bugreports.qt.nokia.com +Task Tracker: http://qt.nokia.com/developer/task-tracker +Merge Request: http://qt.gitorious.org -Each of these identifiers can be entered in the task tracker to obtain more -information about a particular change. +QTBUG-1234 - Qt Bug Tracker: http://bugreports.qt.nokia.com +MR#1234 - Merge Request: http://qt.gitorious.org +123456 - Task Tracker: http://qt.nokia.com/developer/task-tracker **************************************************************************** * General * @@ -22,174 +26,610 @@ information about a particular change. - QtDBus * The minimum required version of the D-Bus reference library is now 0.93. + * Support for reading and writing of custom property types added. + * Support for getting return arguments in remote method invocation + via QMetaMethod::invokeMethod. + - [MR#1742] Added new multimedia keys to the Qt::Key enum. + + - QMatrix4x4, QGenericMatrix, QVector2D, QVector3D, QVector4D, QQuaternion + * New classes to support 3D applications. + + - QGLShaderProgram, QGLShader + * New classes for using shader programs written in the GL Shading Language. + + - QGraphicsEffect + * New classes for applying graphics effects to graphics items and widgets. + + - Boxes demo ported to use new 3D math and shader program classes. + + - OpenVG graphics system added. + + - Added 800x480 screen mode to qvfb configuration dialog. + + - Improved support for input methods in graphics view. + + - QAudioInput, QAudioOutput + * New audio input and output classes. + + - QAbstractVideoSurface, QVideoFrame + * New abstract video output classes. + + - New state machine framework added to QtCore. + Third party components ---------------------- - - Updated FreeType to version 2.3.9 + - Updated FreeType to version 2.3.9. + + - Updated harfbuzz to the latest version from fd.org. + + - Updated sqlite to version 3.6.19. + + - Updated libpng to version 1.2.40 + **************************************************************************** * Library * **************************************************************************** - * [245219] Added QXmlQuery::setFocus(const QString &focus); +QtCore - - QGraphicsBlurEffect - * Since the 4.6 beta Qt::RenderHint has been moved to - QGraphicsBlurEffect::BlurHint. + - QByteArray + * New overloads for QByteArray::insert() and QByteArray::prepend(). + + - QEventDispatcherGlib (internal class) + * Fix a regression introduced in 4.5.3 that would cause timers to not + be delivered. + + - QEventDispatcherUNIX (internal class) + * Improve detection of monotonic clock support to include + non-POSIX.1-2001 compliant systems. + * [250681] Fix time change detection on UNIX systems without monotonic + timers. + + - QEventDispatcherWin32 (internal class) + * Changed the threshold for using multimedia timers to 20ms (was 10ms). + * Changed the way Qt's posted events are sent by the event + dispatcher. They are now driven on top of a Windows message + instead of an explicit call in processEvents(). This means that + posted events are sent even when a Windows modal message loop is + running (for example, when the user is moving a window or when a + native modal dialog is visible). + * Fixed a bug that would allow the same timer id to be used by multiple + QTimer instances. -QtCore + - QFile + * Make QFile::resize() more robust when operating on buffered files. - QObject - * [259514] fixed a possible dead-lock in the destructor - - - QVariant - * Many optimisations - * Added QVariant::toFloat() and QVariant::toReal() - * Added QVariant(float) constructor - * qvariant_cast<QVariant> and qVariantFromValue<QVariant> are now - identify functions + * [259514] fixed a possible dead-lock in the destructor. + * Added the possibility to pass the flag Qt::UniqueConnection to + QObject::connect. + * Fixed race conditions that occured when moving object to threads + while connecting. - - Qt::escape - * now escape the double quote (") + - QPluginLoader + * Improved performance of plugin loading by reusing the plugin cache + instead of loading it every time. + + - QProcessEnvironment + * New class; support for easy access to key/value pairs in the process + environment. + + - QRegExp + * New pattern syntax "QRegExp::WildcardUnix" with wildcard character + escaping. - QScopedPointer - * New pointer class for cleaning up objects when leaving the - current scope + * New pointer class for cleaning up objects when leaving the current + scope. - - QFile - * Make QFile::resize() more robust when operating on buffered files + - QSharedPointer + * Added support for creating the object along with the internal private + data in one single memory allocation. (QSharedPointer::create) + * Fixed a bug where, in a race condition, QSharedPointer could track a + pointer that was being deleted. - - QObject - * Added the possibility to pass the flag Qt::UniqueConnection to QObject::connect - * Fixed race conditions that occured when moving object to threads while connecting + - QTextCodec + * Instantiate the CP949 codec when building with -no-iconv. -- QTextStream + - QTextStream * [221316] Fixed crash on large input. + * Improved reading utf8/utf16/utf32 data by correctly skipping the + ByteOrderMark when reading data by one character at a time. + + - QThread + * [249997] Document that QThread priority has no effect on Linux. + + - QUrl + * Made QUrl hostname parser a lot stricter, requiring compliance + to STD3 to validate, thus preventing invalid hostnames from + being accepted. See below in "Important Behavior Changes". + + - QUuid + * [QTBUG-3543] Fixed a bug in createUuid() which caused multiple + threads to generate the identical UUID sequences. + + - QVariant + * Many optimisations. + * Added QVariant::toFloat() and QVariant::toReal(). + * Added QVariant(float) constructor. + * qvariant_cast<QVariant> and qVariantFromValue<QVariant> are now + identity functions. + * Added support for math3d types. + + - QWeakPointer + * Added support for tracking QObject-derived classes that aren't + attached to a QSharedPointer. + * Added QWeakPointer::data which allows you to obtain the pointer + being tracked (without protection). + * Added operator-> like the above data(), but requires a #define. + + - QXmlStreamWriter + * [256468] Fixed comment indentation. QtGui + - Qt::escape + * Now escape the double quote ("). + + - QAbstractItemView + * [256502] Fixes selectionModel::hasSelection return value after + model::reset. + + - QApplication + * [QTBUG-739] Removed internal widgets from QApplication::topLevelWidgets(). + + - QCalendarWidget + * [252943] QCalendarWidget::setDateTextFormat() reset the format if the + date is invalid. + + - QColumnView + * [246999] Fixed view not updating when the model changed dynamically. + + - QComboBox + * [220195] Fixed keyboard search when current index is -1. + - QCompleter - * [246056] Fixed a possible assertion when setting the completer prefix - + * [246056] Fixed a possible assertion when setting the completer prefix. + + - QEvent + * Introduced RequestSoftwareInputPanel and CloseSoftwareInputPanel events. + - QFontDialog - * [256466] fixed the dialog not always returning the selected style. - + * [256466] Fixed the dialog not always returning the selected style. + + - QFontEngine + * [QTBUG-2354] Support certain 'Microsoft' platform symbol fonts which + also contain a regular unicode table for exactly the symbol range of + code points. + + - QFontEngineQPF + * Make alphaMapForGlyph() generate the correct color table for + Indexed8 and Mono glyph images. Fixed the "all glyphs are white + boxes" problem in OpenGL1 paint engine. + + - QFontMetrics + * [176401] Account for right bearing in bounding rect. + + - QGraphicsAnchorLayout + * Support for expanding size policy has been removed. (The Qt 4.6 Beta + had support for it). + + - QGraphicsBlurEffect + * Since the 4.6 Beta, Qt::RenderHint has been moved to + QGraphicsBlurEffect::BlurHint. + * Input contexts are not activated for disabled widgets anymore. + * [250555] Data copied from Mozilla Firefox can now be pasted correctly to + a Qt application. + - QGraphicsItem - * Fixed bug and improved accuracy of QGraphicsItem::childrenBoundingRect(). * Many optimizations. - * Introduced QGraphicsItem::ItemHasNoContents - * Introduced QGraphicsItem::ItemSendsGeometryChanges (see Behavioral Changes) - * Introduced QGraphicsItem::focusProxy(), focus proxy support - * Introduced QGraphicsItem::ItemNegativeZStacksBehindParent - * Introduced QGraphicsItem::ItemIsPanel, light-weight window support + * Fixed bug and improved accuracy of QGraphicsItem::childrenBoundingRect(). + * Introduced QGraphicsItem::ItemHasNoContents. + * Introduced QGraphicsItem::ItemSendsGeometryChanges (see Behavioral + Changes). + * Introduced QGraphicsItem::focusProxy(), focus proxy support. + * Introduced QGraphicsItem::ItemNegativeZStacksBehindParent. + * Introduced QGraphicsItem::ItemIsPanel, light-weight window support. + * Introduced modality support for QGraphicsItem panels. * Introduced activation support. - * Introduced QGraphicsItem::stackBefore() + * Introduced QGraphicsItem::stackBefore(). * Cached items are now always invalidated when update() is called. + * Added input hints. + * Added a new set of properties to set a transformation on an item. + + - QGraphicsLayout + * Introduced QGraphicsLayout::addChildLayoutItem(). - QGraphicsObject - * New class; inherits QGraphicsItem and adds notification signals and property declarations. + * New class; inherits QGraphicsItem and adds notification signals and + property declarations. - QGraphicsProxyWidget - * [251407] Fixed window flag handling. Now QGraphicsProxyWidget's flags win. - * Fix Qt::ClickFocus policy + * [251407] Fixed window flag handling. Now QGraphicsProxyWidget's flags + win. + * Fix Qt::ClickFocus policy. - QGraphicsScene + * Many optimizations. * [245317] Fixes to mouse grabbing behavior. * Fixed delivery of double-click events after explicit grab and then ungrab. - * Rewrote the internal rendering to use a recursive instead of an iterative approach. - * Many optimizations. + * Rewrote the internal rendering to use a recursive instead of an iterative + approach. * Ensure hover enter events are delivered when an item is pressed. * Introduced activation support. * Fixed bugs in initial focus support. - QGraphicsTextItem - * Now inherits from QGraphicsObject instead + * Now inherits from QGraphicsObject instead. - QGraphicsTransform * New class; eases animation of transformations for QGraphicsItem. - QGraphicsView - * Fix mapToScene(QRect) to avoid extra unnecessary adjustments. * Many optimizations. - * Introduced QGraphicsView::isTransformed() - * [QTBUG-4151] Items with parent that sets ItemClipsChildrenToShape were sometimes invisible. + * Fix mapToScene(QRect) to avoid extra unnecessary adjustments. + * Introduced QGraphicsView::isTransformed(). + * [QTBUG-4151] Items with parent that sets ItemClipsChildrenToShape were + sometimes invisible. - QGraphicsWidget - * Now inherits from QGraphicsObject instead + * Now inherits from QGraphicsObject instead. + * Interactive resizing of top level windows now respects height-for-width + constraints. + * Reduced memory footprint. - QHeaderView - * [208320] Make sure the sort indicator s taken into account for the size hint - * [255574] Make sure the sizehint for the section depend on visible sections + * [208320] Make sure the sort indicator is taken into account for the size + hint. + * [255574] Make sure the size hint for the section depends on visible + sections. + + - QImageReader + * [255627] Fix floating point exception in + QImageReader::setScaledSize(QSize(0, 0)). + + - QLineEdit + * [248948] Clear selection when redoing a delete operation. + * [QTBUG-5261] Fixed bug where erasing characters from a textedit did not + update the text. + + - QListView + * [243335] Fixed the visualRect to return correct values when the widget is + not yet shown. - QMainWindow - * [226060] Adding actions to a toolbar would always make the next toolbar move + * [226060] Adding actions to a toolbar would always make the next toolbar + move. + + - QMenu + * [252610] Fixed position of the shortcut text while setting a stylesheet + on menu items - QMenuBar - * [260873] Fix mouse interaction while undocking a widget from the main window - * dock areas don't get a splitter if their dock widgets are not resizable - - - QColumnView - * [246999] Fixed view not updating when the model is changed dynamically - - - QListView - * [243335] Fixed the visualRect to return correct values when the widget is not yet show - - - QTreeView - * [234930] Be able to use :has-children and :has-sibillings in a stylesheet - * [252616] Set QStyleOptionViewItemV4::OnlyOne flag when painting spanning columns - * [245654] Fixed expandAll when deleting and recreating a mode for the tree - * [239271] Fixed missing update when adding a row when the first column is hidden - * [258225] Fixed scrollTo with center and bottom + * [260873] Fix mouse interaction while undocking a widget from the main + window + * Dock areas didn't get a splitter if their dock widgets were not + resizable. - - QTreeWidget - * [253109] Shows the widget when calling setItemWidget + - QPaintDevice + * New qt_paint_device_metric() function to replace the friend declarations + for window surface classes that need to access metric(). - - QTableView - * [191545] Selections work more similarly to well-known spreadsheets - * [234926] Fixed sorting after changing QTableView header - * [244651] [245327] [250193] [QTBUG-5062] Spans get plenty of love with - speed-up, support for rows/columns insertion/removal, and better keyboard - navigation + - QPainter + * [QTBUG-1666] Made QPainter::drawText() respect Qt::TextDontClip flag + also in vertical direction. + * [254658] Improved clipping performance in OpenGL paint engine. - - QTableWidget - * [234641] Fixed takeItem to cause the view to be updated. - - - QTabBar - * [196326] Fixed having a stylesheet on a QTabBar resulted in some tab names - to be slightly clipped. - * [241383] Added ability to style the close tab button with style sheet + - QPainterPath + * [QTBUG-1537] Fixed bug where the points of a rounded rectangle were added + in counter-clockwise order instead of clockwise order like other shapes. - - QComboBox - * [220195] Fixed keyboard search when current index is -1 + - QPen + * [QTBUG-2738] Made QPen::setDashOffset() work with non-custom dashed lines. - QPixmap * Optimized width(), height(), isNull() and depth(). + * [QTBUG-2832] Fixed bug where calling fill on pixmap with active painter + could crash. + + - QPlainTextEdit + * Fixed crash when clicking on a text edit which was smaller than the + height of the font used. + + - QPlastiqueStyle + * [QTBUG-3555] Fixed a bug in the Plastique style that would cause an + ASSERT failure in QFont when the application font has a pixel size set. + + - QPrinter + * [QTBUG-4497] Removed redundant SetPen command in the postscript code when + reusing a QPrinter object. + + - QPrintPreviewDialog now uses a QMainWindow with a proper QToolBar, instead + of a plain layout. + + - QPushButton + * [255581] Fixed sizeHint recalculation bug. + + - QRasterPaintEngine + * [QTBUG-4210] Fixed bug where bitmaps were painted black instead of in pen + colour. - QRegion * Minor optimizations. + - QSortFilterProxyModel + * [251296] Fixed bugs in which filtered items could not be filtered. + + - QSplitter + * [206494] Added ability to style pressed slider with stylesheet. + - QSpinBox - * [259226] Fixed setting a stylesheet on a QSpinBox to change the arrow possition + * [259226] Fixed setting a stylesheet on a QSpinBox to change the arrow + position. + * [255051] Fixed sizeHint update bug. - QStandardItemModel - * [255652] Fixed crash while using takeRow with a QSortFilterProxyModel + * [255652] Fixed crash while using takeRow with a QSortFilterProxyModel. - - QGraphicsItem - * Added a new set of properties to set a transformation on a item + - QStroker + * [QTBUG-5212] Fixed bug where thick strokes around small shapes could + cause holes in the stroke. - - QMenu - * [252610] Fixed position of the shortcut text while setting a stylesheet on menu items + - QTabBar + * [196326] Fixed having a stylesheet on a QTabBar resulted in some tab + names being slightly clipped. + * [241383] Added ability to style the close tab button with style sheet - - QSortFilterProxyModel - * [251296] Fixed bugs in which filtered items could not be filtered. + - QTableView + * [191545] Selections work more similarly to well-known spreadsheets. + * [234926] Fixed sorting after changing QTableView header. + * [244651] [245327] [250193] [QTBUG-5062] Spans get plenty of love with + performance improvements, support for row/column insertioa and removal, + and better keyboard navigation. - - QSplitter - * [206494] Added ability to style pressed slided with stylesheet + - QTableWidget + * [234641] Fixed takeItem to cause the view to be updated. + + - QTextDocument + * [207189] Support setting font size using short hand syntax in the + CSS "font" property. + * [201228] Remove implicit margin on bullet lists when exporting to HTML. + * [240086] Fixed bug which caused floating objects which span several + pages to float into the second page of the document even when it's + the only existing object, causing the document to contain a blank + first page. + * [240325] Even with wrap mode set to Qt::TextWordWrap, the layout + would sometimes break outside word boundaries when floating objects + affected the width available to the text. + + - QTextLayout + * [QTBUG-4468] Count tabs as multiple characters when applying a fixed + column width. + * [176401] Take into account the negative right bearing of the last + character in an item of text if the glyph extends beyond its ascent. + + - QToolTip + * Fixed a bug where tooltips were not shown in popups (Windows only). + + - QTreeView + * [234930] Be able to use :has-children and :has-sibillings in a stylesheet. + * [252616] Set QStyleOptionViewItemV4::OnlyOne flag when painting spanning + columns. + * [245654] Fixed expandAll when deleting and recreating a mode for the tree. + * [239271] Fixed missing update when adding a row when the first column is + hidden. + * [258225] Fixed scrollTo with center and bottom. + + - QTreeWidget + * [253109] Shows the widget when calling setItemWidget. - QWidget - * [201649] Added QWidget::previousInFocusChain + * Added inputMethodHints property. + * [201649] Added QWidget::previousInFocusChain. + * [254563] Fixed a crash when setting focus in a widget tree that + contains invisible widgets. + * [QTBUG-5012] Fixed uninitialized background when using QWidget::render + with Qt::WA_NoSystemBackground and window opacity set. + +QtDBus + + - QDBusConnection + * Made sending of invalid/incomplete messages consistently fail with error + (no more assertions). + * [249528/QTBUG-3833] Added an overload of connect() that allows one to + specify strings for matching arguments. + + - QDBusServiceWatcher + * New class; supports efficiently watching for a service to be created, + deleted or to change owners. + +QtNetwork + + - QAbstractSocket + * Only disconnect from host when all bytes have been written. + * New setSocketOption method. + + - QHttp + * Do not buffer the complete POST data anymore when HTTPS is used. + * QHttp is now obsolete and replaced by QNetworkAccessManager. + + - QLocalServer + * Fix timeout when waiting for a connection on Unix. + + - QNativeSocketEngine + * Do not set the OS socket send and receive buffer size. The OS + should auto tune these values for us. + + - QNetworkAcessManager + * [242916] Add possibility to send HTTP DELETE requests. + * Connection count per HTTP server increased to 6 on Desktop, 3 on Symbian. + * Optional HTTP pipelining support. + * General HTTP performance improvements. + + - QNetworkReply + * [257322] Add possibility to ignore specific SSL errors. + * New isFinished() method. + + - QSslCertificate + * [251830] Fix version() and serialNumber() methods. + + - QSslSocket + * [257322] Add possibility to ignore specific SSL errors. + * Fix build with openssl 1.0.0 betas. + * Trigger a SSL transmission when reading from the socket. In certain + cases the connection stalled when a buffer limit was used. + +QtOpenGL + + - QGLColormap + * setEntry() was inserting entries instead of replacing them. + * Clarified documentation for isEmpty(). + + - QGLContext + * Fix RGB565 mode in bindTexture(). + * Map mipmaps work on OpenGL/ES 2.0 systems in bindTexture(). + * Improve performance of QGLContext::currentContext(). + + - QGLFormat + * Increase unit test coverage and fix some long-standing issues. + * Improve performance of code that tests QGLFormat options. + * operator==() now tests for equality on all fields. + + - QGLFramebufferObject + * Add support for the ARB_framebuffer_object, OES_framebuffer_object, + and OES_packed_depth_stencil extensions. + * Unbind the texture after it is initialized. + * Don't destroy the texture target on cleanup if one wasn't created. + + - QGLFramebufferObjectFormat + * New class for controlling fbo options. + + - Improvements to context sharing and object cleanup logic. + + - QGLGradientCache + * [249919] Clean up the gradient cache in the right context. + + - OpenGL (ES) 2.0 Paint Engine + * Re-written the OpenGL (ES) 2.0 Paint Engine's shader manager to use new + shader API and to allow custom code from E.g. Pixmap Filters to be + instered into the fragment "pipeline". + * Fixed conical gradients. + + - Added a static function, QGL::setPreferredPaintEngine(), to allow users + to set the preferred GL paint engine. + + - Cleaned up usage of OpenGL extensions. QtOpenGL now uses the OpenGL 2.0 + names of methods rather than using the EXT postfix. However, when resolving + extensions, QtOpenGL will also try postfixing EXT if the OpenGL 2.0 name is + not found. + + - Fix QGLWidget::showFullscreen() on EGL platforms. + + - Added lots of OpenGL autotests. + +QtScript + + - Many optimizations. + - Improved ECMA script compliance. + - New method, QScriptString::toArrayIndex(), for converting QScriptString + to a QtScript array index. + +QtSql + + - [QTBUG-3162] Views for Sql table models should not reset state on failed + queries. + - [QTBUG-5251] Fix retrieval of SQL 'TIME' information for PostgreSQL. + - Better error checking in case of failed query. + - [QTBUG-5179] Fixed floating point number truncation in qsqlpsql plugin. + - [QTBUG-551] Fixed Oracle batchExec using strings as out params. + - Updated sqlite to 3.6.19 + readded our patches. + - [QTBUG-3736] ODBC: Retrieved in ascii, should be stored in ascii. + - Fixed issue with multiple lookups to same table/field in + QSqlRelationalTableModel. + - Updated documentation of setForwardOnly. + - [QT-754] TDS: Fixed improper formatting of date values. + - TDS: Fixed missing field/table name escaping. + - ODBC: Fixed setForwardOnly not being reset on when the query is reset. + - [QTBUG-4510] Add reconnection option to the mysql driver. + - [222678] Fixed QSqlTableModel: trying to delete the wrong row. + - Interbase: Fixed crash when calling numRows on unknown query type. + - DB2: Don't return an error when the table is just empty. + - [17327] Added OCI support for synonyms to tables created by another user. + - [176267] Fixed mysql driver not knowing the difference between tables and + views. + - Fixed determination of end of ODBC string on deficient drivers. + - Added ability to open sqlite databases readonly. + - Fixed race condition on reopening an ODBC connection. + - Fixed invalid use of statics in the defaultCasing code. + - Fixed proper quoting under odbc. + - [252450 & 246125] Fixed failed queries due to MySql driver auto-preparing. + - QSqlDatabase now has a database level precisionPolicy. Queries now default + to this. + - Add proper iODBC linking support. + +QtSvg + + - QSvgHandler + * [245602] [204686] Fixed gradient and solid-color referencing. + * [202426] Made attribute inheritance work with 'use' tags. + * [250618] Fixed gradient on strokes. + * [254040] Added support for 'vector-effect'. + + - QSvgPaintEngine + * [257052] Changed drawImage() to ignore aspect ratio. + +QtWebKit + + - Many bug fixes. + + - QWebElement + * New class; introduced to implement DOM like operations on a web page. + + - QWebFrame + * New properties for an URL and a focus management. + * New signals delivering current loading status. + + - QWebInspector + * New class for embedding the WebInspector as a QWidget + + - QWebHistory + * Streaming operators for saving and restoring QWebHistory's state. + + - QWebPage + * New property; preferredContentsSize for setting layout of the page in the + viewport. + * New slot; shouldInterruptJavaScript, called when JavaScript program is + running too long. + + - QWebSecurityOrigin: + * New functions for defining local URL schemes. + + - QWebSettings + * New options for text encoding, printing shrink factor and off-line web + application cache (HTML5). + + - QWebView + * Support for render hints. + +QtXml + + - QDomDocument + * Set the codec to UTF-8 if codec not present or unknown. + +QtXmlPatterns + + - QXmlQuery + * [245219] Added QXmlQuery::setFocus(const QString &focus). + +Qt Plugins + + - Tiff plugin + * [258526] Rotate the image if the tiff file contains an orientation tag. + * [254317] Add support for mono and indexed format - QPlainTextEdit * Fixed crash when clicking on a text edit which was smaller than the @@ -233,6 +673,86 @@ QtGui - Added community supported Qt ports for QNX and VxWorks. See platform notes in the Qt documentation for details. + - Improved support for AIX using IBM's Visual Age C/C++ compiler + version 7 (xlC). + + - Improved support for Solaris using Sun Studio 12 (CC 5.9). + +Qt for Unix (X11 and Mac OS X) +------------------------------ + + - Added support for thread-safe FD_CLOEXEC file-descriptor creation + where supported by the operating system (currently only Linux). + + - Ensured that system calls where EINTR is a possible result are + properly restarted. + +Qt for Linux/X11 +---------------- + + - KDE Integration: Improved the integration into KDE desktop (loading of KDE + palette, usage of KColorDialog and KFileDialog) using the GuiPlatformPlugin + + - Fixed pasting the clipboard content to non-Qt application on X11 when the + requested format is image/ppm. + + - On X11, Qt now supports the _NET_WM_SYNC protocol. + + - On X11, Qt now supports the SAVE_TARGET protocol that allows to keep + clipboard contents if the application that owns the clipboards exits + + - [QTBUG-4652] On X11, clipboard content can be properly retrieved even when + an application asks for the unsupported target. This fixes copying and + pasting data when using Synergy. + + - [MR#797] Fixed a crash when using QX11EmbedContainer/Widget on x86_64. + + - [MR#1111] Emit workAreaResized when _NET_WORKAREA is changed on X11. + + - [QTBUG-3620] Fixed bug on X11 that caused bitmap fonts to become so small + it was unreadable when printed or presented in a print preview widget. + + - Improved EGL integration on X11 (including better visual selection). + + - Made Qt::WA_TranslucentBackground work in combination with native + child widgets. + + - Support Qt::WA_TranslucentBackground on top-level QGLWidgets on X11, both + (EGL & glX). This allows OpenGL (& ES) rendering to semi-transparent widgets + if a compositing window manager is running. + + - Support OpenGL texture_from_pixmap extension on X11 (EGL & glX) when + calling QPainter::drawPixmap() with the OpenGL paint engine, or calling + QGLContext::bindTexture() on an X11 QPixmap. If the + GLX_EXT_texture_from_pixmap or EGL_NOKIA_texture_from_pixmap extensions are + present, Qt will attempt to use glXBindTexImageEXT or eglBindTexImage to + bind the pixmap to a texture, rather than copying the pixel data. + + - Add new experimental QX11GLPixmapData backend for QPixmap. This pixmap + backend uses regular X11 pixmaps to store the image data, however it uses + OpenGL to render into them. + + - Tablet: Disable event compression of events of type QTabletEvent when the + current event is accepted by the receiver. + + - [QTBUG-4242] Fixed a bug that allowed the user to close a window + event though the program is using the QEventLoop::ExcludeUserInputEvents + flag. + + - [255559] Fixed generation of XdndLeave events to include the correct + source id. + + - [258319] Avoid division by zero on some Xlib/Xserver implementations. + + - Fixed the default QWidget size on X servers with Xinerama to give widgets + a default size that should fit on a single screen. + + - Support _NET_WORKAREA on X servers with Xinerama (previously this property + was ignored). + +Qt for Windows +-------------- + - Significant external contribution from Milan Burda for planned removal of (non-unicode) Windows 9x/ME support. @@ -243,23 +763,95 @@ QtGui QRegion. The native handle is for reading out only. Any GDI calls made on the HRGN handle will not affect the QRegion. + - The reading code of QLocalSocket on Windows has been rewritten to improve + reading performance. + + - On Windows when a file cannot be accessed (stat()ed), we are now restoring + the error mode to the original value. + - [259221] QFileInfo::symLinkTarget() now supports NTFS symbolic links thanks to Konstantin Ritt (merge request 1217). + - [251554] Fixed openUrl("mailto:") with Thunderbird on Windows. + - [254501] QDestopServices now supports cyrillic file names. + - Fixed an issue which prevents moving fixed size windows using titlebar. + - [258087] Fixed an issue on Vista which returns incorrect file paths when + using QFileDialog::getOpenFileNames() + - [253763] Fixed a focus issue when using out-of-process ActiveQt controls. + - [255912] Mouse move events will not be delivered to a blocked widget. + - [225588] Enabled IME reconversion support. - - The reading code of QLocalSocket on Windows has been rewritten to improve - reading performance. + - Phonon on Windows + * Now much more reliable when reading a file through a QIODevice. + * If Video Mixing Renderer 9 is not available, falls back to software + rendering. + * Fixed a flicker issue when switching source with a transition time of 0. + + - [QTBUG-4445] Fixed bug on Windows that caused problems when printing + text where several characters were represented by a single glyph, e.g. + a double 't' with the Calibri font. + + - Added QSysInfo::WV_WINDOWS7 and QSysInfo::WV_6_1. + + - Changed QPrintDialog under Windows to use PrintDlgEx, instead of the old + deprecated PrintDlg call. + +Qt for Mac OS X +--------------- + + - General changes on Mac OS X: + * Mac OS X version support: Support for 10.3(Panther) has been dropped and + support for 10.6(Snow Leopard) has been added. + * The Cocoa port now supports static linking. + * The Cocoa port now supports the Qt3Support library (with the exception of + Q3FileDialog) to ease the transition from Carbon to Cocoa. + * The Cocoa binary packages are now Intel only (universal i386 and x86_64). + * Snow Leopard notes: + - Gcc 4.2 is used by default. Configure with -platform macx-g++40 to + select 4.0. + - Using the 10.4u SDK requires gcc 4.0. + - Configuring for the Cocoa port (-cocoa) produces 64-bit binaries by + default. Use the -arch flags to override. + - Building for ppc64 is no longer supported by the gcc tool chain. + - Building for ppc is still supported. + * Added support for GetURL events on Mac OS X. + + - General bug fixes: + * [123740] Fixed an issue with dead keys on Mac (cocoa) on French keyboard + layout. + * [258438] Enabled Emacs style keyboard shortcuts. + * [QTBUG-4418] Fixed maximizing and restoring a window. + + - Cocoa bug fixes: + * [252088] Drag Leave events will be delivered correctly on Cocoa. + * [257661] Cocoa now uses the correct line ending for clipboard plain text. + * [258173] Fixed an issue which caused "whatsthis" pointer to flicker. + * Fixed some warnings that might get printed when reparenting QGLWidget. + * Fixed stacking order of modal dialogs so that they never rearrange level, + or hide in the background. + * Fixed problem with plugins written with Qt that closes down the native + application when hiding a modal dialog. + * Fixed problem that native applications cannot quit when using plugins + written with Qt from a native application. + * Fixed problem that the menubar is not restored correctly when using + plugins written with Qt from a native application. + * The event dispatcher now integrates better with native applications that + spin the event loop themselves. + * Using Qt::AA_MacPluginApplication will now disable the use of native + menubars on Mac. + * Sliders and scroll views in Qt now use pixel scrolling for mouse devices + that support this. + * Wheel events can now contain a delta with a value as low as 1 for mouse + devices that use pixel scrolling. + +Qt for Embedded Linux +--------------------- - - On Windows CE the link time code geration has been disabled by default to - be consistent with win32-msvc200x. - - Added QMAKE_LIBS_OPENGL_ES1, QMAKE_LIBS_OPENGL_ES1CL and QMAKE_LIBS_OPENGL_ES2 qmake variables for specifying OpenGL ES specific libraries. - - KDE Integration: Improved the integration into KDE desktop (loading of KDE - palette, usage of KColorDialog and KFileDialog) using the GuiPlatformPlugin + - Compilation fixes for OpenGL/ES 1.0 and OpenGL/ES 1.1 Common Lite. - - Phonon on Windows * Now much more reliable when reading a file through a QIODevice. * If Video Mixing Renderer 9 is not available, falls back to software @@ -273,28 +865,114 @@ QtGui text where several characters were represented by a single glyph, e.g. a double 't' with the Calibri font. + - EGL and OpenGL/ES + * Protect the use of version-specific EGL symbols with #ifdef's. + * Make sure an EGL context is current when resolving GL extensions. + * Introduce "lazyDoneCurrent" for optimizing context switching in + paint engines. + * Separate EGLSurface from QEglContext so that the same context can + be used with multiple surfaces. + * Move common functions from system-specific files to qgl_egl.cpp. + * Fix a memory leak of EGLSurface's in QGLContext. + * Fix detection of pbuffers on OpenGL/ES systems. + * EGL_SAMPLES was being set to the wrong value for multisampled surfaces. + + - PowerVR + * Make the code better at detecting MBX vs SGX header files. + * Fix 32-bit screen support - some code was still assuming 16-bit. + * Stop GL window surfaces double-flushing their contents. + * Remove surface holder, which never worked all that well. + * Implement screen rotations. + + - Mouse and keyboard drivers + * Removed obsolete drivers (vr41xx, yopy, sl5000, bus mouse). + * Added a new LinuxInput driver for both mouse and keyboard. + * Added keymap support for QWS via standard Linux .kmap files. + (complete with dead-keys, compose-key and LED handling). + + - Remove obsolete OpenGL/ES screen drivers: hybrid, ahigl. + + - Send enter/leave events also to child widgets. + + - Fix crash when instantiating multiple QApplications. + + - Optimize software cursor by using native image format instead of 8-bit. + + - [255828] Avoid window decoration flicker on show. + + - [255495] Fix blend function crash on AVR32. + + - Fix qconfig configurations. + + - Add powerpc mkspec and remove "empty" ppc mkspec . + +Qt for Windows CE +----------------- + + - On Windows CE the link time code generation has been disabled by default to + be consistent with win32-msvc200x. + - The default button size has been reduced in the Windows mobile style. + - [QTBUG-3613] QWizard issues have been fixed on Windows mobile. + - [254673] Restoring minimized widgets fixed for Windows mobile and + Windows CE. + - [255242] Seeking within large files (bigger than 0x80000000 bytes) fixed + on Windows CE. + - [257352] When configuring Qt for Windows CE, configure points the user to + setcepaths, when its done. + - [259850] Added a makespec template for Windows CE 6. + - Fixed the hardcoded GL library names for Windows CE. + **************************************************************************** * Tools * **************************************************************************** -- Designer - - - [233683] Promoted Widgets are now stored correctly in scratchpad. - - [249823] Added search functionality to the resource browser. - - [254282] Enabled the use of promoted widgets in form templates. - - [254824] Made it possible to override the createAction()/createWidget() - functions of QUiLoader. - - [256332] Enabled deleting all pages of a QTabWidget or QStackedWidget. - - [259238] Fixed menubar/menu editing in right-to-left mode. - - [259918] Fixed setting of object names for container pages not to use - localized strings. - - [260658] Fixed saving of alpha values set in the palette editor. - - It is now possible to further specify the kind of custom widget - string properties using XML tags. - -- uic3 + - Designer + * [233683] Promoted Widgets are now stored correctly in scratchpad. + * [249823] Added search functionality to the resource browser. + * [254282] Enabled the use of promoted widgets in form templates. + * [254824] Made it possible to override the createAction()/createWidget() + functions of QUiLoader. + * [256332] Enabled deleting all pages of a QTabWidget or QStackedWidget. + * [259238] Fixed menubar/menu editing in right-to-left mode. + * [259918] Fixed setting of object names for container pages not to use + localized strings. + * [260658] Fixed saving of alpha values set in the palette editor. + * It is now possible to further specify the kind of custom widget string + properties using XML tags. + + - uic + * [260784] Generated code for retranslateUi doesn't cause compiler warnings + anymore. + + - uic3 + * [128859] Fixed code generation of QLabel's wordWrap property. + + - qdoc3 + * Changed qdoc3 binary to be in bin/ instead of a platform specific location. + + - Linguist + * Linguist GUI: Experimental support for editing multi-length strings. + * lupdate is now again the only tool which can parse program code. + * lupdate + - Actually guess the target language from the file name. + - Make -{source,target}-language actually override values from files. + - C++ parser + * Properly support "using namespace", etc. + * Remove the obsolete TRANSLATOR hack relating to "using namespace". + * Support attaching meta data to translatable message. + * Actually use the argument of Q_DECLARE_TR_FUNCTION. + * Optimization. + * Bug fixes and robustness improvements. + * lrelease + - Add -markuntranslated <prefix> option. + * Both lupdate & lrelease + - Accuracy improvements of the qmake .pro file parser. + - Support for ID-based translations. Somewhat experimental. + * lconvert + - Add --sort-contexts option. + - Add --locations option (complementing lupdate). + - Add --no-ui-lines option (complementing lupdate). - - [128859] Fixed code generation of QLabel's wordWrap property. **************************************************************************** * DirectFB * @@ -336,9 +1014,7 @@ QtGui most boards and loading these images will generally require an image conversion anyway. - - Fix a bug regarding QGraphicsProxyWidgets - - - Fix a crash when resizing windows + - Fix a crash when resizing windows. - Compile with versions < 1.0. We still recommend using newer versions. @@ -401,7 +1077,7 @@ QtGui - QDesktopWidget on X11 no longer emits the resized(int) signal when screens are added or removed. This was not done on other platforms. Use the - screenCountChanged signal instead + screenCountChanged signal instead. - QUrl's parser is more strict when for hostnames in URLs. QUrl now enforces STD 3 rules: @@ -417,7 +1093,7 @@ QtGui before, but weren't interpreted as such. - The Unix configure-time check for STL is stricter now in Qt - 4.6.0. This means some legacy STL implementations may fail to pass + 4.6. This means some legacy STL implementations may fail to pass the test and, therefore, Qt will automatically disable STL support. This is a binary-compatible change: existing code will continue to @@ -444,14 +1120,33 @@ QtGui - On Mac OS X, QDesktopServices::storageLocation(DataLocation) now includes QCoreApplication::organizationName() and QCoreApplication::applicationName() if those are set. This matches the behavior on the other platforms. - + - The Animation Framework - * currentTime() now returns the complete current time including previous loops - * currentLoopTime() returns the time inside the current loop - * stateChanged signal sends the new state as first parameter and old state as - the second - * QAnimationGroup::clearAnimations() has been renames to clear() - * QAnimationGroup::insertAnimationAt() has been renames to insertAnimation() - * QAnimationGroup::takeAnimationAt() has been renames to takeAnimation() - * QSequentialAnimationGroup::insertPauseAt() has been renames to insertPause() + * currentTime() now returns the complete current time including previous + loops. + * currentLoopTime() returns the time inside the current loop. + * stateChanged signal sends the new state as first parameter and old state + as the second. + * QAnimationGroup::clearAnimations() has been renamed to clear(). + * QAnimationGroup::insertAnimationAt() has been renamed to + insertAnimation(). + * QAnimationGroup::takeAnimationAt() has been renamed to takeAnimation(). + * QSequentialAnimationGroup::insertPauseAt() has been renamed to + insertPause(). + * [QT-941] Avoids timer ticks when there are only pause animations running. + +- Refactoring in OpenGL examples to improve portability and utilize the + Animation framework for animation. The hellogl and overpainting examples + now compile on OpenGL/ES 1.1. Also common code is factored. + +- Changed QWebFrame::setHtml() and setContent() to not affect the back/forward + and the session history. + +- qmake no longer adds Qt internal dependencies to the linker when Qt + is built in shared mode (not static). This means that applications + that made use of platform-specific API may need to adjust the LIBS + variable in their .pro files to match: + + X11: LIBS += -lX11 + Mac: LIBS += -framework AppKit -framework Carbon |