Revision control
++ Qt 4.2.3 is a bug-fix release. It maintains both forward and backward
++ compatibility (source and binary) with Qt 4.2.0.
++
++ The Qt version 4.2 series is binary compatible with the 4.1.x and 4.0.x
++ series. Applications compiled for 4.0 or 4.1 will continue to run with 4.2.
++
++ ****************************************************************************
++ * General *
++ ****************************************************************************
++
++ General Improvements
++ --------------------
++
++ - Configuration/Compilation
++ * Fixed architecture detection on UltraSPARC-T1 systems.
++ * Fixed compilation on embedded architectures when qreal is not double.
++ * Compile on OpenBSD.
++
++ - Documentation
++ * Completed documentation for "Implementing Atomic Operations",
++ which is useful for people porting Qt to a new hardware architecture.
++
++ - Translations
++ * Added a new unofficial Portuguese translation courtesy of Helder
++ Correia.
++
++ - Qt Linguist
++ * Made the columns in the phrasebook resizeable.
++
++ - lupdate
++ * Fixed bug in the .pro parser of lupdate. It should accept backslashes.
++ * Fixed a severe slowdown in lupdate. (~400x speedup.)
++ * Fixed traversal of subdirectories.
++
++ - moc
++ * Don't create trigraphs in the generated code for C++ casts.
++
++ - uic
++ * Fixed a bug that generated excessive margins for Q3GroupBox.
++
++ Third party components
++ ----------------------
++
++ - libpng
++
++ * Security fix: Avoid null dereferences.
++
++ ****************************************************************************
++ * Library *
++ ****************************************************************************
++
++ General improvements
++ --------------------
++
++ - Graphics View
++
++ * Calling QGraphicsScene::update() without arguments now correctly
++ updates the entire scene.
++ * Changing the background brush in QGraphicsScene now correctly updates
++ the entire scene
++ * Fixed a crash in QGraphicsScene due to stale pointers in the BSP tree.
++ * QGraphicsScene::createItemGroup() now allows you to create an empty
++ group (previously caused an assert in debug mode).
++ * Fixed rendering bugs with QGraphicsPixmapItem::offset().
++ * Adding an item to a QGraphicsScene now always implicitly causes an
++ update.
++ * Fixed a crash caused by deleting a QGraphicsScene that is being viewed
++ by a QGraphicsView.
++ * Items with zero width or height (e.g., a horizontal or vertical line
++ with a zero-width cosmetic pen) are now rendered correctly.
++ * Fixed a crash in QGraphicsScene::destroyItemGroup(), and when removing
++ items from a group.
++
++ - Item views
++ * Fixed data loss in QTreeWidget, QTableWidget and QListWidget that
++ occurred when performing a drag and drop copy operation on items
++ containing data in custom roles.
++
++ * Fixed signal emission bugs in QSqlQueryModel and QSqlTableModel that
++ caused the view to contain invalid items when used with a
++ QSortFilterProxyModel.
++
++ * Fixed a bug in word-wrapped text that could cause all new-line
++ characters, and the last line in string containing at least one
++ newline character, to be removed.
++
++ * Fixed bug in QListView where the last item of a batch was not always
++ displayed.
++
++ - QAction
++ * Fixed a possible crash when using alternate shortcuts on a QAction.
++
++ - QByteArray
++ * Fixed a crash in toUpper().
++
++ - QCleanlooksStyle
++ * Indeterminate progress bars are now correctly animated.
++
++ - QComboBox
++ * Fixed broken case sensitive completion.
++ * Changing the font on a QComboBox now changes the font on the popup as
++ well.
++
++ - Q3TextEdit
++ * Fixed regression where some shortcuts didn't work on Mac OS X.
++
++ - Q3Canvas
++ * Fixed potential memory overrun when determining a clipping chunk.
++
++ - Q3Socket
++ * Fixed unexpected remote disconnection bugs (also QTcpSocket).
++
++ - QFile
++ * Performance enhancements in QFile::copy().
++ * Allow reading past the previous end of the file if the file grows.
++ * Reliably allow QFile::readLine() and QFile::readAll() to be used to
++ read from stdin on all platforms.
++
++ - QFileDialog
++ * Fixed crash that could occur when the filter began with ';;'.
++ * Fixed assertion caused by calling setFilters() with an empty list.
++ * Fixed problem with file entries not being laid out correctly.
++
++ - QGridLayout
++ * Fixed bug in handling of fixed size spacers spanning multiple
++ rows/columns
++
++ - QLayout
++ * Fixed bug caused by setting minimumSize() and SizePolicy::Fixed on a
++ widget that implements minimumSizeHint() but not sizeHint().
++
++ - QLineEdit
++ * Fixed crash caused by moving the cursor over a QChar::LineSeparator
++ in the text.
++
++ - QPainter
++ * Fixed bug in QPainter::drawPoints() when using the raster paint engine
++ which caused some points to be missing.
++ * Removed memory leak in raster paint engine when drawing complex
++ polygons/paths.
++
++ - QProcess
++ * Fixed a crash that could occur when calling QProcess::waitForFinished()
++ from inside a slot connected to a signal emitted by QProcess.
++ * Fixed a race condition on Windows where QProcess::bytesToWrite() would
++ return a short byte count.
++
++ - QTextDocument
++ * Fixed find() with backward searches.
++ * Match CSS style selector case insensitively.
++ * Fixed HTML import for tables with missing cells and rowspan/colspan
++ attributes.
++
++ - QSortFilterProxyModel
++ * Fixed a crash caused by calling filterChanged().
++ * Fixed a crash caused by removing items from the source model.
++ * Fixed a bug that could cause a model to enter an invalid state when
++ filtering items in a hierarchy, causing items in a QTreeView to
++ erroneously be collapsed.
++ * Fixed a bug that could cause invalid items to be added when inserting
++ new items to the source model.
++
++ - QSyntaxHighlighter
++ * Fixed failing assertion that could occur when installing a syntax
++ highlighter before the document has created a layout.
++
++ - QPluginLoader
++ * Fixed compilation of Q_EXPORT_PLUGIN when used with templates.
++
++ - QTcpSocket
++ * Fixed a bug where QTcpSocket would time out when connecting to a
++ closed service on Windows.
++ * Fixed a race condition when calling waitFor...() functions with a very
++ short timeout value.
++ * Fixed unexpected remote disconnect problems on Windows.
++ * Improved the reliability of the waitFor...() functions with SOCKS5
++ proxy support.
++
++ - QTextLayout
++ * Fixed rendering of surrogate pairs and cursor navigation with them.
++
++ - QTextEdit
++ * Fixed crash in QTextEdit::setExtraSelection() that could occur when
++ used with null cursors.
++ * Fixed scrollbar bug which could cause the bottom of the text to be
++ unreachable.
++
++ - QTextStream
++ * Fixed QTextStream::readLine() so it can be used reliably with stdin on
++ all platforms, and updated the documentation to reflect this.
++
++ - QMacStyle
++ * Ensured that tab bars are drawn correctly regardless of the font used.
++
++ - QMenuBar
++ * Properly marked the "text heuristic matching" strings for translation.
++
++ - QMenu
++ * Fixed incorrect scrolling on large menus on Mac OS X.
++
++ - QPlastiqueStyle
++ * Ensured that indeterminate progress bars are now always animated and
++ fixed a rendering bug.
++
++ - QPrinter
++ * Fixed a bug on X11 that caused the printer to generate too many
++ copies.
++ * Fixed a bug in the PostScript driver that could cause invalid
++ PostScript to be generated.
++
++ - QSqlRelationalTableModel
++ * Ensured that the internal cache is cleared after
++ QSqlRelationalTableModel::submitAll() is called.
++
++ - QSqlDriver
++ * Ensured that QSqlDriver::formatValue() doesn't cut off characters from
++ field names.
++
++ - QTextTable
++ * Removed false assertion when deleting the first row or column in a
++ table.
++ * Fixed crash when splitting cells in the rightmost column of a table.
++ * Fixed issue where QTextTable::splitCells() would shift cells further
++ down in the table.
++ * Fixed crash in QTextTable::mergeCells() caused by merging an already
++ merged cell.
++
++ - QToolTip
++ * Fixed QToolTip sizes when used with HTML tags like <BR>.
++
++ - QUdpSocket
++ * Fixed a busy-wait causing the event loop to spin when writing a
++ datagram to an unbound port.
++ * QUdpSocket now reliably emits readyRead() in connected mode.
++
++ - QUrl
++ * Fixed a crash that would occur as a result of calling errorString() on
++ an empty URL.
++
++ - SQL plugins
++ * Prevent crashes in QSqlQuery after reopening a closed ODBC connection.
++ * Prevent crash when retrieving binary data from ODBC.
++ * The Interbase driver now returns a valid handle through
++ QSqlDriver::handle().
++
++ - QMutex
++ * Fixed race condition in QMutex::tryLock() that would prevent all
++ other threads from acquiring the mutex
++
++ - QList
++ * Fixed crash when modifying a QList that must be detached from a
++ separate thread
++
++ - QWidget
++ * Fixed case where a modal dialog could be stacked below its parent
++ window when the dialog was shown first
++ * Fixed an erroneous hideEvent() from being sent immediately after
++ window creation
++ * Fixed problem with missing text in QWidget::whatsThis().
++
++ - QWindowsStyle
++ * Fixed a crash that could occur when deleting a QProgressBar after its
++ style was changed.
++
++ - QVariant
++ * Fixed assertion caused by streaming in a variant containing a float.
++
++ - QAbstractItemView
++ * Fixed focus problem with cell widgets.
++
++ - QTableView
++ * Fixed problem with context menus clearing the selections.
++
++ - QHeaderView
++ * Fixed assertion that could occur when removing all sections when some
++ sections had been moved.
++ * Fixed a bug that could prevent the user from resizing the last
++ visible section if the "real" last section was invisible.
++
++ - QListView
++ * Fixed crash when calling reset.
++
++ - QTableWidget
++ * Fixed painting problem that could occur when rows were swapped.
++
++ - QTreeView
++ * Fixed a crash that could appear when removing all the children of an
++ item.
++
++ ****************************************************************************
++ * Platform Specific Changes *
++ ****************************************************************************
++
++ X11
++ ---
++ * Fixed detection of Type1 symbol fonts.
++ * Fixed crash on exit in QSystemTrayIcon when QApplication is used
++ as the parent.
++ * Fixed animation GUI effects on tooltips, menus, and comboboxes.
++ * Fixed crashes in threaded programs when Qt uses the Glib main
++ loop.
++ * Fixed bug where an empty LANG environment variable could prevent input
++ of non-ASCII chars in Qt widgets.
++ * Fixed leak of initial style created by QApplication after calling
++ QApplication::setStyle().
++ * Fixed erroneous event delivery to a widget that has been destroyed.
++ * Prevent shortcuts for keypad arrow keys from being activated when
++ Num Lock is on.
++ * Fixed bug which caused incorrect drawing of subrectangles of bitmaps.
++ * Fixed bug in rendering of the Bengali script.
++
++ Windows
++ -------
++ * Fixed compilation with -no-stl.
++ * Fixed compilation with Windows SDK for Vista.
++ * Fixed an issue that could cause missing text when Cleartype was used.
++ * Fixed the hot-spot locations for OpenHandCursor and CloseHandCursor.
++ * Fixed infinite warning loop about adopted threads in applications with
++ many threads.
++ * Fixed assertion caused by hiding a child widget whose window has not
++ yet been created.
++ * Fixed QWindowsXPStyle so that it is possible to draw a
++ QStyle::CE_DockWidgetTitle without having an actual instance of
++ QDockWidget.
++ * Fixed crash when drawing text with large font sizes.
++ * Fixed support for the Khmer language.
++ * Fixed incorrect reporting of frameGeometry() after a window is closed.
++ * Fixed crash when handling spurious WM_CHAR from Remote Desktop Client.
++ * Fixed crash in JPEG plugin while loading.
++ * Fixed crash in QFileDialog::getExistingDirectory() when specifying
++ a parent that has not been shown yet.
++
++ Mac OS X
++ --------
++ * Fixed regression where dragging/copying Unicode text in Qt to another
++ application would only export the non-Unicode version.
++ * Fixed regression where releasing the mouse button would send two mouse
++ releas events to a widget.
++ * Fixed regression where the drop action would be reset after a native
++ "DragLeave" event was received.
++ * Wrapping a (non-Qt) window's content view and resizing before showing
++ the window for the first time now works correctly.
++ * Ensured that the content view is always created before we QWidgets are
++ added to a window - this allows better integration with Cocoa apps.
++ * Fixed regression where text/uri-list was inadvertently disabled for
++ clipboards.
++ * Fixed regression where setting the brushed metal style on a message
++ box would show the label in a non-metallic style.
++ * Fixed the open source binary package to have the correct definitions
++ for development.
++
++ Qtopia Core
++ -----------
++ * Fixed a data corruption bug in QDataStream on ARM processors where
++ reading and writing doubles/qreals would be incompatible with streams
++ on other platforms.
++ Note: corrupt data streams generated with previous versions of Qtopia
++ Core on ARM platforms cannot be read with this version.
++ * Fixed a possible buffer overflow in the VNC driver.
++ * Fixed a memory leak in the windowing system.
++ * Fixed painting errors occuring with use of QT::WA_PaintOnScreen on
++ certain screen configurations.
++ * Improved performance when using a 16-bit brush as the background on a
++ 16-bit screen.
++ * Improved performance of 16-bit semi-transparent solid fills.
++ * Fixed crash that could occur when saving a 16-bit image in BMP or PPM
++ formats.
++ * Fixed bug where window icons would not be shown in Plastique style.
++ * Fixed bug in QWSServer::setMaxWindowRect() on rotated displays.
++ * Fixed crash with normalized Unicode characters and QPF fonts.
++ * Ensured that QWidget::minimumSize() does not become larger than the
++ screen size.
++