1Qt 4.3.1 is a bug-fix release. It maintains both forward and backward 2compatibility (source and binary) with Qt 4.3.0. 3 4The Qt version 4.3 series is binary compatible with the 4.2.x, 4.1.x and 54.0.x series. Applications compiled for Qt 4.0, 4.1 or 4.2 will continue to 6run with Qt 4.3. 7 8**************************************************************************** 9* General * 10**************************************************************************** 11 12General Improvements 13-------------------- 14 15- Translations 16 * Updated the German translation to provide complete coverage of Qt. 17 18- QDBusView 19 * Added icons for Mac OS X and Windows. 20 21- Intel C++ Compiler for Linux 22 * Added support for version 10 of the compiler. See the Compiler 23 Notes documentation for known problems and work-arounds for this 24 compiler. 25 * Added linux-icc-32 mkspec, for building with the 32-bit compiler 26 on 64-bit hosts. 27 28Third party components 29---------------------- 30 31- FreeType 32 * Security fix (CVE-2007-2754): Integer overflow in the 33 TT_Load_Simple_Glyph function in freetype 2.3.4 and earlier allows 34 remote authenticated users to execute arbitrary code via crafted BDF 35 fonts. 36 37- SQLite 38 * File descriptors are not inherited during spawn() anymore. 39 40Build System 41------------ 42 43 * Fixed native builds on ARM architectures. 44 45**************************************************************************** 46* Library * 47**************************************************************************** 48 49General Improvements 50-------------------- 51 52- QAbstractItemView 53 * [166605] Fixed regression causing keyboard modifiers to have no effect 54 during drag and drop operations. 55 * [169233] Fixed bug that would prevent text from being selected in 56 double spin box editors. 57 * [168917] Text would sometimes not be selected in the editor. 58 59- QAbstractItemModel 60 * [166714] Fixed regression causing persistent indexes to not be 61 correctly updated. 62 63- QAbstractPrintDialog 64 * [163000] Fixed bug on Unix where the PrintSelection option would not 65 be enabled unless PrintPageRange was also enabled. 66 67- QApplication 68 * [166677] Windows only: Fixed an issue with alert() where windows 69 would keep flashing after being activated by the user. 70 * [168974] Fixed problems with compilation that could occur when 71 QT3_SUPPORT and QT_NO_CURSOR were defined. 72 73- QComboBox 74 * [165130] Mac OS X only: Fixed bug that caused an editable combo box to 75 cut off list entries. 76 77- QDesktopServices 78 * [165817] Fixed misleading documentation of 79 QDesktopServices::setUrlHandler(). 80 81- QDialog 82 * [166900, 166514] Fixed bug where a dialog could remain visible after 83 hide() had been called. 84 85- QFile 86 * [167217] Fixed regression that prevented the sequential bit from being 87 reset when reopening a file. 88 89- QFileDialog: 90 * [164947] Mac OS X only: Ensure that the parent of a native sheet dialog 91 is activated before a sheet is shown. 92 93- QFSFileEngine: 94 * [163406] Ensured that QFile::readLine() works on all platforms when 95 QFile is opened on file descriptor 0. 96 97- QGLWidget 98 * [162085] X11 only: Fixed usage of QGLWidget on multiple X11 screens. 99 * [164707] X11 only: Fixed the transparent overlay color usage to make 100 it possible to draw with a solid black color. Qt::transparent is now 101 always returned as the transparent color in an overlay. 102 * [162143] Fixed a crash that could occur when calling renderPixmap() 103 with extremely large sizes. It now gracefully fails instead. 104 105- QGraphicsItem 106 * [163430] Improved precision of QGraphicsItem::ItemIsMovable move 107 operations, and fixed move support for 108 QGraphicsItem::ItemIgnoresTransformations. 109 110- QGraphicsItemAnimation 111 * [164585] Fixed setTimeLine(0) to properly remove the existing timeline, 112 and also ensured that setting the same timeline twice works fine. 113 114- QGraphicsScene 115 * [163555] Flat items (items whose bounding rect width or height is 0) 116 no longer cause a full viewport update when they are updated. 117 118- QGraphicsView 119 * [160828] Fixed bug in QGraphicsScene/View::render() which could cause 120 nothing to be rendered for QPicture target devices. 121 * [163919] Scroll bar ranges are no longer reset to (0,0) when the 122 scroll bars are disabled (Qt::ScrollBarAlwaysOff). 123 * [163537] Scroll bar ranges are now correct also for styles with a 124 viewport frame only around the viewport itself (e.g., Motif and Mac 125 OS X style). 126 * [158245] Calling setScene(0) now recalculates the scroll bar ranges. 127 * [170619, 157400] Fixed rendering bugs that could occur when using a 128 semi-transparent foreground or background brush. 129 * [170619, 168885] Fixed a bug that would cause the rubber band to 130 appear after invoking a context menu. 131 132- QHostInfo 133 * [168233] Ensured that all pending look-ups are terminated on 134 application exit to avoid a delayed application shutdown while waiting 135 for the look-ups to complete. 136 * [167487] Fixed support for Unix platforms that allow IPv6 look-ups 137 through getaddrinfo(), but that don't support IPv6 sockets. 138 139- QImage 140 * [163727] Fixed artifacts in scaled images that could occur when using 141 Qt::FastTransformation. 142 * [169908] Fixed a crash that could occur when reading 4-bit 143 uncompressed BMP images. 144 145- QLocale 146 * [167534] Fixed bug that would cause QLocale::toString() to return 147 garbage if passed an invalid time or date. 148 149- QMainWindow 150 * [166004, 167651] Made the unified toolbar handle layout requests. 151 * Mac OS X only: Don't move the window's title bar when clicking on the 152 toolbar button. 153 * [164105] Made the unified toolbar handle showMaximized(). 154 * [162555] Move OpenGL contexts when the toolbar button is pressed and 155 we are using the unified toolbar. 156 * [169063] Fixed a crash that could occur when setting a new menu bar 157 and the old one contained corner widgets. 158 159- QMdiArea 160 * [162573] Improved switching between maximized subwindows (less 161 flickering). 162 * [162046, 164264] Improved activation behavior. 163 * [170770] Fixed inconsistent behavior with scroll bars when a subwindow 164 is maximized. 165 * [169873] Fixed incorrect positions of tiled subwindows. 166 167- QMdiSubWindow 168 * [168129] Improved the way a default window icon is selected. 169 * [169859] Improved menu bar buttons for maximized subwindows. 170 * Improved support for size grips. 171 * [169543] Windows only (XP style): Fixed a problem where the frame 172 width was 1 pixel wider than it should have been. 173 * [168829] Fixed incorrect margins of maximized subwindows inside 174 QMainWindow. 175 176- QMenu 177 * [166652] Fixed a regression where context menus could not be triggered 178 with the right mouse button. 179 * [161789] Fixed a bug that prevented tear-off handles from being 180 activated when they were dragged down from the menu bar item. 181 182- QMenuBar 183 * [168892] Fixed bug that made the extension always appear when adding a 184 separator to a menu bar. 185 * [166181] Fixed bug that caused extensions to be misplaced. 186 * [166242] Fixed bug that could cause menus to be collapsed. 187 188- QMessageBox 189 * Ensured that the default button isn't lost when the modality of the 190 message box is changed. 191 192- QMacStyle 193 * Ensured that items with State_Focus actually get the focus ring drawn. 194 195- QNetworkProxy 196 * [170549] Fixed a regression from 4.2.3 in the default constructor; if 197 used before any other proxy settings were applied, it would fail to 198 initialize the proxy handlers, effectively disabling support for 199 SOCKS5 and HTTP proxies. 200 201- QOpenGLPaintEngine 202 * [166087] Fixed a memory leak caused by not releasing GL program 203 handles if they failed to compile. 204 * [166054] Ensured that push and pop operations are performed on the 205 texture matrix stack and the client state attributes when begin() 206 and end() are called. 207 * [161021] Fixed rendering of points with cosmetic pens with widths 208 greater than 0. 209 210- QPainter 211 * [158815] Fixed rendering artifacts for extended composition modes with 212 semi-transparent or anti-aliased drawing. 213 * [163744] Fixed aliased ellipse drawing artifacts (horizontal lines) 214 in raster engine. 215 * [166623] Fixed bug where gradients with ObjectBoundingMode would be 216 drawn at an incorrect offset. 217 * [167497] Fixed color bleeding artifacts at the edges when drawing 218 images/pixmaps with SmoothPixmapTransform on X11. 219 * [168621] Fixed bug which would cause projective transformations to be 220 incorrectly applied for non-top-level widgets. 221 * [168623] Fixed drawing of gradients with projective transformations. 222 * [167891] Fixed an assert in QBezier::shifted() that occured when 223 drawing certain paths. 224 225- QPlastiqueStyle 226 * [167145] Fixed a regression with combo and spin box text margins. 227 228- QPrintDialog 229 X11 only: 230 * [142701] Fixed an assert which could occur on a system with CUPS 231 setup, but no printers available. 232 * [165957] Added support to allow printers to be chosen from the 233 NPRINTER and NGPRINTER enviroment variables. 234 Ensured that CUPS command line options are not used when not using 235 CUPS. 236 * [158807] Fixed page ordering when printing to a CUPS printer or to PDF 237 files. 238 * [155129] Fixed Landscape printing with CUPS version < 1.2. 239 240 Windows only: 241 * [166054] Fixed a crash which could occur when trying to use a 242 QPrintDialog to configure a printer set to use 243 QPrinter::PostScriptFormat as output format. 244 * [162729] Fixed an assert that could occur when entering an invalid 245 page range. 246 247- QPrintEngine 248 * [166499] Windows only: Fixed a bug that could cause printing from a 249 QTextEdit to produce incorrect wrong results under certain 250 circumstances. 251 * [161915] Mac OS X only: Drawing vertical lines with a dot pattern now 252 work correctly on OS X 10.3.9. 253 254- QProcess 255 * [161944] QProcess::setReadChannel() no longer affects the contents of 256 the stderr / stdout / unget buffers. QProcess::readAllStandardError() 257 and QProcess::readAllStandardOutput() no longer clear any unget data 258 or buffered data. 259 260- QPixmap 261 * [167841] Fixed bug where filling a QPixmap with an alpha color would 262 fail to detach the pixmap, causing copies of the pixmap to be changed 263 as well. 264 * [157166] X11 only: Fixed problem with disappearing icons on 8-bit 265 TrueColor displays. 266 * [161307] Mac OS X only: Drawing bitmaps on pixmaps now works 267 correctly. 268 269- QRasterPaintEngine 270 * [166710] Fixed bug that prevented Qt::OpaqueMode from being taken into 271 account under certain circumstances when QPainter::fillRect() was 272 called. 273 * [159538] Fixed drawing of a monochrome image into another monochrome 274 image. 275 * [166000] Fixed compilation of mmxext optimizations. 276 * [156925] Fixed performance bug in 3DNow! optimizations. 277 278- QRegion 279 * [167445] Removed potential assert in QRegion::operator^ on Unix. 280 281- QScriptEngine 282 * [165899] Fixed bug where calling an overloaded slot from a script 283 would pick the wrong overload when the argument is a QObject. 284 * [166903] Fixed crash when evaluating a call to a script function that 285 ends with an if-statement with a true-part that ends with a return 286 statement (and has no else-part). 287 288- QScrollArea 289 * [167838] Use micro focus rectangle (if "active") instead of the entire 290 widget in ensureWidgetVisible(). 291 292- QSortFilterProxyModel 293 * [167273] Fixed regression that caused QSortFilterProxyModel to assert 294 when changing data in a QSqlTableModel source model with the 295 OnFieldChange edit strategy. 296 297- QSqlQueryModel 298 * [166880] Fixed a bug where setQuery() could cause a crash by calling 299 hasFeature() on the wrong driver instance. 300 301- QSqlRelationalTableModel 302 * [140782] Fixed a bug which caused insertRecord() to fail when record() 303 returns a record containing duplicate field names. 304 305- QSslCertificate 306 * [168116] Don't crash when passing 0 to QSslCertificate::fromDevice(); 307 issue a warning instead. This fix also removes warnings about 308 uninitialized symbols when accessing the static functions in 309 QSslCertificate before creating a QSslSocket. 310 311- QSslSocket 312 * [164356] Fixed a crash that could occur when passing a string to 313 setCiphers(). 314 * [166633] Fixed a memory leak that would occur with each established 315 connection. 316 * [165962] Fixed support for wildcard certificates. 317 * [167593] Fixed a bug that caused QSslSocket::protocol() to be ignored 318 and set to the default of SSLv3 under certain circumstances. 319 * [167380] Fixed a crash when assigning a null key for SSL servers. 320 * [169571] Fixed a crash that could occur after disconnecting from a 321 remote address. 322 323- QTcpSocket 324 * [169183] Removed a qWarning() when reading from a closed socket 325 (regression from 4.2.3). 326 327- QTemporaryFile 328 * [167565] Fixed a regression from 4.2.3; size() would always return 0. 329 330- QTextEdit 331 * [161577] Fixed regression causing Shift-Backspace to be ignored. 332 * [165833] Fixed floating point overflow causing incorrect page heights 333 for text documents. 334 * [167377] Fixed performance regression when appending a lot of text in 335 NoWrap line break mode when there is a horizontal scroll bar. 336 * [163446] Fixed excessive emission of selectionChanged() signals when 337 moving the cursor. 338 * [167701] Fixed QTextEdit::setLineWrapMode to not change the 339 wordWrapMode property when called with NoWrap. 340 341- QTextDocument 342 * [160631] Fixed missing HTML export of page break policies. 343 * [163258] Fixed bug that prevented text table borders from being drawn 344 in QLabels and tool tips. 345 * [166670] Fixed layout bug that caused the right margin property of 346 paragraphs inside table cells to be ignored. 347 * [168406] Fixed rendering bug which would cause incorrect background 348 fills for paragraphs with a left margin set. 349 350- QTextLayout 351 * [166083] Fixed incorrect line breaking when breaking at a tab 352 character. 353 * [165861] Fixed support for QTextOption::NoWrap. 354 355- QLabel 356 * [162515] Fixed bug that prevented QLabel's alignment from being 357 applied properly to rich text. 358 359- QUrl 360 * Fixed a bug in QUrl::clear() which left some internal data uncleared. 361 362- QWidget 363 * [165177] Fixed crash that could occur when deleting a focus widget from a 364 window with a non-null parent. 365 * [165654] Fixed issue with incorrect repainting that could occur when 366 deleting an opaque child widget. 367 368- QWindowsVistaStyle 369 * [162730] Fixed the use of an incorrect font for item views on Windows 370 Vista. 371 * [157324] Improved the native appearance of indeterminate progress 372 bars. 373 * [170012] Fixed a bug which prevented the busy mode of a progress bar 374 from working when both its range and value were set to zero. 375 376- QWindowsXPStyle 377 * [132695] Fixed a crash issue that could occur after multiple system 378 theme changes. 379 380- QWizard 381 * [159684] AeroStyle: Fixed bug that caused the minimum height to be set 382 too low. 383 * [161670] AeroStyle: Fixed a problem that caused title bar buttons to 384 remaining glowing after the mouse had left the window. 385 * [161678] AeroStyle: Fixed a problem with incorrect vertical center 386 alignment of wizard buttons. 387 388- Q3Header 389 * [167283] Fixed regression in painting of the header. 390 391- Q3ListViewItem 392 * [165853] Fixed background coloring of a cell. 393 394- Q3Socket 395 * [163563] Fixed regression in canReadLine(); it now properly searches 396 all internal buffers. 397 398- Q3Table 399 * [168497] Fixed incorrect updates when using setUpdatesEnabled(). 400 401- Q3Wizard 402 * [168195] Fixed bug that could cause the wrong page to be shown when 403 reopening a wizard. 404 405 406**************************************************************************** 407* Database Drivers * 408**************************************************************************** 409 410- Interbase driver 411 * [149761] Added support for compiling Firebird 2.0 on 64-bit platforms. 412 * [165423] Fixed a regression causing an assert when calling a stored 413 procedure without out-parameters. 414 * [166238] Fixed a bug that caused only the first segment of multi- 415 segmented BLOBs to be retrieved in some cases. 416 417- ODBC driver 418 * [167167] Fixed a regression that caused a crash when checking DBMS 419 general information when connecting to a database. 420 421- SQLite driver 422 * Use new sqlite3_prepare16_v2 instead of sqlite3_prepare16 when 423 possible. 424 * [167665] Fixed a regression that caused field names to be escaped 425 multiple times when selecting from views. 426 427**************************************************************************** 428* Examples * 429**************************************************************************** 430 431- Secure Socket Client 432 * New example, showing how to use QSslSocket to communicate over an 433 encrypted (SSL) connection. 434 435- Accelerated Screen Driver 436 * Ensured that the example does not crash if it is unable to get a 437 pointer to the frame buffer. 438 439**************************************************************************** 440* Platform Specific Changes * 441**************************************************************************** 442 443X11 444--- 445 446 * [163862] Fixed a bug where QClipboard would escape all non-ASCII 447 characters that were copied from GTK+ applications. 448 * [165182] Fixed building with the Intel C++ Compiler for Linux on 449 IA-64 (Itanium) (missing functions in qatomic_ia64.h) 450 * [163861] Fixed building on AIX 5.3 where the _POSIX_MONOTONIC_CLOCK 451 macro was accidentally redefined. 452 * [166650] Fixed a regression from 4.2.3 where calling QWidget::move() 453 in a reimplementation of QWidget::showEvent() did not work. 454 * [166097] QWidget::show() no longer overwrites the _NET_WM_STATE 455 property. Instead, QWidget now merges any existing _NET_WM_STATE 456 property together with its own state. 457 * Fixed the QAtomic implementation on the Alpha, which previously 458 caused all applications to hang on start-up. 459 * [165229] Changed the linux-lsb-g++ specification to avoid linking with 460 libGLU (which is not part of the LSB specification). 461 * [155083, 146833] Ensure that all font substitutions from fontconfig 462 are obeyed by using a strong binding for QFont's family with 463 fontconfig. 464 465Windows 466------- 467 468 * [169105] Fixed a regression where calling resize() on a minimized 469 window did not work. 470 * [169376] Fixed a race condition that would cause a crash when 471 stopping timers in a thread. 472 * [165440] Fixed a crash that could occur when using Google's Pinyin 473 input method with Qt. 474 475Mac OS X 476-------- 477 478 * QMake's Xcode generator is now more robust when determining which 479 version of Xcode projects it should generate. It also uses launch 480 services to determine Xcode's location as well. 481 * Small changes to be more Leopard compatible 482 * [167020] Ensured that the translations are really included in the 483 binary package. 484 * [164530] Ensured that the DPI for fonts don't change when the 485 resolution changes. 486 * [165530] Fixed a bug that caused Q_DECLARE_METATYPE() in a 487 precompiled header to interfere with the Objective-C 'id' keyword. 488 * [165659] Fixed bold/italic font rendering for some fonts. 489 490Qtopia Core 491----------- 492 493 * Fixed support for bitmap fonts. 494 * [164297] Fixed a potential crash in accelerated paint engines. 495 * [160970] Fixed support for 1-bit black and white screens. 496 * [164783] Fixed bug in 4-bit grayscale support which resulted in pink 497 colors under certain circumstances. 498 * [164955] Fixed painting error when using QWidget::move(). 499 * [166368] Fixed bug in QWidget::setFixedSize() when using multiple 500 screens. 501 * [165686] Fixed bug in QPixmap::grabWindow() when using multiple 502 screens. 503 * [130925] Fixed use of QWSWindowSurface::move() when acceleration is 504 available. 505 * [143865] Implemented QWSCalibratedMouseHandler::getCalibration() 506 properly to fill all return values. 507 * [161820] Fixed incorrect detection of glib libraries when cross- 508 compiling. 509 * [152914] Improved the framebuffer test example. 510 * [171454] Fixed painting errors when zooming in QVFb. 511 512 513**************************************************************************** 514* Important Behavior Changes 515**************************************************************************** 516 517- QScrollArea 518 * [167838] Use micro focus rectangle (if "active") instead of the entire 519 widget in ensureWidgetVisible(). 520