| 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. |