util/dist/changes-4.6.1
changeset 7 f7bc934e204c
equal deleted inserted replaced
3:41300fa6a67c 7:f7bc934e204c
       
     1 Qt 4.6.1 is a bug-fix release. It maintains both forward and backward
       
     2 compatibility (source and binary) with Qt 4.6.0.  For more details,
       
     3 refer to the online documentation included in this distribution. The
       
     4 documentation is also available online:
       
     5 
       
     6   http://qt.nokia.com/doc/4.6
       
     7 
       
     8 The Qt version 4.6 series is binary compatible with the 4.5.x series.
       
     9 Applications compiled for 4.5 will continue to run with 4.6.
       
    10 
       
    11 Some of the changes listed in this file include issue tracking numbers
       
    12 corresponding to tasks in the Qt Bug Tracker, the (now obsolete) Task
       
    13 Tracker, or the Merge Request queue of the public source repository.
       
    14 
       
    15 Qt Bug Tracker: http://bugreports.qt.nokia.com
       
    16 Task Tracker:   http://qt.nokia.com/developer/task-tracker
       
    17 Merge Request:  http://qt.gitorious.org
       
    18 
       
    19 ****************************************************************************
       
    20 *                           General                                        *
       
    21 ****************************************************************************
       
    22 
       
    23 Optimizations
       
    24 -------------
       
    25 
       
    26  - Optimized empty QUrl creation
       
    27     * [QTBUG-4030] Empty QUrls no longer allocate memory now
       
    28 
       
    29  * See list of Important Behavior Changes below
       
    30 
       
    31 
       
    32 ****************************************************************************
       
    33 *                          Library                                         *
       
    34 ****************************************************************************
       
    35 
       
    36 QtCore
       
    37 ------
       
    38 
       
    39  - QFile
       
    40     * Improve performance of getting the canonical filename on Linux
       
    41       and Symbian by using realpath() system call.
       
    42     * Avoid stat() when opening a file.
       
    43 
       
    44  - QLibrary and QPluginLoader
       
    45     * Do not look at the Qt patch-level version embedded in plugins'
       
    46       buildkeys when trying to determine if the plugin is compatible
       
    47 
       
    48  - QProcessEnvironment
       
    49     * [QTBUG-6701] Ensure we don't crash in operator==
       
    50 
       
    51  - QTextEncoder
       
    52     * [merge request 399] QTextEncoder::fromUnicode as QT3 support
       
    53       member
       
    54 
       
    55  - QXmlStreamreader
       
    56     * [merge request 1926] Fix parsing of DTDs that contain empty markup
       
    57       declarations.
       
    58 
       
    59 QtGui
       
    60 -----
       
    61 
       
    62  - QApplication
       
    63     * [QTBUG-6654] Fix crashes when deleting QWidgets in touch event
       
    64       handlers.
       
    65  - QGraphicsEffect
       
    66     * [QTBUG-5918] Fixed redraw bugs when using graphics effects on
       
    67       items while animating them by transformations.
       
    68  - QGraphicsItem
       
    69     * [QTBUG-5917] Fixed memory leaks when removing a QGraphicsEffect from
       
    70       a QGraphicsItem or QWidget with setGraphicsEffect(0).
       
    71     * [QTBUG-5859] Fixes incorrect rounding of the exposed rectangle of the
       
    72       QGraphicsItem causing painting issues when scaling the QGraphicsView.
       
    73     * [QTBUG-5071] Fixes transformation problems when grouping/ungrouping
       
    74       the item with a QGraphicsItemGroup.
       
    75  - QGraphicsObject
       
    76     * 'id' property was removed. Use the 'objectName' property instead.
       
    77  - QGraphicsScene
       
    78     * [QTBUG-6654] Fix crashes when deleting QGraphicsItems in touch
       
    79       event handlers.
       
    80  - QGraphicsView
       
    81     * [QTBUG-6935] When using CacheBackground, the background is now
       
    82       correctly repainted after the QGraphicsView is shown after being
       
    83       hidden.
       
    84     * [QTBUG-6835] Mouse tracking is now automatically enabled when using
       
    85       AnchorUnderMouse for view transformation.
       
    86     * [QTBUG-6958] Fix speed regression in _q_polishItems()
       
    87     * [QTBUG-6544] Fix a crash on the focus chain when removing items from 
       
    88       the scene.
       
    89     * Fix a crash in KDE/Plasma with QGraphicsView with topLevels.
       
    90  - QGraphicsWidget
       
    91     * [QTBUG-6272] Only call updateFont if the font has changed.
       
    92  - QPainter
       
    93     * [QTBUG-5939] Fixed incorrect redirection matrix that was causing
       
    94       wrong transformation for QGraphicsProxyWidgets.
       
    95     * [QTBUG-6684] Added optimizations of 32-bit blend functions
       
    96       for ARM platforms with NEON support.
       
    97  - QPixmap
       
    98     * load() and loadFromData() can now support compressed GL textures
       
    99       in the DDS, ETC1, PVRTC2, and PVRTC4 formats if the OpenGL graphics
       
   100       system is active and the appropriate extensions are present in the
       
   101       GL implementation.
       
   102     * [QTBUG-6840] Fixed load() to not modify referenced copies.
       
   103     * [QTBUG-5840] Fixed a crash in fromImage() when passing in a null image.
       
   104     * [QTBUG-6116] Fixed memory leak where a global object was not destroyed
       
   105       at program exit.
       
   106  - QPixmapCache
       
   107     * Fixed a small leak when using the new QPixmapCache::Key based API.
       
   108  - QPrinter
       
   109     * [QTBUG-3412] QGraphicsProxyWidgets are now rendered correctly when
       
   110       printing a QGraphicsScene to PDF format.
       
   111  - QRasterPixmapData
       
   112     * [QTBUG-6985] Fixed metric() to return the correct height in mm.
       
   113  - QTextDocument
       
   114     * [QTBUG-5397] Fixed printing of QTextDocuments not including custom
       
   115       text objects.
       
   116     * [QTBUG-6051] Fixed an endless loop when printing a QTextDocument.
       
   117 
       
   118 QtDBus
       
   119 ------
       
   120 
       
   121  - QDBusConnection
       
   122     * [QTBUG-5979] Fixed the signal-delivery mechanism to update
       
   123       correctly when the sender name changes/appears on the bus.
       
   124     * [QTBUG-7041] Fixed marshalling of booleans in release mode.
       
   125     * [QT-2307] Fixed calls with the QDBus::BlockWithGui mode.
       
   126  - QDBusInterface
       
   127     * Made it continue working even when the remote object
       
   128       introspection fails.
       
   129  - QDBusInterface and qdbuscpp2xml
       
   130     * [QTBUG-5563] Fixed an issue with generating annotations in
       
   131       signals.
       
   132  - QDBusPendingReply and QDBusReply
       
   133     * [QTBUG-6571] Fixed a crash that would happen if you tried to
       
   134       make a call with a disconnected QDBusConnection.
       
   135 
       
   136 QtMultimedia
       
   137 ------------
       
   138 
       
   139  - QAudioOutput
       
   140    * [Merge request 418] Fixed compilation the example provided for
       
   141      QAudioOutput::start.
       
   142 
       
   143 QtNetwork
       
   144 ---------
       
   145 
       
   146  - QNetworkAccessManager
       
   147     * HTTP: Send our locale with the HTTP request.
       
   148     * HTTP: Start Accept-language and Authorization header with capital letter.
       
   149     * HTTP: Fix caching algorithm, matching RFC 2612 and the documentation.
       
   150     * HTTP [QTBUG-7060]: Fix an issue with headers like "private, max-age=300".
       
   151     * file: Introduce special subclass for higher performance with file:// URLs.
       
   152  - QTcpSocket
       
   153     * [QTBUG-5799] Fix waitForConnected() on Windows.
       
   154  - QNetworkProxyFactory
       
   155     * Fixed systemProxyForQuery(), it could sometimes return invalid empty list
       
   156       on Windows.
       
   157  - QNetworkCookieJar
       
   158     * [QTBUG-5815] Do not check paths when accepting cookies.
       
   159  - QHostInfo
       
   160     * Use five parallel threads for host lookup instead of one.
       
   161 
       
   162 QtOpenGL
       
   163 --------
       
   164 
       
   165  - QGL2PaintEngineEx
       
   166     * Performance: Don't mark brush as dirty if it hasn't changed.
       
   167     * Performance: Use 3x3 PMV matrices rather than 4x4.
       
   168     * Performance: Move the 0.5 offset we add for aliased rendering to
       
   169       updateMatrix().
       
   170     * Performance: Remove superfluous enable/disable vertex attrib arrays.
       
   171     * Performance: Track the glVertexAttribPointer and only update it if it's
       
   172       changed.
       
   173     * [QTBUG-7094]  Introduce new "snapToPixelGrid" flag for drawText.
       
   174  - QGLContext
       
   175     * bindTexture(QString) now supports DDS, ETC1, PVRTC2, and PVRTC4
       
   176       compressed textures if the appropriate extensions are present
       
   177       in the GL implementation.
       
   178     * bindTexture(QImage): Reduce double-copying of textures when flipping.
       
   179     * [QTBUG-6454] Better EGL extension checking to avoid prefix problems
       
   180       with EGL_foo matching EGL_foo_bar.
       
   181     * [QTBUG-6217] Work around problems with glColor4ub() on Intel Q45/Q43
       
   182       Express by consistently using glColor4f() everywhere.
       
   183     * bindTexture(QImage): Fix GL_BGRA formats under OpenGL/ES by using
       
   184       the same value for both internal and external texture formats.
       
   185     * [QTBUG-5041] Disable depth testing while in renderText().
       
   186  - QGLEngineSelector
       
   187     * [QTBUG-5638] Detect GL2 based on fragment shaders, not programs.
       
   188       Fragment programs are a GL1 feature.
       
   189  - QGLFramebufferObject
       
   190     * [QTBUG-6712] Update docs to better explain how QPainter changes
       
   191       the GL state when used on an FBO.
       
   192  - QGLGlyphCache
       
   193     * [QTBUG-6936] Fix memory leak of QGLGlyphCoord objects.
       
   194  - QGLPaintDevice
       
   195     * [QTBUG-6204] Rebind window surface FBO after native GL rendering.
       
   196  - QGLPixmapData
       
   197     * [QTBUG-6902] Align GL_RGB data on a 4-byte line boundary.
       
   198  - QGLWidget
       
   199     * [QTBUG-5002, QTBUG-6931] Fixed QGLWidget::renderText().
       
   200     * Fixed WA_TranslucentBackground for QGLWidgets on X11/EGL.
       
   201     * Fix EGL surface leaks when re-parenting on X11/EGL.
       
   202  - QTriangulatingStroker
       
   203     * [QTBUG-6045] Crash in dashed line handling in the GL stroker.
       
   204 
       
   205 QtOpenVG
       
   206 --------
       
   207 
       
   208  - [QT-2555] Automatically destroy VG pixmaps when the last window surface
       
   209    goes away to reduce memory consumption of backgrounded applications.
       
   210  - [QTBUG-6639] Recover from out-of-memory when creating VGImage's.
       
   211  - [QT-2554] Add a VGImage allocation pool to support reclaiming older
       
   212    images when the GPU runs out of memory.
       
   213  - [QTBUG-7051] Reset the OpenVG scissor after a native painting call-out.
       
   214  - [QTBUG-7015] Avoid deep copies of QImage in QImage::bits() calls.
       
   215 
       
   216 QtWebKit
       
   217 --------
       
   218 
       
   219  - Fixed user agent string on Symbian (webkit.org/b/31961).
       
   220  - QWebInspector: Don't disable when hiding (webkit.org/b/31851).
       
   221  - Fix JavaScript prompt behaviour for empty/null strings (webkit.org/b/30914).
       
   222  - Fixed lastIndexOf() on Symbian (webkit.org/b/31773).
       
   223  - Fixed crash with Flash on Windows with MinGW.
       
   224  - Fixed wrapping of QObjects with recurring identity (webkit.org/b/31681).
       
   225  - Fixed compilation with ICC.
       
   226  - Fixed assertion when dragging SVG images (webkit.org/b/32511).
       
   227  - Added the framecapture example to the default build (merge request 2235)
       
   228  - Fixed crash with ACID3 test on Symbian
       
   229  - Fixed security issue XSL stylesheets and security origins.
       
   230 
       
   231 QtSql
       
   232 -----
       
   233 
       
   234  - [QTBUG-5373] Fixed QSqlRelationalTableModel doesn't correctly work with
       
   235    relation in other database schema.
       
   236  - [QTBUG-5298] (OCI) Fixed QSqlDatabase.tables() does not work with system
       
   237    tables.
       
   238  - [QTBUG-6421] Fixed setForwardOnly() for both OCI and SQLite.
       
   239  - [QTBUG-6618] (ODBC) Fixed segfault when error string is larger than 256
       
   240    chars.
       
   241  - [QTBUG-4461] (OCI) Fixed problem with clobs being handled as binary.
       
   242 
       
   243 QtSvg
       
   244 -----
       
   245 
       
   246  - QSvgRenderer
       
   247     * [QTBUG-6867] Fixed regression in the parsing of paths with relative
       
   248       offsets.
       
   249     * [QTBUG-6899] Fixed crash when parsing invalid coordinate list.
       
   250  - QtXmlPatterns
       
   251     * [QTBUG-6771] Fixed static builds.
       
   252 
       
   253 Qt Plugins
       
   254 ----------
       
   255 
       
   256  - JPEG plugin
       
   257     * Remove obsolete parameter string handling.
       
   258     * [QT-2023] Re-implement ScaledSize, ClipRect, ScaledClipRect with
       
   259       libjpeg features for greater performance.
       
   260  - PBM plugin
       
   261     * [QTBUG-6937] Use Mono instead of MonoLSB when writing pbm files.
       
   262  - TIFF plugin
       
   263     * [QTBUG-6870] BitsPerSample should default to 1 in TIFF files.
       
   264  - PNG plugin
       
   265     * [QTBUG-7161] Avoid a deep copy of QImage::bits() in the png writer.
       
   266 
       
   267 
       
   268 ****************************************************************************
       
   269 *                      Platform Specific Changes                           *
       
   270 ****************************************************************************
       
   271 
       
   272 Qt for Unix (X11 and Mac OS X)
       
   273 ------------------------------
       
   274 
       
   275  - [QTBUG-6755] Ensure we don't call select(2) with a negative timeout
       
   276    if the timer expires during timeout recalculation.
       
   277  - Added mkspecs for Sun CC that enable -library=stlport by default,
       
   278    to restore STL capability with that compiler.
       
   279  - [QTBUG-6576] Fixed compilation on HP-UX 11.11.
       
   280  - [QTBUG-6961] Fixed compilation on HURD.
       
   281 
       
   282 Qt for Linux/X11
       
   283 ----------------
       
   284 
       
   285  - [QTBUG-5732] Fixed querying of GLX extensions under X11.
       
   286  - [QTBUG-5547] Fixed handling of the "..." button.
       
   287  - Added new mkspec for Maemo targets (linux-g++-maemo).
       
   288  - Added new mkspec for Scratchbox host compiler (unsupported/linux-host-g++).
       
   289  - QGuiEventDispatcherGlib (internal class)
       
   290     * Fix regression introduced in 4.6.0 that could cause X11 event
       
   291       processing to starve timer events.
       
   292  - QFileSystemWatcher
       
   293     * [QTBUG-4840] Fix memory leak in the dnotify implementation.
       
   294  - QIcon
       
   295     * [QTBUG-6121] Fixed a problem causing svg-based icon themes to look fuzzy.
       
   296  - QGtkStyle
       
   297     * [QTBUG-6484] Ensure that gtk-enable-mnemonics is respected.
       
   298 
       
   299 Qt for Windows
       
   300 --------------
       
   301 
       
   302  - [QTBUG-5145] Compile fixes for win32-icc.
       
   303  - QAtomicPointer
       
   304     * [QTBUG-6079] Fix compilation for 64-bit Windows targets.
       
   305  - QEventDispatchWin32 (internal class)
       
   306     * [QTBUG-6083] Fix a performance regression introduced in 4.6.0
       
   307       that would cause all Qt posted events to be sent at 15-16ms
       
   308       intervals (instead of as quickly as possible).
       
   309  - Vista/XP styles
       
   310     * [QTBUG-6271] Fixed a compatibility issue with MDI windows in 
       
   311       certain non-standard themes.
       
   312 
       
   313 Qt for Mac OS X
       
   314 ---------------
       
   315 
       
   316  - QPixmap
       
   317    * [QTBUG-5070] Fixed a crash on Mac that could occur when loading
       
   318      pixmaps of different sizes into the same QPixmap object.
       
   319  - [QTBUG-6973] Fixed a memory leak when using QWidget::setWindowIcon() in
       
   320    Carbon.
       
   321  - [QTBUG-5186] Fixed a bug which caused drag and drop icons to show 
       
   322    incorrectly.
       
   323  - [QTBUG-6636] Fixed a crash due to stack overflow in QColorDialog on Cocoa.
       
   324  - [QTBUG-6378] Fix a text cursor rendering bug.
       
   325  - [QTBUG-6636] Fixed a crash when calling removeToolBar on Mac native toolbars
       
   326    using Cocoa.
       
   327  - [QTBUG-5613] Fixed a bug where the application refused to quit when showing
       
   328    a single modal dialog.
       
   329  - Gestures are now available for the Carbon port also when building Qt against
       
   330    SDK < 10.6
       
   331 
       
   332 Qt for Symbian
       
   333 --------------
       
   334 
       
   335  - QApplication
       
   336    * [QTBUG-6098] Added a flag to avoid construction of application panes.
       
   337  - Other:
       
   338    * [QTBUG-4990] Rewrote most of the regular pointer handling.
       
   339 
       
   340 
       
   341 ****************************************************************************
       
   342 *                          Tools                                           *
       
   343 ****************************************************************************
       
   344 
       
   345  - Designer
       
   346    * [QTBUG-6863] Fixed static linking on Mac.
       
   347    * [QTBUG-6760] Fixed display of action shortcut in action editor.
       
   348    * [QTBUG-6505] Fixed handling of QHeaderView properties.
       
   349    * [QTBUG-5335] Fixed handling of layout margins of custom containers.
       
   350 
       
   351  - uic
       
   352    * [QTBUG-5824] Fixed code generation to generate a call to
       
   353      QMainWindow::setCentralWidget() for promoted widgets as well.
       
   354 
       
   355 ****************************************************************************
       
   356 * Important Behavior Changes *
       
   357 ****************************************************************************
       
   358 
       
   359  - Phonon
       
   360    * Include headers have been changed. The only official method for
       
   361      including Phonon headers is <phonon/ClassName> or
       
   362      <phonon/classname.h>. This change was necessary because of
       
   363      frameworks on Mac.
       
   364 
       
   365      Compatibility is provided for <Phonon/*> includes, but is not
       
   366      guaranteed to work. Including <phonon> and <Phonon> is not
       
   367      supported.
       
   368