1Qt 4.3.2 is a bug-fix release. It maintains both forward and backward 2compatibility (source and binary) with Qt 4.3.0 and Qt 4.3.1. 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- Legal 16 * This version adds the Academic Free License 3.0, Artistic License 2.0, 17 Zope Public License 2.1 and Eclipse Public License to the GPL 18 Exception for developers using the Open Source Edition of Qt. 19 See the GPL Exception Version 1.1 page in the documentation 20 for more information. 21 22Tools 23----- 24 25- Designer 26 * [175822] Fixed incorrect behavior of the widget editing mode that 27 could occur when a form was resized. 28 * [174797] Fixed a crash that could occur when several commands were 29 redone in one go. 30 31Build System 32------------ 33 34 * Enabled MSVC project generator for the Qt Open Source edition. 35 * Ensured that the QMAKE_CC and QMAKE_CXX variables are not defined in 36 the Xcode project generator to allow distributed (distcc) builds to 37 work again. 38 * [165183] Make DESTDIR work again in the Xcode generator. 39 * Fixed a bug in escape_expand() that could cause text to be corrupted. 40 * Updated the compiler notes for version 10.0.026 of the Intel C++ 41 Compiler for Linux. Precompiled header support has been fixed in 42 this version of the compiler, so the -no-pch workaround is no longer 43 needed. Note that there is still one outstanding bug in the 64-bit 44 compiler that requires configuring and building Qt with -debug. 45 * Updated the compiler notes for HP-UX platforms and compilers. 46 * Introduced support for 32-bit builds on HP-UXi Itanium: hpuxi-acc-32. 47 * [163661] Fixed the dependency generator for ActiveQt server projects 48 and certain custom compilers 49 * [169756] Fixed mocinclude.tmp usage for Visual Studio 6.0 project 50 files for cases where the length of the includes exceeds the amount 51 allowed on the command line. 52 * [166407] Fixed the generated target rules when using YACCSOURCES. 53 * [156948] Ensured that QTPLUGIN libraries come before the Qt libraries 54 on the link line. 55 * Ensured that support for libtiff is not built if Qt is configured 56 without zlib support. 57 * [172629] Ensured that syncqt does not generate zero-size master 58 include files for modules that are not found. 59 * Fixed generation of dependencies for EXTRA_TARGETS. 60 * [159113] Ensured that the description for the Post Link build step in 61 VS 2003 does not contain any \n characters. 62 63I18n 64---- 65 * Fixed a crash in lupdate/lrelease that could occur if the XML parser 66 reported an error. 67 68**************************************************************************** 69* Library * 70**************************************************************************** 71 72General Improvements 73-------------------- 74 75- Qt Script 76 * QScriptEngine::evaluate() no longer throws a syntax error in the case 77 where the script contains no actual statements. 78 * [175714] Fixed parsing of octal numbers on Windows and Mac OS X. 79 80- Style Sheets 81 * QMainWindow now respects the background-image style property. 82 * [171858] Ensured that QPushButton uses the correct color when the 83 text-align property is set. 84 * Fixed various bugs in QMenu styling. 85 * [168286] Fixed a bug that prevented the background from being clipped 86 correctly when the border-radius and background-clip properties were 87 defined. 88 * Fixed a QComboBox styling bug where the popup would show an extra row 89 when a style sheet was used. 90 * [177168] Fixed a memory leak where QStyleSheetStyle is never 91 destroyed. 92 * [172315] Fixed a stack-overflow when using the isActiveWindow 93 property as a selector. 94 95- Text rendering 96 * [168625] Fixed rendering of text with perspective transforms on X11 97 and Qtopia Core. 98 * [173792] Fixed transformed rendering of non-scalable/bitmap Freetype 99 glyphs. 100 101- QAbstractItemView 102 * [168493] Fixed drag and drop regression when a parent item in a tree 103 doesn't allow item to be dropped on it. 104 * [174848] Fixed a crash that could occur if the row currently being 105 edited was removed. 106 107- QCalendarWidget 108 * [171532] Fixed keyboard navigation (pressing "w" doesn't select the 109 "Wed" cell anymore). 110 * [173852] Fixed SingleLetterDayNames mode for the Chinese language. 111 112- QColorDialog 113 * [153436] Fixed a crash in QColorDialog that could occur when choosing 114 a color in the Gray colorspace. 115 116- QColumnView 117 * Ensured that selectAll() selects all items in cases where the 118 selection range contained multiple items. 119 * [170751] Fixed incorrect selection behavior caused by clicking on a 120 previously selected folder. 121 * [170753] Prevented items from being reselected on deselection in some 122 cases. 123 * [170753] Ensured that the full path is selected when passing an index 124 to select. 125 * [170753] Fixed a bug that could occur when deselecting an item that 126 caused its parent to be deselected. 127 128- QCoreGraphicsPaintEngine 129 * [170352] Fixed aliased strokes that were drawn 1 pixel too far to the 130 left on Mac OS X versions < 10.4. 131 * [172006] Fixed point drawing with a scaled painter on Mac OS X. 132 133- QDataWidgetMapper 134 * [172427] Fixed a crash that could occur when submitting data from the 135 mapped widget to the model. 136 137- QDateTimeEdit 138 * [118867] Fixed a bug that prevented valid values from being entered 139 when certain range restrictions were applied. 140 * [171920] Fixed a bug with parsing long day names. 141 142- QDir 143 * [176078] Fixed a crash that could occur when entering directories with 144 very long path entries. 145 146- QDirIterator 147 * [176078] Fixed a crash that could occur when entering directories with 148 very long path entries. 149 150- QDockWidget 151 * [174249] Fixed bug where it was possible to dock into a minimized 152 QMainWindow. 153 154- QFile 155 * [175022] Fix regression in handle() on Windows. 156 157- QFileDialog 158 * Fixed possible deadlock. 159 * Ensured that selection changed signals are reconnected when setting a 160 filter on a dialog. 161 * [171158] Fixed a crash that could occur when using the Forward button 162 to navigate into a folder that was deleted. 163 * [166786] (Windows) Fixed bug that prevented some files from being 164 shown in certain cases. 165 * [165289] (Windows) Fixed issue that caused UNC paths to be ignored 166 when used as initial paths for a file dialog. 167 * [140539] (Windows) Dialog no longer accesses floppy drives 168 automatically when launched. 169 170- QFontDatabase 171 * [176450] Added some missing tr() calls and made all strings 172 localizable. 173 174- QFSFileEngine 175 * [177363] Fixed a bug in fileTime() that caused the time returned to 176 depend on whether or not it was called during a Daylight Saving Time 177 period. 178 179- QGLPixelBuffer 180 * [179143] (Windows) Fixed a memory leak that would occur when a 181 QGLPixelBuffer was deleted. This would appear as a slowdown in 182 performance to the user. 183 184- QGLWidget 185 * [169131] Fixed an issue with renderPixmap() where text drawn with 186 renderText() was clipped to the size of widget, not the resulting 187 pixmap. 188 * [175513] Fixed an issue with renderText() which would cause artifacts 189 when bitmap fonts were used. 190 * [172474] (Windows) Fixed an issue with disappearing text when using 191 renderText() together with renderPixmap(). 192 * [173944] (Mac OS X) Fixed a crash that could occur when requesting a 193 GL context with an overlay. 194 195- QGraphicsItem 196 * [174299] Fixed and improved bounding rect calculations for most 197 standard items. 198 199- QGraphicsScene 200 * [174450] Flat items are now rendered correctly also when NoIndex is 201 set. 202 203- QGraphicsTextItem 204 * [174429] This item now respects QGraphicsItem::ItemClipsParentToShape. 205 206- QGraphicsView 207 * (X11) A workaround has been applied to resolve random clipping errors 208 that would sometimes leave trailing artifacts and horizontal/vertical 209 white lines in the viewport. 210 211- QHeaderView 212 * [178483] Prevented crash that could occur when recomputing the layout 213 under certain conditions. 214 215- QHttp 216 * [176822] Fixed a bug that caused POST requests to submit an empty body 217 after a proxy authentication request. 218 * [176403] QHttp no longer resets proxy settings on sockets set with 219 QHttp::setSocket() (regression from 4.2.3). 220 * [175170] Prevent live lock when response ends with a stray '\r'. 221 * [172763] Fixed a bug that caused QHttp to ask the proxy server to 222 connect to the wrong address when in SSL (non-caching) mode. 223 * [172775] Fixed the emission of the done() signal under some conditions 224 (mostly SSL only). 225 226- QImage 227 * [176831] Fixed a bug that caused conversions to Format_RGB16 to give 228 incorrect colors. 229 * [169908] Fixed a crash that could occur when reading 4 bits per pixel 230 uncompressed BMP images. 231 232- QItemDelegate 233 * [173969] QDoubleSpinBox editors now allow negative input. 234 * [179119] Item checkboxes were rendered without a margin. 235 236- QLabel 237 * Fixed a crash that could occur when changing the contents of a label 238 in a slot connected to the linkActivated() signal. 239 240- QLayout 241 * Fixed a performance regression from Qt 4.2 related to the introduction 242 of QStyle::layoutSpacing(). 243 244- QLibrary 245 * [178304] Fixed a bug that caused a crash if QLibrary::errorString() 246 was called before QLibrary had a file name associated with it. 247 248- QListView 249 * [270837] Fixed assert that could occur when setting a root index with 250 no children in icon mode. 251 252- QMainWindow 253 * [175479] Fixed unified toolbar handling on Mac OS X to prevent 254 assertions in the layout engine. 255 * [174575] Several crashes fixed. 256 257- QMdiArea 258 * [173391] (Windows) Fixed bug where a subWindowActivated() signal was 259 not emitted when the top-level window was minimized. 260 * [173628] Fixed bug that could cause an endless resize loop when using 261 Qt::ScrollBarAsNeeded as the scroll bar policy. 262 263- QMdiSubWindow 264 * [176769] Fixed bug where the title bar font was not updated on 265 QEvent::FontChange. 266 * [173087] Ensured that double-clicking the system menu closes the 267 window. 268 * [173363] Fixed bug where the title bar was not immediately updated 269 after changing the window title. 270 271- QMenu 272 * [111348] QMenu now takes focus with the QPopupMenuReason. 273 * [176201] Fixed possible crash when clearing the menu from a triggered 274 signal. 275 276- QPainter 277 * [168621] Fixed an offset bug in drawing with perspective transforms. 278 * [172017] (X11 and OpenGL) Fixed drawing of non-cosmetic points with 279 the FlatCap cap style. 280 * [175010] Fixed some bugs related to dash offsets. 281 * [170517] Fixed issue with missing tab stops when painting to a 282 printer. 283 284- QPainterPath 285 * Fixed the behavior of addText() when used with italic fonts. 286 * [178515] Fixed QPainterPath::pointAtPercent() to work correctly on 287 line segments in a path. 288 289- QPicture 290 * [168621] Ensured that the correct scale is used when rendering to a 291 device with different x and y resolutions. 292 293- QPixmap 294 * Ensure that the proper color space is used in QPixmap::grabWindow() on 295 Mac OS X. 296 297- QPlastiqueStyle 298 * [174104] Fixed a regression in Plastique that caused spin boxes to 299 have incorrect heights. 300 301- QRasterPaintEngine 302 * [169997] Fixed aliased rendering of complex paths with a large number 303 of subpaths. 304 * [174914] Fixed use of QPainter::setOpacity() when drawing a pixmap 305 into a 16-bit buffer. 306 * [177919] Fixed a problem with drawing bitmaps. 307 * [177654] (Windows) Fixed an issue with transformed bitmaps being 308 returned as pixmaps. 309 310- QSqlQuery 311 * [173710] Fixed a bug that caused value() to return null-variants 312 instead of real values after re-executing a prepared query. 313 314- QSqlRelationalTableModel 315 * [176374] Fixed an unfortunate change in 4.3.0. Display column names 316 were aliased to prevent duplicate column names in records in order to 317 fix a bug in insertRecord(). 318 However all display columns were always aliased - even when not 319 necessary. From now on, display column names will only be aliased when 320 there are name clashes, and only the conflicting columns will be 321 aliased. 322 323- QSqlTableModel 324 * [170783] Fixed a bug that caused empty rows to be displayed in a 325 QTableView when a new model was set on the view. This was caused by 326 QSqlTableModel emitting the rowsAboutToBeInserted() and rowsInserted() 327 signals even when the new model was empty. 328 329- QSslSocket 330 * [177198] Fixed the emission of the proxyAuthenticationRequired() 331 signal. 332 * [174625] Ensured that only one attempt is made to resolve OpenSSL 333 symbols. 334 * [173734] Removed two memory leaks. 335 * [172285] (Windows) Fixed link error that occurred when Qt was built 336 as a static library with OpenSSL enabled. 337 338- QSvgGenerator 339 * [167921] Fixed a rounding error; improved precision. 340 * [167921] Allow rendering to a device that's not open; warn if the 341 device is not writable. 342 * [167921] Fixed a bug that caused QSvgGenerator to confuse 'cm' units 343 with 'mm' units. 344 345- QSvgRenderer 346 * [172550] Fixed incorrect linear gradient parsing for certain SVGs. 347 * [175651] Fixed a crash that could occur when loading SVGs with 348 undefined URLs. 349 350- QTableView 351 * [171128] Fixed painting problems caused by deleting hidden rows. 352 * [175462] Fixed a bug where the region for selection spanning items was 353 calculated incorrectly. 354 355- QTcpSocket 356 * Fixed a crash that could occur when using SOCKS5 proxy before 357 constructing a QCoreApplication. 358 * [174517] (Windows) Prevented stalling when connecting to offline 359 hosts. 360 361- QTextBrowser 362 * [173945] Fixed bug that could prevent scrolling to an anchor in an 363 HTML file from working successfully. 364 365- QTextEdit 366 * [171130] Fixed bug that could occur when appending text lists to a 367 document, causing the first list element to be treated as normal text 368 instead of a list element. 369 * [172367] Fixed a bug that caused the result of setPlainText() to use 370 HTML attributes if preceded by a call to setHtml(). 371 * [173574] Fixed a bug that prevented floating image links from being 372 clickable. 373 * [174276] Fixed resizing performance in cases where wrapping is 374 disabled. 375 * [172646] Fixed a bug that caused leading spaces in marked up text to 376 be lost when the text was copied and pasted. 377 378- QTextLayout 379 * Fixed a regression in the line breaking algorithm that lead to wrong 380 results for justified text. 381 382- QTextStream 383 * [174516] (Windows) Fixed a bug in readLine() when reading "\r\r\n" 384 from devices opened in QIODevice::Text mode. 385 386- QToolBar 387 * [270967] Fixed the behavior of floating toolbars. 388 389- QTreeView 390 * [171947] Fixed a bug that prevented alternate colors in an inactive 391 QTreeView from being painted with the correct inactive palette role. 392 * Prevented a number of possible crashes that could occur when there are 393 pending changes. 394 * [177165] Fixed a bug that caused minimum column widths to become 395 independent of the width of the text in the header. 396 * [177945] (Mac OS X) Fixed a crash that could occur when dragging over 397 an empty region. 398 * [174437] Fixed a bug that made it possible to interactively change 399 the check state of an item, even if it was disabled. 400 * [172426] Fixed a segmentation fault in QModelIndex that would occur 401 when showing QTreeView with QSortFilterProxyModel and delayed layout 402 changes were pending. 403 404- QTreeWidget 405 * [174396] Fixed an issue that could cause setItemExpanded() to fail. 406 * [172876] Ensured that itemBelow() and itemAbove() return correct 407 values. 408 * [171271] Fixed a possible crash caused by updating items too quickly. 409 410- QUtf8Codec 411 * [175794] Fixed an off-by-one buffer overflow bug. 412 413- QWidget 414 * [157496] (Windows) Fixed a memory leak in setWindowIcon(). 415 * [175114] Fixed issue with missing update after hiding a child of a 416 hidden widget. 417 * [176455] Fixed a regression that prevented a parent layout from being 418 invalidated in certain situations if the widget had a fixed size. 419 420- QWizard 421 * [177716] Ensured that the commit button is enabled and disabled 422 correctly according to QWizardPage::isComplete(). 423 424- QX11PaintEngine 425 * [173977] Fixed drawing of tiled bitmaps into a bitmap when XRender is 426 used. 427 * [175481] Fixed a crash that could occur when performing complex 428 transformations with a QRegion. 429 430- Q3Action 431 * [175536] Fixed a formatting error in the tool tip string 432 representation of actions with shortcuts. 433 434- Q3ButtonGroup 435 * [177677] Fixed a application freeze that could occur when resetting 436 the ID of a button inside a button group. 437 438- Q3FileDialog 439 * [165470] Fixed broken scrolling behavior that occurred after toggling 440 between detail/list view mode. 441 442- Q3Header 443 * [176202] Fixed memory leak when replacing icons using setLabel(). 444 445 446**************************************************************************** 447* Tools * 448**************************************************************************** 449 450Build System 451------------ 452 453- Q3ToolBar 454 * [176525] Ensured that the tool buttons of a vertical tool bar are 455 center-aligned instead of left-aligned. 456 457I18n 458---- 459 * Fix crash in lupdate/lrelease that occured if the xml parser threw an error. 460 461Linguist 462-------- 463 464 * [276076] Let Linguist show existing translations to other languages 465 as "auxillary sources" 466 467 468**************************************************************************** 469* Library * 470**************************************************************************** 471 472 473**************************************************************************** 474* Database Drivers * 475**************************************************************************** 476 477- Interbase driver 478 * [175144] Fixed a build issue that prevented the QIBASE driver from 479 being built at the same time as the QODBC driver if Firebird header 480 files older than v2.0 were used. 481 * [177530] Fixed a regression introduced in Qt 4.3.0 that broke stored 482 procedure support for Interbase/Firebird. When executing a procedure 483 without parameters, the values were not retrievable. 484 485**************************************************************************** 486* Examples * 487**************************************************************************** 488 489- Draggable Text Example 490 * Fixed usability bugs. 491 492- Torrent Client Example 493 * Several stability fixes have been applied. 494 495- Ported Asteroids Example 496 * Modifications to significantly improve performance. 497 498- Ported Canvas Example 499 * [139392] Prevented a crash that could occur when adding items after 500 shrinking the canvas to zero width and zero height. 501 502- Secure Socket Example 503 * [173550] Usability fixes. 504 505**************************************************************************** 506* Platform Specific Changes * 507**************************************************************************** 508 509X11 510--- 511 * [169366] Fixed intermittent program hangs in the 64-bit PowerPC 512 implementation used on AIX. 513 * [176192] Fixed the behavior of show() followed by move() to correctly 514 place the window when called before the event loop is running. 515 * [133870] Fixed crashes in the 64-bit PowerPC implementation used 516 on Linux. 517 * [177143] Fixed a bug where the last activated QShortcut would be 518 incorrectly repeated when pressing a key with no KeySym defined. 519 * [171224] Fix copy and paste of non-ASCII text from Qt 3 to Qt 4 520 applications. 521 * Applied a workaround for a bug in gcc 3.4.2 that would cause 64-bit, 522 bootstrapped applications to crash on Solaris. 523 * [170792] Fixed subpixel anti-aliasing of fonts across X11 524 server/clients with different endianness. 525 526Windows 527------- 528 * [172621] Fixed an issue that caused large pixmaps to be printed 529 incorrectly. 530 * [170000, 171239, 173213] Fixed several issues with printing that 531 resulted in single and multipage printing being garbled. 532 * [168642] Fixed an issue with text disappearing when printing. 533 * [175517] Fixed a crash that could occur when calling setNumCopies() on 534 an invalid/non-existing printer. 535 * [173219] Fixed an issue that caused fonts to be incorrectly scaled 536 beyond 64 point font sizes. 537 * [276527] Fixed a memory leak in QWindowsVistaStyle. 538 539Mac OS X 540-------- 541 * Note for Leopard pre-release builds: Qt 4.3.x applications running on 542 the August Leopard pre-release (build 9A527) will not show any windows 543 because of a regression in the Carbon library. This has been addressed 544 for a future OS X release. In the meantime, if you *must* test your 545 application against this Leopard build, please contact us. 546 * [178551] Fixed a regression that made it impossible to deliver mouse 547 move events to other widgets after a double-click on a widget that was 548 immediately hidden as a result of the double-click event. 549 * [172475] Ensured that OpenGL top-level widgets are not repainted when 550 another, independent, top-level widget is resized. 551 * Ensured that the maximized bit is removed when a window is resized by 552 user interaction. 553 * [170000] Fixed an issue that caused QPrinter::newPage() to incorrectly 554 reset the current QPainter state. 555 * [178531] Fixed an OpenGL text rendering issue that could cause garbled 556 text. 557 * [171173] Fixed a crash at application exit that could occur if 558 accessibility features had been used. 559 * [175164] Fixed a regression where font base lines for labels, 560 checkboxes and radio buttons were not properly aligned. 561 * [173007] Fixed a regression that prevented qt_mac_set_native_menubar() 562 from working. 563 * [130809] Ensured that bold fonts are used correctly when generating 564 PDFs. 565 * [164962] Improved support for Mac drawers in QMainWindow. 566 567Qtopia Core 568----------- 569 * Ensured that the font database cache is preserved across QWS server 570 restarts. 571 * Made some start-up time improvements for the server process. 572 * [272527] Fixed a bug in the internal crash handler that released 573 resources in some non-fatal incidents. 574 * [169569] Fixed a bug that caused uninitialized data to be blitted to 575 the screen when a window was shown and resized before the first paint 576 event. 577 * [274291] Added support for setting the QT_QWS_FONTDIR environment 578 variable to set the font installation path. 579 * [174264] Fixed synchronization of QDirectPainter::startPainting() to 580 be able to guarantee that QDirectPainter::allocatedRegion() returns 581 the correct result. 582 * [175994] Fixed missing updates in parent and sibling widgets when 583 using the QWindowSurface::buffer() and QWindowSurface::flush() 584 mechanism to paint outside a paint event. 585 * [170488] Implemented true synchronous behavior when creating a 586 QDirectPainter with the ReservedSynchronous flag. 587 * [275284] Fixed implementation of the Hybrid OpenGL integration. 588 * [178269] Fixed loading of the VNC screen driver when compiled as a 589 plugin. 590 * [178261] Fixed loading of the Transformed screen driver when compiled 591 as a plugin. 592 * [276651] Fixed mouse calibration in some configurations when using the 593 tslib mouse driver. 594 * [173037] Fixed re-entrancy problem that could cause 595 QClipboard::mimeData() to block in some situations. 596 * [174076] Added the QWS_CONNECTION_TIMEOUT environment variable to 597 allow the time out to be customized for client applications connecting 598 to the QWS server. 599 * [167661] Added support to enable some "broken" BMP images to be 600 rendered correctly. 601 * [176445] Added support for the Glib event loop; this is disabled by 602 default. 603 * Added livelock protection: events from the QWS server can no longer 604 starve local timer events or posted events. 605