dist/changes-4.2.3
changeset 0 1918ee327afb
equal deleted inserted replaced
-1:000000000000 0:1918ee327afb
       
     1 Qt 4.2.3 is a bug-fix release. It maintains both forward and backward
       
     2 compatibility (source and binary) with Qt 4.2.0.
       
     3 
       
     4 The Qt version 4.2 series is binary compatible with the 4.1.x and 4.0.x
       
     5 series. Applications compiled for 4.0 or 4.1 will continue to run with 4.2.
       
     6 
       
     7 ****************************************************************************
       
     8 *                           General                                        *
       
     9 ****************************************************************************
       
    10 
       
    11 General Improvements
       
    12 --------------------
       
    13 
       
    14 - Configuration/Compilation
       
    15     * Fixed architecture detection on UltraSPARC-T1 systems.
       
    16     * Fixed compilation on embedded architectures when qreal is not double.
       
    17     * Compile on OpenBSD.
       
    18 
       
    19 - Documentation
       
    20     * Completed documentation for "Implementing Atomic Operations",
       
    21       which is useful for people porting Qt to a new hardware architecture.
       
    22 
       
    23 - Translations
       
    24     * Added a new unofficial Portuguese translation courtesy of Helder
       
    25       Correia.
       
    26 
       
    27 - Qt Linguist
       
    28     * Made the columns in the phrasebook resizeable.
       
    29 
       
    30 - lupdate
       
    31     * Fixed bug in the .pro parser of lupdate. It should accept backslashes.
       
    32     * Fixed a severe slowdown in lupdate. (~400x speedup.)
       
    33     * Fixed traversal of subdirectories.
       
    34 
       
    35 - moc
       
    36     * Don't create trigraphs in the generated code for C++ casts.
       
    37 
       
    38 - uic
       
    39     * Fixed a bug that generated excessive margins for Q3GroupBox.
       
    40 
       
    41 Third party components
       
    42 ----------------------
       
    43 
       
    44 - libpng
       
    45 
       
    46   * Security fix: Avoid null dereferences.
       
    47 
       
    48 ****************************************************************************
       
    49 *                          Library                                         *
       
    50 ****************************************************************************
       
    51 
       
    52 General improvements
       
    53 --------------------
       
    54 
       
    55 - Graphics View
       
    56 
       
    57     * Calling QGraphicsScene::update() without arguments now correctly
       
    58       updates the entire scene.
       
    59     * Changing the background brush in QGraphicsScene now correctly updates
       
    60       the entire scene
       
    61     * Fixed a crash in QGraphicsScene due to stale pointers in the BSP tree.
       
    62     * QGraphicsScene::createItemGroup() now allows you to create an empty
       
    63       group (previously caused an assert in debug mode).
       
    64     * Fixed rendering bugs with QGraphicsPixmapItem::offset().
       
    65     * Adding an item to a QGraphicsScene now always implicitly causes an
       
    66       update.
       
    67     * Fixed a crash caused by deleting a QGraphicsScene that is being viewed
       
    68       by a QGraphicsView.
       
    69     * Items with zero width or height (e.g., a horizontal or vertical line
       
    70       with a zero-width cosmetic pen) are now rendered correctly.
       
    71     * Fixed a crash in QGraphicsScene::destroyItemGroup(), and when removing
       
    72       items from a group.
       
    73 
       
    74 - Item views
       
    75     * Fixed data loss in QTreeWidget, QTableWidget and QListWidget that
       
    76       occurred when performing a drag and drop copy operation on items
       
    77       containing data in custom roles.
       
    78 
       
    79     * Fixed signal emission bugs in QSqlQueryModel and QSqlTableModel that
       
    80       caused the view to contain invalid items when used with a
       
    81       QSortFilterProxyModel.
       
    82 
       
    83     * Fixed a bug in word-wrapped text that could cause all new-line
       
    84       characters, and the last line in string containing at least one
       
    85       newline character, to be removed.
       
    86 
       
    87     * Fixed bug in QListView where the last item of a batch was not always
       
    88       displayed.
       
    89 
       
    90 - QAction
       
    91     * Fixed a possible crash when using alternate shortcuts on a QAction.
       
    92 
       
    93 - QByteArray
       
    94     * Fixed a crash in toUpper().
       
    95 
       
    96 - QCleanlooksStyle
       
    97     * Indeterminate progress bars are now correctly animated.
       
    98 
       
    99 - QComboBox
       
   100     * Fixed broken case sensitive completion.
       
   101     * Changing the font on a QComboBox now changes the font on the popup as
       
   102       well.
       
   103 
       
   104 - Q3TextEdit
       
   105     * Fixed regression where some shortcuts didn't work on Mac OS X.
       
   106 
       
   107 - Q3Canvas
       
   108     * Fixed potential memory overrun when determining a clipping chunk.
       
   109 
       
   110 - Q3Socket
       
   111     * Fixed unexpected remote disconnection bugs (also QTcpSocket).
       
   112 
       
   113 - QFile
       
   114     * Performance enhancements in QFile::copy().
       
   115     * Allow reading past the previous end of the file if the file grows.
       
   116     * Reliably allow QFile::readLine() and QFile::readAll() to be used to
       
   117       read from stdin on all platforms.
       
   118 
       
   119 - QFileDialog
       
   120     * Fixed crash that could occur when the filter began with ';;'.
       
   121     * Fixed assertion caused by calling setFilters() with an empty list.
       
   122     * Fixed problem with file entries not being laid out correctly.
       
   123 
       
   124 - QGridLayout
       
   125     * Fixed bug in handling of fixed size spacers spanning multiple
       
   126       rows/columns
       
   127 
       
   128 - QLayout
       
   129     * Fixed bug caused by setting minimumSize() and SizePolicy::Fixed on a
       
   130       widget that implements minimumSizeHint() but not sizeHint().
       
   131 
       
   132 - QLineEdit
       
   133     * Fixed crash caused by moving the cursor over a QChar::LineSeparator
       
   134       in the text.
       
   135 
       
   136 - QPainter
       
   137     * Fixed bug in QPainter::drawPoints() when using the raster paint engine
       
   138       which caused some points to be missing.
       
   139     * Removed memory leak in raster paint engine when drawing complex
       
   140       polygons/paths.
       
   141 
       
   142 - QProcess
       
   143     * Fixed a crash that could occur when calling QProcess::waitForFinished()
       
   144       from inside a slot connected to a signal emitted by QProcess.
       
   145     * Fixed a race condition on Windows where QProcess::bytesToWrite() would
       
   146       return a short byte count.
       
   147 
       
   148 - QTextDocument
       
   149     * Fixed find() with backward searches.
       
   150     * Match CSS style selector case insensitively.
       
   151     * Fixed HTML import for tables with missing cells and rowspan/colspan
       
   152       attributes. 
       
   153 
       
   154 - QSortFilterProxyModel
       
   155     * Fixed a crash caused by calling filterChanged().
       
   156     * Fixed a crash caused by removing items from the source model.
       
   157     * Fixed a bug that could cause a model to enter an invalid state when
       
   158       filtering items in a hierarchy, causing items in a QTreeView to
       
   159       erroneously be collapsed.
       
   160     * Fixed a bug that could cause invalid items to be added when inserting
       
   161       new items to the source model.
       
   162 
       
   163 - QSyntaxHighlighter
       
   164     * Fixed failing assertion that could occur when installing a syntax
       
   165       highlighter before the document has created a layout.
       
   166 
       
   167 - QPluginLoader
       
   168     * Fixed compilation of Q_EXPORT_PLUGIN when used with templates.
       
   169 
       
   170 - QTcpSocket
       
   171     * Fixed a bug where QTcpSocket would time out when connecting to a
       
   172       closed service on Windows.
       
   173     * Fixed a race condition when calling waitFor...() functions with a very
       
   174       short timeout value.
       
   175     * Fixed unexpected remote disconnect problems on Windows.
       
   176     * Improved the reliability of the waitFor...() functions with SOCKS5
       
   177       proxy support.
       
   178 
       
   179 - QTextLayout
       
   180     * Fixed rendering of surrogate pairs and cursor navigation with them.
       
   181 
       
   182 - QTextEdit
       
   183     * Fixed crash in QTextEdit::setExtraSelection() that could occur when
       
   184       used with null cursors.
       
   185     * Fixed scrollbar bug which could cause the bottom of the text to be
       
   186       unreachable.
       
   187 
       
   188 - QTextStream
       
   189     * Fixed QTextStream::readLine() so it can be used reliably with stdin on
       
   190       all platforms, and updated the documentation to reflect this.
       
   191 
       
   192 - QMacStyle
       
   193     * Ensured that tab bars are drawn correctly regardless of the font used.
       
   194 
       
   195 - QMenuBar
       
   196     * Properly marked the "text heuristic matching" strings for translation.
       
   197 
       
   198 - QMenu
       
   199     * Fixed incorrect scrolling on large menus on Mac OS X.
       
   200 
       
   201 - QPlastiqueStyle
       
   202     * Ensured that indeterminate progress bars are now always animated and
       
   203       fixed a rendering bug.
       
   204 
       
   205 - QPrinter
       
   206     * Fixed a bug on X11 that caused the printer to generate too many
       
   207       copies.
       
   208     * Fixed a bug in the PostScript driver that could cause invalid
       
   209       PostScript to be generated.
       
   210 
       
   211 - QSqlRelationalTableModel
       
   212     * Ensured that the internal cache is cleared after
       
   213       QSqlRelationalTableModel::submitAll() is called. 
       
   214 
       
   215 - QSqlDriver
       
   216     * Ensured that QSqlDriver::formatValue() doesn't cut off characters from
       
   217       field names.
       
   218 
       
   219 - QTextTable
       
   220     * Removed false assertion when deleting the first row or column in a
       
   221       table.
       
   222     * Fixed crash when splitting cells in the rightmost column of a table.
       
   223     * Fixed issue where QTextTable::splitCells() would shift cells further
       
   224       down in the table.
       
   225     * Fixed crash in QTextTable::mergeCells() caused by merging an already
       
   226       merged cell.
       
   227     
       
   228 - QToolTip
       
   229     * Fixed QToolTip sizes when used with HTML tags like <BR>.
       
   230 
       
   231 - QUdpSocket
       
   232     * Fixed a busy-wait causing the event loop to spin when writing a
       
   233       datagram to an unbound port.
       
   234     * QUdpSocket now reliably emits readyRead() in connected mode.
       
   235 
       
   236 - QUrl
       
   237     * Fixed a crash that would occur as a result of calling errorString() on
       
   238       an empty URL.
       
   239 
       
   240 - SQL plugins
       
   241     * Prevent crashes in QSqlQuery after reopening a closed ODBC connection.
       
   242     * Prevent crash when retrieving binary data from ODBC.
       
   243     * The Interbase driver now returns a valid handle through
       
   244       QSqlDriver::handle().
       
   245 
       
   246 - QMutex
       
   247     * Fixed race condition in QMutex::tryLock() that would prevent all
       
   248       other threads from acquiring the mutex
       
   249 
       
   250 - QList
       
   251     * Fixed crash when modifying a QList that must be detached from a
       
   252       separate thread
       
   253 
       
   254 - QWidget
       
   255     * Fixed case where a modal dialog could be stacked below its parent
       
   256       window when the dialog was shown first
       
   257     * Fixed an erroneous hideEvent() from being sent immediately after
       
   258       window creation
       
   259     * Fixed problem with missing text in QWidget::whatsThis().
       
   260 
       
   261 - QWindowsStyle
       
   262     * Fixed a crash that could occur when deleting a QProgressBar after its
       
   263       style was changed.
       
   264 
       
   265 - QVariant
       
   266     * Fixed assertion caused by streaming in a variant containing a float.
       
   267 
       
   268 - QAbstractItemView
       
   269     * Fixed focus problem with cell widgets.
       
   270 
       
   271 - QTableView
       
   272     * Fixed problem with context menus clearing the selections.
       
   273 
       
   274 - QHeaderView
       
   275     * Fixed assertion that could occur when removing all sections when some
       
   276       sections had been moved.
       
   277     * Fixed a bug that could prevent the user from resizing the last 
       
   278       visible section if the "real" last section was invisible.
       
   279 
       
   280 - QListView
       
   281     * Fixed crash when calling reset.
       
   282 
       
   283 - QTableWidget
       
   284     * Fixed painting problem that could occur when rows were swapped.
       
   285 
       
   286 - QTreeView
       
   287     * Fixed a crash that could appear when removing all the children of an
       
   288       item.
       
   289 
       
   290 ****************************************************************************
       
   291 *                      Platform Specific Changes                           *
       
   292 ****************************************************************************
       
   293 
       
   294 X11
       
   295 ---
       
   296     * Fixed detection of Type1 symbol fonts.
       
   297     * Fixed crash on exit in QSystemTrayIcon when QApplication is used
       
   298       as the parent.
       
   299     * Fixed animation GUI effects on tooltips, menus, and comboboxes.
       
   300     * Fixed crashes in threaded programs when Qt uses the Glib main
       
   301       loop.
       
   302     * Fixed bug where an empty LANG environment variable could prevent input
       
   303       of non-ASCII chars in Qt widgets.
       
   304     * Fixed leak of initial style created by QApplication after calling
       
   305       QApplication::setStyle().
       
   306     * Fixed erroneous event delivery to a widget that has been destroyed.
       
   307     * Prevent shortcuts for keypad arrow keys from being activated when
       
   308       Num Lock is on.
       
   309     * Fixed bug which caused incorrect drawing of subrectangles of bitmaps.
       
   310     * Fixed bug in rendering of the Bengali script.
       
   311 
       
   312 Windows
       
   313 -------
       
   314     * Fixed compilation with -no-stl.
       
   315     * Fixed compilation with Windows SDK for Vista.
       
   316     * Fixed an issue that could cause missing text when Cleartype was used.
       
   317     * Fixed the hot-spot locations for OpenHandCursor and CloseHandCursor.
       
   318     * Fixed infinite warning loop about adopted threads in applications with
       
   319       many threads.
       
   320     * Fixed assertion caused by hiding a child widget whose window has not
       
   321       yet been created.
       
   322     * Fixed QWindowsXPStyle so that it is possible to draw a
       
   323       QStyle::CE_DockWidgetTitle without having an actual instance of
       
   324       QDockWidget.
       
   325     * Fixed crash when drawing text with large font sizes.
       
   326     * Fixed support for the Khmer language.
       
   327     * Fixed incorrect reporting of frameGeometry() after a window is closed.
       
   328     * Fixed crash when handling spurious WM_CHAR from Remote Desktop Client.
       
   329     * Fixed crash in JPEG plugin while loading.
       
   330     * Fixed crash in QFileDialog::getExistingDirectory() when specifying
       
   331       a parent that has not been shown yet.
       
   332 
       
   333 Mac OS X
       
   334 --------
       
   335     * Fixed regression where dragging/copying Unicode text in Qt to another
       
   336       application would only export the non-Unicode version.
       
   337     * Fixed regression where releasing the mouse button would send two mouse
       
   338       releas events to a widget.
       
   339     * Fixed regression where the drop action would be reset after a native
       
   340       "DragLeave" event was received.
       
   341     * Wrapping a (non-Qt) window's content view and resizing before showing
       
   342       the window for the first time now works correctly.
       
   343     * Ensured that the content view is always created before we QWidgets are
       
   344       added to a window - this allows better integration with Cocoa apps.
       
   345     * Fixed regression where text/uri-list was inadvertently disabled for
       
   346       clipboards.
       
   347     * Fixed regression where setting the brushed metal style on a message
       
   348       box would show the label in a non-metallic style.
       
   349     * Fixed the open source binary package to have the correct definitions
       
   350       for development.
       
   351 
       
   352 Qtopia Core
       
   353 -----------
       
   354     * Fixed a data corruption bug in QDataStream on ARM processors where
       
   355       reading and writing doubles/qreals would be incompatible with streams
       
   356       on other platforms.
       
   357       Note: corrupt data streams generated with previous versions of Qtopia
       
   358       Core on ARM platforms cannot be read with this version.
       
   359     * Fixed a possible buffer overflow in the VNC driver.
       
   360     * Fixed a memory leak in the windowing system.
       
   361     * Fixed painting errors occuring with use of QT::WA_PaintOnScreen on
       
   362       certain screen configurations.
       
   363     * Improved performance when using a 16-bit brush as the background on a 
       
   364       16-bit screen.
       
   365     * Improved performance of 16-bit semi-transparent solid fills.
       
   366     * Fixed crash that could occur when saving a 16-bit image in BMP or PPM
       
   367       formats.
       
   368     * Fixed bug where window icons would not be shown in Plastique style.
       
   369     * Fixed bug in QWSServer::setMaxWindowRect() on rotated displays.
       
   370     * Fixed crash with normalized Unicode characters and QPF fonts.
       
   371     * Ensured that QWidget::minimumSize() does not become larger than the
       
   372       screen size.
       
   373