qt6windows7/dist/changes-4.2.3

374 lines
14 KiB
Groff
Raw Normal View History

2023-10-30 06:33:08 +08:00
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.