summaryrefslogtreecommitdiffstats
path: root/dist/changes-4.6.0
diff options
context:
space:
mode:
Diffstat (limited to 'dist/changes-4.6.0')
-rw-r--r--dist/changes-4.6.01176
1 files changed, 1176 insertions, 0 deletions
diff --git a/dist/changes-4.6.0 b/dist/changes-4.6.0
new file mode 100644
index 0000000000..2ebdc7ccef
--- /dev/null
+++ b/dist/changes-4.6.0
@@ -0,0 +1,1176 @@
+Qt 4.6 introduces many new features and improvements as well as bugfixes
+over the 4.5.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.6
+
+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 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
+Task Tracker: http://qt.nokia.com/developer/task-tracker
+Merge Request: http://qt.gitorious.org
+
+****************************************************************************
+* General *
+****************************************************************************
+
+New features
+------------
+
+ - QState, QStateMachine
+ * New classes for state machine framework added to QtCore.
+
+ - QAbstractAnimation
+ * New animation framework added to QtCore
+
+ - QTouchEvent
+ * New class for handling multitouch events added to QtGui
+
+ - QGesture, QGestureRecognizer
+ * New gesture framework added to QtGui
+
+ - 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.
+
+ - QWebElement
+ * New class for DOM access added to QtWebKit
+
+ - QAudioInput, QAudioOutput
+ * New audio input and output classes.
+
+ - QAbstractVideoSurface, QVideoFrame
+ * New abstract video output classes.
+
+ - OpenVG graphics system added.
+
+ - Added 800x480 screen mode to qvfb configuration dialog.
+
+ - Improved support for input methods in graphics view.
+
+ - [MR#1742] Added new multimedia keys to the Qt::Key enum.
+
+ - Boxes demo ported to use new 3D math and shader program classes.
+
+ - QtTest now supports outputting XUnit XML documents, for integrating
+ with existing continuous integration systems. This is enabled by
+ running the test program with the -xunitxml option.
+
+ - 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.
+
+ - The QtScript module is now based on the 3rdparty JavaScriptCore library. It
+ is only available under the LGPL or a compatible license.
+
+Optimizations
+-------------
+
+ - Optimized rendering strategy in QGraphicsView
+ * See list of Important Behavior Changes below
+
+ - Improved delivery of posted events on Windows
+
+
+****************************************************************************
+* Library *
+****************************************************************************
+
+QtCore
+------
+ - QAbstractItemModel
+ * [MR#972] Added API to move items
+ * [MR#1072] Added function beginResetModel() / endResetModel()
+
+
+ - QByteArray
+ * New overloads for QByteArray::insert() and QByteArray::prepend().
+ * [MR#1286] Added value_type typedef for STL compatibility
+
+ - 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.
+
+ - QFile
+ * Make QFile::resize() more robust when operating on buffered files.
+
+ - QObject
+ * [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.
+
+ - 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.
+
+ - 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.
+
+ - QTextCodec
+ * Instantiate the CP949 codec when building with -no-iconv.
+
+ - 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 QVariant::fromValue<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 (&quot;).
+
+ - QAbstractItemView
+ * [256502] Fixes selectionModel::hasSelection return value after
+ model::reset.
+ * [MR#1426] Fixes some issues with Shift-selection
+ * [MR#1668] New QAbstractItemView::setDefaultDropAction
+
+ - 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.
+
+ - QEvent
+ * Introduced RequestSoftwareInputPanel and CloseSoftwareInputPanel events.
+
+ - QFontDialog
+ * [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
+ * Many optimizations.
+ * 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().
+ * 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.
+
+ - QGraphicsProxyWidget
+ * [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.
+ * 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.
+
+ - QGraphicsTransform
+ * New class; eases animation of transformations for QGraphicsItem.
+
+ - QGraphicsView
+ * Many optimizations.
+ * 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.
+ * Interactive resizing of top level windows now respects height-for-width
+ constraints.
+ * Reduced memory footprint.
+
+ - QHeaderView
+ * [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.
+ * [MR#666] Fixed selection with Shift-Arrow/Shift-Click in QListView's IconMode
+
+ - QMainWindow
+ * [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 didn't get a splitter if their dock widgets were not
+ resizable.
+
+ - QPaintDevice
+ * New qt_paint_device_metric() function to replace the friend declarations
+ for window surface classes that need to access metric().
+
+ - QPainter
+ * [QTBUG-1666] Made QPainter::drawText() respect Qt::TextDontClip flag
+ also in vertical direction.
+ * [254658] Improved clipping performance in OpenGL paint engine.
+
+ - 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.
+
+ - 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
+ position.
+ * [255051] Fixed sizeHint update bug.
+
+ - QStandardItemModel
+ * [255652] Fixed crash while using takeRow with a QSortFilterProxyModel.
+
+ - QStroker
+ * [QTBUG-5212] Fixed bug where thick strokes around small shapes could
+ cause holes in the stroke.
+
+ - 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
+
+ - 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.
+
+ - 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.
+ * [MR#681] Added support for roman numbering for lists
+ * [MR#1753] Fixed escaping HTML attributes QTextDocument::toHtml()
+
+
+ - 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.
+ * [MR#1393] Use stable sorting.
+
+ - QWidget
+ * 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 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
+
+Third party components
+----------------------
+
+ - 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
+
+
+****************************************************************************
+* Platform Specific Changes *
+****************************************************************************
+
+ - Added support for the Symbian platform with integration for the S60
+ framework.
+
+ - 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.
+
+ - QRegion is no longer a GDI object by default. This means it is no
+ longer subject to gui-thread only nor does it potentially impact
+ the 10.000 GDI object limit per process. By explicitly calling
+ .handle() a GDI object will be created and memory managed by
+ 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.
+
+ - 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
+---------------------
+
+ - Added QMAKE_LIBS_OPENGL_ES1, QMAKE_LIBS_OPENGL_ES1CL and
+ QMAKE_LIBS_OPENGL_ES2 qmake variables for specifying OpenGL ES
+ specific libraries.
+
+ - 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
+ rendering.
+ * Fixed a flicker issue when switching source with a transition time of 0
+
+ - [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.
+
+ - [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.
+
+ - 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 .
+
+DirectFB
+--------
+
+ - When running Qt/DirectFB the DirectFB window id of a top level QWidget can
+ be queried using property("_q_DirectFBWindowID")
+
+ - Allow setting the background color of the primary layer in DirectFB with
+ connect options. QWS_DISPLAY=directfb:bgcolor=red or
+ QWS_DISPLAY=directfb:bgcolor=\#aabbccdd
+
+ - Add support for rendering mouse cursor using a top level window when cursor
+ support is not working in IDirectFBDisplayLayer. Define
+ QT_DIRECTFB_WINDOW_AS_CURSOR to enable.
+
+ - Add experimental support for optimized locking/unlocking of surfaces. Enable
+ by defining QT_DIRECTFB_SUBSURFACE.
+
+ - Fix a bug to conceptually allow using QDirectFBScreen as a subscreen of a
+ proxy screen. Don't make QDirectFBScreen::instance() assume that
+ QScreen::instance() is a QDirectFBScreen.
+
+ - Optimize move/resize operations with DirectFB. With a properly configured
+ DirectFB these operations are handled for us and we don't need to force a
+ repaint of the window.
+
+ - Support top level window opacity in DirectFB
+
+ - Fix a bug when loading RGB32 images that would lead to rendering issues.
+
+ - Fix a bug when painting with invalid pens/brushes.
+
+ - Fix a bug that would show up when QWidget::scroll is called.
+
+ - Implement support for loading pixmaps using IDirectFBImageProvider.
+
+ - Disable color table support by default. This seems to work incorrectly on
+ most boards and loading these images will generally require an image
+ conversion anyway.
+
+ - Fix a crash when resizing windows.
+
+ - Compile with versions < 1.0. We still recommend using newer versions.
+
+ - Considerable code cleanup
+
+ - Various optimizations regarding painting, loading of images and creation of
+ surfaces.
+
+ - Allow forcibly falling back to raster engine for painting operations by
+ exporting QT_DIRECTFB_FORCE_RASTER=1
+
+ - Reenable support for RGB32 primary surface.
+
+
+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.
+
+ - 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).
+
+
+****************************************************************************
+* Important Behavior Changes *
+****************************************************************************
+
+ - The experimental Direct3D paint engine has been removed. The reason for
+ this is that Nokia focuses on OpenGL for desktop hardware accelerated
+ rendering.
+
+ - The default engine used to draw onto OpenGL buffers has changed in
+ Qt 4.6. The QPaintEngine::OpenGL2 engine is now used as the default
+ engine. This *may* cause compatibility problems for applications
+ that use a mix of QPainter and native OpenGL calls to draw into a GL
+ buffer. Use the QGL::setPreferredPaintEngine() function to enforce
+ usage of the old GL paint engine.
+
+ - When mixing OpenGL and QPainter calls you need to surround your
+ custom OpenGL calls with QPainter::beginNativePainting() and
+ QPainter::endNativePainting().
+ This is to ensure that the paint engine flushes any pending drawing and sets
+ up the GL modelview/projection matrices properly before you can issue custom
+ OpenGL calls, and to let the paint engine synchronize to the painter state
+ before resuming regular QPainter based drawing.
+
+ - Graphics View has undergone heavy optimization work, and as a result of
+ this work, the following behavior changes were introduced.
+
+ a) QStyleOptionGraphicsItem::exposedRect now contains the item's bounding
+ rectangle, and QStyleOptionGraphicsItem::matrix is uninitialized by
+ default. You can enable an exact exposed rectangle and a correct matrix
+ by enabling the flag QGraphicsItem::ItemUsesExtendedStyleOptions.
+
+ b) QStyleOptionGraphicsItem::levelOfDetails is obsoleted and its value is
+ always initialized to 1. Instead you can call
+ QStyleOptionGraphicsItem::levelOfDetailFromTransform(const QTransform &)
+ to determine the level of detail.
+
+ c) QGraphicsView no longer calls QGraphicsView::drawItems(), and in turn
+ QGraphicsScene::drawItems(), by default. You can get the old behavior
+ back by enabling QGraphicsView::IndirectPainting.
+
+ d) QGraphicsItem no longer calls itemChange() for position and
+ transformation changes. If you want to receive notifications for changes
+ to the item's position and transformation, you can set the flag
+ QGraphicsItem::ItemSendsGeometryChanges (which is enabled by default by
+ QGraphicsWidget and QGraphicsProxyWidget).
+
+ - 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.
+
+ - QUrl's parser is more strict when for hostnames in URLs. QUrl now
+ enforces STD 3 rules:
+
+ * each individual hostname section (between dots) must be at most
+ 63 ASCII characters in length;
+
+ * only letters, digits, and the hyphen character are allowed in the
+ ASCII range; letters outside the ASCII range follow the normal
+ IDN rules
+
+ That means QUrl no longer accepts some URLs that were invalid
+ before, but weren't interpreted as such.
+
+ - The Unix configure-time check for STL is stricter now in Qt
+ 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
+ work without being recompiled. However, it affects the source code,
+ since some STL-compatibility API will not be enabled.
+
+ Platforms affected by this change:
+ * solaris-cc-* with the default (Cstd) C++ STL library
+ recommendation: use -library=stlport4
+ See Sun Studio's documentation for the effects of this option
+
+ - QVariant has now a new implicit constructor that takes a float. This
+ means that code that assigned a float to a variant would create a
+ variant with userType QMetaType::Float, instead of QVariant::Double.
+
+ - QDataStream will now read and write all floating point numbers with the
+ same precision, regardless of whether it's streamed into or out from a
+ float or double. This is to maintain compatibility across platforms with
+ a different default precision for qreal. The default is 64-bit precision
+ for all floating point numbers, and this can be changed using the new
+ function setFloatingPointPrecision(). Set Qt_4_5 as the version of the
+ QDataStream to get the behavior of previous versions.
+
+ - 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 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
+
+- QtScript: Behavior changes due to using JavaScriptCore in the back-end:
+ * QDateTime is no longer used for date parsing and string conversion of
+ Date objects; instead the (more compliant) date processing from
+ JavaScriptCore is used.
+ * RegExp objects are no longer thin wrappers around QRegExp; they are now
+ "proper" JavaScript RegExp objects.
+