dist/changes-4.3.1
changeset 0 1918ee327afb
equal deleted inserted replaced
-1:000000000000 0:1918ee327afb
       
     1 Qt 4.3.1 is a bug-fix release. It maintains both forward and backward
       
     2 compatibility (source and binary) with Qt 4.3.0.
       
     3 
       
     4 The Qt version 4.3 series is binary compatible with the 4.2.x, 4.1.x and
       
     5 4.0.x series. Applications compiled for Qt 4.0, 4.1 or 4.2 will continue to
       
     6 run with Qt 4.3.
       
     7 
       
     8 ****************************************************************************
       
     9 *                           General                                        *
       
    10 ****************************************************************************
       
    11 
       
    12 General Improvements
       
    13 --------------------
       
    14 
       
    15 - Translations
       
    16     * Updated the German translation to provide complete coverage of Qt.
       
    17 
       
    18 - QDBusView
       
    19     * Added icons for Mac OS X and Windows.
       
    20 
       
    21 - Intel C++ Compiler for Linux
       
    22     * Added support for version 10 of the compiler. See the Compiler
       
    23       Notes documentation for known problems and work-arounds for this
       
    24       compiler.
       
    25     * Added linux-icc-32 mkspec, for building with the 32-bit compiler
       
    26       on 64-bit hosts.
       
    27 
       
    28 Third party components
       
    29 ----------------------
       
    30 
       
    31 - FreeType
       
    32     * Security fix (CVE-2007-2754): Integer overflow in the
       
    33       TT_Load_Simple_Glyph function in freetype 2.3.4 and earlier allows
       
    34       remote authenticated users to execute arbitrary code via crafted BDF
       
    35       fonts.
       
    36 
       
    37 - SQLite
       
    38     * File descriptors are not inherited during spawn() anymore.
       
    39 
       
    40 Build System
       
    41 ------------
       
    42 
       
    43     * Fixed native builds on ARM architectures.
       
    44 
       
    45 ****************************************************************************
       
    46 *                           Library                                        *
       
    47 ****************************************************************************
       
    48 
       
    49 General Improvements
       
    50 --------------------
       
    51 
       
    52 - QAbstractItemView
       
    53     * [166605] Fixed regression causing keyboard modifiers to have no effect
       
    54       during drag and drop operations.
       
    55     * [169233] Fixed bug that would prevent text from being selected in
       
    56       double spin box editors.
       
    57     * [168917] Text would sometimes not be selected in the editor.
       
    58 
       
    59 - QAbstractItemModel
       
    60     * [166714] Fixed regression causing persistent indexes to not be
       
    61       correctly updated.
       
    62 
       
    63 - QAbstractPrintDialog
       
    64     * [163000] Fixed bug on Unix where the PrintSelection option would not
       
    65       be enabled unless PrintPageRange was also enabled.
       
    66 
       
    67 - QApplication
       
    68     * [166677] Windows only: Fixed an issue with alert() where windows
       
    69       would keep flashing after being activated by the user.
       
    70     * [168974] Fixed problems with compilation that could occur when
       
    71       QT3_SUPPORT and QT_NO_CURSOR were defined.
       
    72 
       
    73 - QComboBox
       
    74     * [165130] Mac OS X only: Fixed bug that caused an editable combo box to
       
    75       cut off list entries.
       
    76 
       
    77 - QDesktopServices
       
    78    * [165817] Fixed misleading documentation of
       
    79      QDesktopServices::setUrlHandler().
       
    80 
       
    81 - QDialog
       
    82     * [166900, 166514] Fixed bug where a dialog could remain visible after
       
    83       hide() had been called.
       
    84 
       
    85 - QFile
       
    86    * [167217] Fixed regression that prevented the sequential bit from being
       
    87      reset when reopening a file.
       
    88 
       
    89 - QFileDialog:
       
    90    * [164947] Mac OS X only: Ensure that the parent of a native sheet dialog
       
    91      is activated before a sheet is shown.
       
    92 
       
    93 - QFSFileEngine:
       
    94    * [163406] Ensured that QFile::readLine() works on all platforms when
       
    95      QFile is opened on file descriptor 0.
       
    96 
       
    97 - QGLWidget
       
    98     * [162085] X11 only: Fixed usage of QGLWidget on multiple X11 screens.
       
    99     * [164707] X11 only: Fixed the transparent overlay color usage to make
       
   100       it possible to draw with a solid black color. Qt::transparent is now
       
   101       always returned as the transparent color in an overlay.
       
   102     * [162143] Fixed a crash that could occur when calling renderPixmap()
       
   103       with extremely large sizes. It now gracefully fails instead.
       
   104 
       
   105 - QGraphicsItem
       
   106     * [163430] Improved precision of QGraphicsItem::ItemIsMovable move
       
   107       operations, and fixed move support for
       
   108       QGraphicsItem::ItemIgnoresTransformations.
       
   109 
       
   110 - QGraphicsItemAnimation
       
   111     * [164585] Fixed setTimeLine(0) to properly remove the existing timeline,
       
   112       and also ensured that setting the same timeline twice works fine.
       
   113 
       
   114 - QGraphicsScene
       
   115     * [163555] Flat items (items whose bounding rect width or height is 0)
       
   116       no longer cause a full viewport update when they are updated.
       
   117 
       
   118 - QGraphicsView
       
   119     * [160828] Fixed bug in QGraphicsScene/View::render() which could cause
       
   120       nothing to be rendered for QPicture target devices.
       
   121     * [163919] Scroll bar ranges are no longer reset to (0,0) when the
       
   122       scroll bars are disabled (Qt::ScrollBarAlwaysOff).
       
   123     * [163537] Scroll bar ranges are now correct also for styles with a
       
   124       viewport frame only around the viewport itself (e.g., Motif and Mac
       
   125       OS X style).
       
   126     * [158245] Calling setScene(0) now recalculates the scroll bar ranges.
       
   127     * [170619, 157400] Fixed rendering bugs that could occur when using a
       
   128       semi-transparent foreground or background brush.
       
   129     * [170619, 168885] Fixed a bug that would cause the rubber band to
       
   130       appear after invoking a context menu.
       
   131 
       
   132 - QHostInfo
       
   133     * [168233] Ensured that all pending look-ups are terminated on
       
   134       application exit to avoid a delayed application shutdown while waiting
       
   135       for the look-ups to complete.
       
   136     * [167487] Fixed support for Unix platforms that allow IPv6 look-ups
       
   137       through getaddrinfo(), but that don't support IPv6 sockets.
       
   138 
       
   139 - QImage
       
   140     * [163727] Fixed artifacts in scaled images that could occur when using
       
   141       Qt::FastTransformation.
       
   142     * [169908] Fixed a crash that could occur when reading 4-bit
       
   143       uncompressed BMP images.
       
   144 
       
   145 - QLocale
       
   146     * [167534] Fixed bug that would cause QLocale::toString() to return
       
   147       garbage if passed an invalid time or date.
       
   148 
       
   149 - QMainWindow
       
   150     * [166004, 167651] Made the unified toolbar handle layout requests.
       
   151     * Mac OS X only: Don't move the window's title bar when clicking on the
       
   152       toolbar button.
       
   153     * [164105] Made the unified toolbar handle showMaximized().
       
   154     * [162555] Move OpenGL contexts when the toolbar button is pressed and
       
   155       we are using the unified toolbar.
       
   156     * [169063] Fixed a crash that could occur when setting a new menu bar
       
   157       and the old one contained corner widgets.
       
   158 
       
   159 - QMdiArea
       
   160     * [162573] Improved switching between maximized subwindows (less
       
   161       flickering).
       
   162     * [162046, 164264] Improved activation behavior.
       
   163     * [170770] Fixed inconsistent behavior with scroll bars when a subwindow
       
   164       is maximized.
       
   165     * [169873] Fixed incorrect positions of tiled subwindows.
       
   166 
       
   167 - QMdiSubWindow
       
   168     * [168129] Improved the way a default window icon is selected.
       
   169     * [169859] Improved menu bar buttons for maximized subwindows.
       
   170     * Improved support for size grips.
       
   171     * [169543] Windows only (XP style): Fixed a problem where the frame
       
   172       width was 1 pixel wider than it should have been.
       
   173     * [168829] Fixed incorrect margins of maximized subwindows inside
       
   174       QMainWindow.
       
   175 
       
   176 - QMenu
       
   177     * [166652] Fixed a regression where context menus could not be triggered
       
   178       with the right mouse button.
       
   179     * [161789] Fixed a bug that prevented tear-off handles from being
       
   180       activated when they were dragged down from the menu bar item.
       
   181 
       
   182 - QMenuBar
       
   183     * [168892] Fixed bug that made the extension always appear when adding a
       
   184       separator to a menu bar.
       
   185     * [166181] Fixed bug that caused extensions to be misplaced.
       
   186     * [166242] Fixed bug that could cause menus to be collapsed.
       
   187 
       
   188 - QMessageBox
       
   189     * Ensured that the default button isn't lost when the modality of the
       
   190       message box is changed.
       
   191 
       
   192 - QMacStyle
       
   193     * Ensured that items with State_Focus actually get the focus ring drawn.
       
   194 
       
   195 - QNetworkProxy
       
   196     * [170549] Fixed a regression from 4.2.3 in the default constructor; if
       
   197       used before any other proxy settings were applied, it would fail to
       
   198       initialize the proxy handlers, effectively disabling support for
       
   199       SOCKS5 and HTTP proxies.
       
   200 
       
   201 - QOpenGLPaintEngine
       
   202     * [166087] Fixed a memory leak caused by not releasing GL program
       
   203       handles if they failed to compile.
       
   204     * [166054] Ensured that push and pop operations are performed on the
       
   205       texture matrix stack and the client state attributes when begin()
       
   206       and end() are called.
       
   207     * [161021] Fixed rendering of points with cosmetic pens with widths
       
   208       greater than 0.
       
   209 
       
   210 - QPainter
       
   211     * [158815] Fixed rendering artifacts for extended composition modes with
       
   212       semi-transparent or anti-aliased drawing.
       
   213     * [163744] Fixed aliased ellipse drawing artifacts (horizontal lines)
       
   214       in raster engine.
       
   215     * [166623] Fixed bug where gradients with ObjectBoundingMode would be
       
   216       drawn at an incorrect offset.
       
   217     * [167497] Fixed color bleeding artifacts at the edges when drawing
       
   218       images/pixmaps with SmoothPixmapTransform on X11.
       
   219     * [168621] Fixed bug which would cause projective transformations to be
       
   220       incorrectly applied for non-top-level widgets.
       
   221     * [168623] Fixed drawing of gradients with projective transformations.
       
   222     * [167891] Fixed an assert in QBezier::shifted() that occured when
       
   223       drawing certain paths.
       
   224 
       
   225 - QPlastiqueStyle
       
   226     * [167145] Fixed a regression with combo and spin box text margins.
       
   227 
       
   228 - QPrintDialog
       
   229     X11 only:
       
   230     * [142701] Fixed an assert which could occur on a system with CUPS
       
   231       setup, but no printers available.
       
   232     * [165957] Added support to allow printers to be chosen from the
       
   233       NPRINTER and NGPRINTER enviroment variables.
       
   234       Ensured that CUPS command line options are not used when not using
       
   235       CUPS.
       
   236     * [158807] Fixed page ordering when printing to a CUPS printer or to PDF
       
   237       files.
       
   238     * [155129] Fixed Landscape printing with CUPS version < 1.2.
       
   239 
       
   240     Windows only:
       
   241     * [166054] Fixed a crash which could occur when trying to use a
       
   242       QPrintDialog to configure a printer set to use
       
   243       QPrinter::PostScriptFormat as output format.
       
   244     * [162729] Fixed an assert that could occur when entering an invalid
       
   245       page range.
       
   246 
       
   247 - QPrintEngine
       
   248     * [166499] Windows only: Fixed a bug that could cause printing from a
       
   249       QTextEdit to produce incorrect wrong results under certain
       
   250       circumstances.
       
   251     * [161915] Mac OS X only: Drawing vertical lines with a dot pattern now
       
   252       work correctly on OS X 10.3.9.
       
   253 
       
   254 - QProcess
       
   255     * [161944] QProcess::setReadChannel() no longer affects the contents of
       
   256       the stderr / stdout / unget buffers. QProcess::readAllStandardError()
       
   257       and QProcess::readAllStandardOutput() no longer clear any unget data
       
   258       or buffered data.
       
   259 
       
   260 - QPixmap
       
   261     * [167841] Fixed bug where filling a QPixmap with an alpha color would
       
   262       fail to detach the pixmap, causing copies of the pixmap to be changed
       
   263       as well.
       
   264     * [157166] X11 only: Fixed problem with disappearing icons on 8-bit
       
   265       TrueColor displays.
       
   266     * [161307] Mac OS X only: Drawing bitmaps on pixmaps now works
       
   267       correctly.
       
   268 
       
   269 - QRasterPaintEngine
       
   270     * [166710] Fixed bug that prevented Qt::OpaqueMode from being taken into
       
   271       account under certain circumstances when QPainter::fillRect() was
       
   272       called.
       
   273     * [159538] Fixed drawing of a monochrome image into another monochrome
       
   274       image.
       
   275     * [166000] Fixed compilation of mmxext optimizations.
       
   276     * [156925] Fixed performance bug in 3DNow! optimizations.
       
   277 
       
   278 - QRegion
       
   279     * [167445] Removed potential assert in QRegion::operator^ on Unix.
       
   280 
       
   281 - QScriptEngine
       
   282     * [165899] Fixed bug where calling an overloaded slot from a script
       
   283       would pick the wrong overload when the argument is a QObject.
       
   284     * [166903] Fixed crash when evaluating a call to a script function that
       
   285       ends with an if-statement with a true-part that ends with a return
       
   286       statement (and has no else-part).
       
   287 
       
   288 - QScrollArea
       
   289     * [167838] Use micro focus rectangle (if "active") instead of the entire
       
   290       widget in ensureWidgetVisible().
       
   291 
       
   292 - QSortFilterProxyModel
       
   293     * [167273] Fixed regression that caused QSortFilterProxyModel to assert
       
   294       when changing data in a QSqlTableModel source model with the
       
   295       OnFieldChange edit strategy.
       
   296 
       
   297 - QSqlQueryModel
       
   298     * [166880] Fixed a bug where setQuery() could cause a crash by calling
       
   299       hasFeature() on the wrong driver instance.
       
   300 
       
   301 - QSqlRelationalTableModel
       
   302     * [140782] Fixed a bug which caused insertRecord() to fail when record()
       
   303       returns a record containing duplicate field names.
       
   304 
       
   305 - QSslCertificate
       
   306     * [168116] Don't crash when passing 0 to QSslCertificate::fromDevice();
       
   307       issue a warning instead. This fix also removes warnings about
       
   308       uninitialized symbols when accessing the static functions in
       
   309       QSslCertificate before creating a QSslSocket.
       
   310 
       
   311 - QSslSocket
       
   312     * [164356] Fixed a crash that could occur when passing a string to
       
   313       setCiphers().
       
   314     * [166633] Fixed a memory leak that would occur with each established
       
   315       connection.
       
   316     * [165962] Fixed support for wildcard certificates.
       
   317     * [167593] Fixed a bug that caused QSslSocket::protocol() to be ignored
       
   318       and set to the default of SSLv3 under certain circumstances.
       
   319     * [167380] Fixed a crash when assigning a null key for SSL servers.
       
   320     * [169571] Fixed a crash that could occur after disconnecting from a
       
   321       remote address.
       
   322 
       
   323 - QTcpSocket
       
   324     * [169183] Removed a qWarning() when reading from a closed socket
       
   325       (regression from 4.2.3).
       
   326 
       
   327 - QTemporaryFile
       
   328     * [167565] Fixed a regression from 4.2.3; size() would always return 0.
       
   329 
       
   330 - QTextEdit
       
   331     * [161577] Fixed regression causing Shift-Backspace to be ignored.
       
   332     * [165833] Fixed floating point overflow causing incorrect page heights
       
   333       for text documents.
       
   334     * [167377] Fixed performance regression when appending a lot of text in
       
   335       NoWrap line break mode when there is a horizontal scroll bar.
       
   336     * [163446] Fixed excessive emission of selectionChanged() signals when
       
   337       moving the cursor.
       
   338     * [167701] Fixed QTextEdit::setLineWrapMode to not change the
       
   339       wordWrapMode property when called with NoWrap.
       
   340 
       
   341 - QTextDocument
       
   342     * [160631] Fixed missing HTML export of page break policies.
       
   343     * [163258] Fixed bug that prevented text table borders from being drawn
       
   344       in QLabels and tool tips.
       
   345     * [166670] Fixed layout bug that caused the right margin property of
       
   346       paragraphs inside table cells to be ignored.
       
   347     * [168406] Fixed rendering bug which would cause incorrect background
       
   348       fills for paragraphs with a left margin set.
       
   349 
       
   350 - QTextLayout
       
   351     * [166083] Fixed incorrect line breaking when breaking at a tab
       
   352       character.
       
   353     * [165861] Fixed support for QTextOption::NoWrap.
       
   354 
       
   355 - QLabel
       
   356     * [162515] Fixed bug that prevented QLabel's alignment from being
       
   357       applied properly to rich text.
       
   358 
       
   359 - QUrl
       
   360     * Fixed a bug in QUrl::clear() which left some internal data uncleared.
       
   361 
       
   362 - QWidget
       
   363     * [165177] Fixed crash that could occur when deleting a focus widget from a
       
   364       window with a non-null parent.
       
   365     * [165654] Fixed issue with incorrect repainting that could occur when
       
   366       deleting an opaque child widget.
       
   367 
       
   368 - QWindowsVistaStyle
       
   369     * [162730] Fixed the use of an incorrect font for item views on Windows
       
   370       Vista.
       
   371     * [157324] Improved the native appearance of indeterminate progress
       
   372       bars.
       
   373     * [170012] Fixed a bug which prevented the busy mode of a progress bar
       
   374       from working when both its range and value were set to zero.
       
   375 
       
   376 - QWindowsXPStyle
       
   377     * [132695] Fixed a crash issue that could occur after multiple system
       
   378       theme changes.
       
   379 
       
   380 - QWizard
       
   381     * [159684] AeroStyle: Fixed bug that caused the minimum height to be set
       
   382       too low.
       
   383     * [161670] AeroStyle: Fixed a problem that caused title bar buttons to
       
   384       remaining glowing after the mouse had left the window.
       
   385     * [161678] AeroStyle: Fixed a problem with incorrect vertical center
       
   386       alignment of wizard buttons.
       
   387 
       
   388 - Q3Header
       
   389     * [167283] Fixed regression in painting of the header.
       
   390 
       
   391 - Q3ListViewItem
       
   392     * [165853] Fixed background coloring of a cell.
       
   393 
       
   394 - Q3Socket
       
   395     * [163563] Fixed regression in canReadLine(); it now properly searches
       
   396       all internal buffers.
       
   397 
       
   398 - Q3Table
       
   399     * [168497] Fixed incorrect updates when using setUpdatesEnabled().
       
   400 
       
   401 - Q3Wizard
       
   402     * [168195] Fixed bug that could cause the wrong page to be shown when
       
   403       reopening a wizard.
       
   404 
       
   405 
       
   406 ****************************************************************************
       
   407 *                          Database Drivers                                *
       
   408 ****************************************************************************
       
   409 
       
   410 - Interbase driver
       
   411     * [149761] Added support for compiling Firebird 2.0 on 64-bit platforms.
       
   412     * [165423] Fixed a regression causing an assert when calling a stored
       
   413       procedure without out-parameters.
       
   414     * [166238] Fixed a bug that caused only the first segment of multi-
       
   415       segmented BLOBs to be retrieved in some cases.
       
   416 
       
   417 - ODBC driver
       
   418     * [167167] Fixed a regression that caused a crash when checking DBMS
       
   419       general information when connecting to a database.
       
   420     
       
   421 - SQLite driver
       
   422     * Use new sqlite3_prepare16_v2 instead of sqlite3_prepare16 when
       
   423       possible.
       
   424     * [167665] Fixed a regression that caused field names to be escaped
       
   425       multiple times when selecting from views.
       
   426     
       
   427 ****************************************************************************
       
   428 *                               Examples                                   *
       
   429 ****************************************************************************
       
   430 
       
   431 - Secure Socket Client
       
   432     * New example, showing how to use QSslSocket to communicate over an
       
   433       encrypted (SSL) connection.
       
   434     
       
   435 - Accelerated Screen Driver
       
   436     * Ensured that the example does not crash if it is unable to get a
       
   437       pointer to the frame buffer.
       
   438 
       
   439 ****************************************************************************
       
   440 *                      Platform Specific Changes                           *
       
   441 ****************************************************************************
       
   442 
       
   443 X11
       
   444 ---
       
   445 
       
   446     * [163862] Fixed a bug where QClipboard would escape all non-ASCII
       
   447       characters that were copied from GTK+ applications.
       
   448     * [165182] Fixed building with the Intel C++ Compiler for Linux on
       
   449       IA-64 (Itanium) (missing functions in qatomic_ia64.h)
       
   450     * [163861] Fixed building on AIX 5.3 where the _POSIX_MONOTONIC_CLOCK
       
   451       macro was accidentally redefined.
       
   452     * [166650] Fixed a regression from 4.2.3 where calling QWidget::move()
       
   453       in a reimplementation of QWidget::showEvent() did not work.
       
   454     * [166097] QWidget::show() no longer overwrites the _NET_WM_STATE
       
   455       property. Instead, QWidget now merges any existing _NET_WM_STATE
       
   456       property together with its own state.
       
   457     * Fixed the QAtomic implementation on the Alpha, which previously
       
   458       caused all applications to hang on start-up.
       
   459     * [165229] Changed the linux-lsb-g++ specification to avoid linking with
       
   460       libGLU (which is not part of the LSB specification).
       
   461     * [155083, 146833] Ensure that all font substitutions from fontconfig
       
   462       are obeyed by using a strong binding for QFont's family with
       
   463       fontconfig.
       
   464 
       
   465 Windows
       
   466 -------
       
   467 
       
   468     * [169105] Fixed a regression where calling resize() on a minimized
       
   469       window did not work.
       
   470     * [169376] Fixed a race condition that would cause a crash when
       
   471       stopping timers in a thread.
       
   472     * [165440] Fixed a crash that could occur when using Google's Pinyin
       
   473       input method with Qt.
       
   474 
       
   475 Mac OS X
       
   476 --------
       
   477 
       
   478     * QMake's Xcode generator is now more robust when determining which
       
   479       version of Xcode projects it should generate. It also uses launch
       
   480       services to determine Xcode's location as well.
       
   481     * Small changes to be more Leopard compatible
       
   482     * [167020] Ensured that the translations are really included in the
       
   483       binary package.
       
   484     * [164530] Ensured that the DPI for fonts don't change when the
       
   485       resolution changes.
       
   486     * [165530] Fixed a bug that caused Q_DECLARE_METATYPE() in a
       
   487       precompiled header to interfere with the Objective-C 'id' keyword.
       
   488     * [165659] Fixed bold/italic font rendering for some fonts.
       
   489 
       
   490 Qtopia Core
       
   491 -----------
       
   492 
       
   493     * Fixed support for bitmap fonts.
       
   494     * [164297] Fixed a potential crash in accelerated paint engines.
       
   495     * [160970] Fixed support for 1-bit black and white screens.
       
   496     * [164783] Fixed bug in 4-bit grayscale support which resulted in pink
       
   497       colors under certain circumstances.
       
   498     * [164955] Fixed painting error when using QWidget::move().
       
   499     * [166368] Fixed bug in QWidget::setFixedSize() when using multiple
       
   500       screens.
       
   501     * [165686] Fixed bug in QPixmap::grabWindow() when using multiple
       
   502       screens.
       
   503     * [130925] Fixed use of QWSWindowSurface::move() when acceleration is
       
   504       available.
       
   505     * [143865] Implemented QWSCalibratedMouseHandler::getCalibration()
       
   506       properly to fill all return values.
       
   507     * [161820] Fixed incorrect detection of glib libraries when cross-
       
   508       compiling.
       
   509     * [152914] Improved the framebuffer test example.
       
   510     * [171454] Fixed painting errors when zooming in QVFb.
       
   511 
       
   512 
       
   513 ****************************************************************************
       
   514 *                   Important Behavior Changes
       
   515 ****************************************************************************
       
   516 
       
   517 - QScrollArea
       
   518     * [167838] Use micro focus rectangle (if "active") instead of the entire
       
   519       widget in ensureWidgetVisible().