1Qt 4.2.3 is a bug-fix release. It maintains both forward and backward 2compatibility (source and binary) with Qt 4.2.0. 3 4The Qt version 4.2 series is binary compatible with the 4.1.x and 4.0.x 5series. Applications compiled for 4.0 or 4.1 will continue to run with 4.2. 6 7**************************************************************************** 8* General * 9**************************************************************************** 10 11General 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 41Third party components 42---------------------- 43 44- libpng 45 46 * Security fix: Avoid null dereferences. 47 48**************************************************************************** 49* Library * 50**************************************************************************** 51 52General 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 294X11 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 312Windows 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 333Mac 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 352Qtopia 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 374