1Qt 3.3.5 is a bug-fix release. It maintains both forward and backward 2compatibility (source and binary) with Qt 3.3.4, Qt 3.3.3, Qt 3.3.2, 3Qt 3.3.1 and Qt 3.3.0. 4 5**************************************************************************** 6* General * 7**************************************************************************** 8 9Platforms 10--------- 11 12- Qt now supports Mac OS X 10.4 (Tiger) 13 14Compilers 15--------- 16 17- Added support for VS 2005 18- Added support for GCC 4 19 20Windows Installer 21----------------- 22 23- The environment variables no longer contain invalid paths. 24- The user is warned if QTDIR is not set and the evaluation edition is 25 already installed, to avoid conflicts between the two packages. 26- A bug was fixed where a '\0' was appended to the end of a path. 27- Fixed the dependencies for image formats and styles. 28 29Qt Designer 30----------- 31 32- Fixed a problem with long string literals on certain Visual Studio 33 C++ compilers. 34- UIC now uses the include hints from the .ui file when generating 35 source files. 36- The "paste" action is now enabled and disabled correctly. 37- QWidgetFactory::supportsWidget() now returns true for QSplitter. 38- Parse files with more than one '.' in the file name correctly. 39- The project name is now displayed correctly also when the project is 40 created in a root directory. 41- Fixed a bug where Windows end-of-line terminators would be included 42 in string literals, which broke translation. 43- Several crashes were fixed related to cutting/copying/pasting menu 44 items. 45- Fixed some problems with designer generating corrupted pro files. 46- A crash was fixed for when designer loads a pro file with the same 47 file listed more than once. 48- The action editor is now closed when there is no main window form. 49- Stability fixes 50 51Qt Linguist 52----------- 53 54- lupdate now understands strings longer than 16384 characters. 55- Fixed escaping bugs for string that contain both ampersands and 56 double quotes. 57 58Qt Assistant 59------------ 60 61- When printing, assistant now always uses the Active color group. 62- Fixed a rendering bug for paragraphs that start with a line break. 63- Support for setting the documentation root path, allowing 64 documentation files to be moved. 65- When opening a link in a new window, assistant will now properly 66 scroll to the correct anchor after the window has been shown. 67- Fixed full text search for documents not listed in the 'ref' 68 attribute of the <section> tag in the current .adp file. 69- The state of the forward/backward buttons now work properly when the 70 tabs are changed. 71 72**************************************************************************** 73* Library * 74**************************************************************************** 75 76General Fixes 77------------- 78 79Added security patches for zlib: CAN-2005-1849, CAN-2005-2096 80The FreeType library was upgraded from version 2.0.9 to 2.1.9 81 82- Build system 83 Improved build keys for gcc 4 compilers, so plugins no longer 84 need rebuilding after upgrading gcc to a new patch release. 85 86- QCanvas 87 Fixed wrong text scaling and cut-off text. 88 Fixed drawing with a brush when double buffering is enabled. 89 90- QCommonStyle 91 Fixed the appearance of QSlider after setBackgroundOrigin has 92 been called. 93 Fixed an overflow in calculating the handle position for 94 QScrollBar. 95 96- QCString 97 Fixed a crash in qUncompress() if the resulting QByteArray was 98 too large to fit in memory. 99 Fixed potential security problems by using vsnprintf() instead 100 of the less secure vsprintf(). 101 102- QDataStream 103 Fixed a data corruption bug when using stream version Qt_3_1 and using 104 operator<<(qint64). 105 106- QDateTime 107 Fixed QDateTime::secsTo() when crossing daylight savings hours 108 boundaries. 109 110- QDockWindow 111 Undocked windows now remember their size also if the user 112 changes it. 113 114- QDom 115 The default constructor for QDocDocument now creates an empty 116 document that can be used to create elements. 117 A warning is now displayed when trying to construct or save an 118 invalid document. 119 Characters that are not allowed in XML are now escaped 120 properly when saving. 121 122- QFileDialog 123 Shortcuts now show the icons of what they point to. 124 Entry sorting is now locale-aware, as opposed to sorting based 125 on Unicode order. 126 You can now select files by pressing 'enter' when using 127 QFileDialog::getOpenFileNames(). 128 Fixed a missing repaint in contents preview after selecting a 129 file, then a directory, then the same file again. 130 dirPath() no longer chops off the last directory in a path. 131 132- QGVector 133 Fixed a bug that caused a memory leak and data corruption if 134 resize() failed. 135 136- QHeader 137 The header text is now rendered correctly next to the icon in 138 reverse layout mode. 139 140- QImage 141 Fixed comparison of images with alpha data, but with the alpha 142 channel disabled. 143 144- QKeySequence 145 Key sequences that ended with a ',' now work properly. 146 147- QLineEdit 148 Fixed the behavior of the delete key on the keypad. 149 Fixed support for transparent line edits. 150 Fixed a crash when opening the context menu in a QTextEdit 151 subclass that returns 0 for createPopupMenu(). 152 153- QListBox 154 Fixed a crash when removing the current item while selecting 155 items with a rubberband. 156 157- QListView 158 Fixed the behavior of the Home and End keys when QListView 159 contains disabled and hidden items. 160 Fixed a problem with the QListView::...Clicked() signals were 161 emitted also when the root decorated section was not in the 162 left-most column. 163 HTML control characters in QListView's tool tip text are now 164 escaped properly. 165 sortChildren() now also sorts children of items with no 166 siblings. 167 Fixed a missing redraw after removing columns. 168 contentsWidth() now returns the correct value after 169 setContentsWidth() has been called. 170 Fixed a crash after a sequence of deleting and selecting 171 items. 172 Fixed the size of headers with multi-line text. 173 Fixed a lock-up and possible crash caused by an internal state 174 restore on controllers with no children. 175 Fixed keyboard navigation when jumping to entries by pressing 176 the key for the first character in the text of an item. 177 178- QLocale 179 Fixed support for NaN, which failed on certain compilers. 180 Passing Q_LLONG to toString() now properly includes the group 181 symbols. 182 Fixed locale detection when locale environment variables are 183 not set. 184 Added workarounds for compiler optimization bugs when parsing 185 doubles. 186 187- QLocalFS 188 Fixed a crash when canceling a QUrlOperator transfer before 189 completion. 190 191- QMenuData 192 Fixed a crash when closing an MDI application while the menu 193 bar has Alt-focus. 194 195- QMessageBox 196 Message boxes now work correctly in right-to-left mode. 197 198- QPaintDevice 199 Fixed drawing errors when using bitBlt() on a printer. 200 201- QPainter 202 Fixed drawing of rectangles with a negative (or 0) width. 203 204- QPopupMenu 205 The height of new columns is now initialized properly when 206 menu items are shown in multiple columns. 207 208- QProcess 209 Close socket connections properly when a 210 process is created after creating the socket connection. 211 212- QPSPrinter 213 Generate PS font names correctly. 214 215- QPushButton 216 Fixed a crash caused by deleting the button while the popup 217 menu is shown. 218 219- QRichText 220 Tab stops are now adjusted correctly when printing in high 221 resolution mode. 222 Reduced the number of memory allocations when deleting large 223 blocks of text. 224 Fixed parsing of hexadecimal HTML entities 225 Fixed a bug where the font changed after calling setText() 226 repeatedly. 227 228- QScriptEngine 229 Fixed an issue with shaping of Hebrew text, which lead to 230 layout problems in QTextLayout. 231 Fixed rendering of Hebrew text with punctuation. 232 Fixed bugs in Gurmukhi shaping. 233 234- QScrollView 235 Fixed the size hint when scrollbars are set to be permanently 236 on. 237 Fixed a drawing error seen on certain graphics drivers when a 238 scroll view spans multiple screens. 239 Fixed a bug where wheel events' horizontal/vertical status 240 were not forwarded to viewportWheelEvent(). 241 Fixed a crash when mouse wheel events were sent to a scroll 242 view with disabled scroll bars. 243 244- QSettings 245 Fixed a bug when comparing keys with common prefixes. 246 247- QSGIStyle 248 Fixed the size of QComboBox. 249 250- QSizeGrip 251 Fixed a bug that caused the window to move when resizing to 252 the minimum size using the size grip. 253 254- QSocketDevice 255 Improved error reporting when the connection is unexpectedly 256 closed. 257 Fixed a bug where the socket would be closed if 0 was passed 258 as maxlen to readBlock(). 259 260- QString 261 Fixed a lock-up in QString::section(). 262 Let replace() behave as documented when the index is larger 263 than the length of the string. 264 265- QTable 266 Fixed positioning of QComboTableItems that span several rows. 267 268- QTextCodec 269 Fixed occasional crash in fromUnicode(). 270 Fixed Big5 support to comply with the standards. 271 272- QTextEdit 273 Fixed bug in undo/redo history when input methods are used. 274 Fixed a crash caused by inserting text with an input method 275 during a focus change. 276 Fixed the behavior of the delete key on the keypad. 277 Fixed setMaxLogLines() when there are already too many lines. 278 Fixed crash when clearing a QTextEdit when the IME is active. 279 Fixed crash when the text edit is deleted while dragging text. 280 281- QTextLayout 282 Fixed layout of lines that are too long and do not contain a 283 possible break point. 284 285- QTimeEdit 286 Fixed several issues with stepUp() and stepDown(). 287 288- QToolButton 289 Fixed a crash when assigning a tooltip to a tool button which 290 does not have QMainWindow as an ancestor. 291 292- QToolTip 293 Fixed an occasional crash. 294 295- QTranslator 296 Fixed a bug when calling messages() before tr() when using 297 compressed .qm files. 298 299- QUrlOperator 300 Fixed a crash when accessing invalid paths on an FTP server 301 using QFileDialog. 302 Fixed a bug where the source would be removed if the source 303 and destination were the same. 304 305- QVariant 306 Fixed a memory leak in clear(). 307 308- QWidget 309 Fixed excessive flicker when reparenting a widget that has 310 tool windows. 311 312- QWorkspace 313 Fixed flickering when switching between maximized windows. 314 Fixed a lock-up when modal dialogs were created with 315 QWorkspace as parent. 316 Fixed a bug where modeless dialogs with QWorkspace as parent 317 would be drawn with no title bar. 318 319- SQL, DB2 driver 320 Compile fixes. 321 Fixed a bug where QSqlCursor::insert() would fail to insert 322 two blob fields at the same time. 323 324- SQL, MySQL driver 325 Fixed a crash when using empty database names. 326 327- SQL, Oracle driver 328 Fixed truncation of numeric data types to 22 digits. 329 Fixed UTF-8 support by ensuring that there is enough space to 330 store the text. 331 332- SQL, ODBC driver 333 Fixed problems with sorting and comparing strings larger than 334 8192 characters. 335 336- SQl, PostgreSQL driver 337 Temporary tables are now only visible for the connection that 338 created them. 339 340- SQL, TDS driver 341 Fixed problems with compiling the plugin with later versions 342 of the TDS library. 343 344- SVG support 345 Fixed support for SVG viewbox. 346 Added basic support for stroke-dasharray. 347 348 349Platform-Specific Issues 350------------------------ 351 352Windows: 353 354- ActiveQt 355 Unrelated types are no longer converted. 356 The control container is now only reset if the CLSID changes. 357 Fixed a bug where QAxObject::clear() did not reset the 358 metaobject when it was cached. 359 Fixed a memory leak. 360 Fixed a bug that caused flicker when navigating away from a 361 page embedding a control. 362 The VARIANT out-parameters in signals now map to "QVariant &" 363 and not "const QVariant &". 364 Signal parameters of type "bool" are marshalled to the bool 365 slot also when the control sends an integer parameter. 366 367- Drag & drop 368 Fixed a bug with sending single-color pixmaps. 369 Fixed a crash caused by reading a drag object after it has 370 been deleted (before the drop event). 371 Dragged pixmaps are now cleaned up before drawn to avoid 372 problems with broken alpha values and resetting masked pixels. 373 374- QApplication 375 Fixed a lockup caused by showing a dialog while resizing a 376 window. 377 QWidget::grabKeyboard() now also grabs the menu button. 378 Fixed a bug where mouse events were sent to the wrong widget 379 after calling QEventLoop::processEvents() with 380 ExcludeUserInput. 381 Windows Server 2003 can now also use the Windows XP style. 382 Fixed a memory leak in QEventLoop. 383 384- QColor 385 Fixed failed initialization of the Qt colors (e.g., Qt::red) when 386 using the MinGW compiler. 387 388- QFile 389 Fixed a bug where a read error was not handled properly. 390 391- QFileInfo 392 permission() now uses the correct file name on Windows 9x. 393 394- QFontDataBase 395 Added support for scalable fonts. 396 397- QFontEngine 398 Fixed a problem with symbol fonts. 399 Fixed support for user defined characters. 400 401- QLibrary 402 Fixed the directory separators. 403 Fixed some library loading errors. 404 405- QLocale 406 The locale() function now returns the correct ISO name instead 407 of a number. 408 409- QNPWidget (NPAPI) 410 Fixed a bug where the widget was not clipped properly by the 411 browser. 412 413- QPainter 414 Fixed a bug where QPainter failed to fill ellipses of size 415 2x2. 416 Fixed a potential lock-up after failed GDI allocations. 417 418- QPrinter 419 Rich text tables are now printed correctly when the table 420 spans pages. 421 Fixed text printing errors on page 2 and out caused by the 422 background mode being reset to OPAQUE. 423 424- QProcess 425 The directory separators for the current working directory are 426 now converted properly, so that a UNC path can be used on 427 Windows. 428 429- QTranslator 430 Fixed an issue with isReadable() on NTFS. 431 432- QWindowsXPStyle 433 XP style now works when compiled as a plugin. 434 Fixed menu bar placement. 435 Fixed a bug in setting the background color of QTabWidget. 436 Fixed the position of the size grip in large QSizeGrip 437 widgets. 438 QGroupBox now uses the correct colors. 439 440- QWorkspace 441 Fixed bug where hidden windows would be shown after restoring 442 from maximized mode. 443 444- qmake 445 The Makefile generator now only searches for the latest 446 version of the Qt library, as opposed to searching all 447 libraries. 448 Dependency checking for pre-compiled headers were fixed. 449 Fixed support for listing .pro files in SUBDIRS in subdir .pro 450 files. 451 Fixed support for multiple -L and -I entries in QMAKE_LIBS. 452 453Mac: 454 455- Build system 456 When using Xcode, the optimization level is set to 0 in debug 457 mode. 458 Added support for Xcode 2.1 and up. 459 Fixed copying of target files when DESTDIR is set. 460 461- Drag & drop 462 Fixed a crash when deleting the drag object before dropping. 463 464- QApplication 465 The default font is now only set if the user has not set one. 466 Fixed a problem where popup menus would not go away after 467 releasing the mouse button outside the popup. 468 Added support for dual axis mouse wheels. 469 Fixed a bug in tablet identification. 470 Added support for tablet erasers. 471 Fixed a deadlock in postEvent() when there was contention for 472 a wakeup. 473 Fixed a crash when switching displays at the same time as 474 QApplication is destroyed. 475 Stability fixes. 476 477- QColorDialog 478 Fixed modality support. 479 480- QFileDialog 481 Let the file dialog remember the previous directory. 482 Fixed keyboard navigation when jumping to entries using the 483 first letter of a file name. 484 Fixed a memory leak. 485 486- QFontDatabase 487 Fall back to the "Geneva" font, which is guaranteed to be 488 available, instead of "Helvetica". 489 490- QFontEngine 491 Fixed a memory leak. 492 Fixed rendering of glyphs that modify previous glyphs, 493 including Indic text. 494 495- QMacStyle 496 Title bars are now shown as deactivated when the window is 497 deactivated. 498 Fixed a bug where buttons in button groups inside a container 499 would look like they were pressed. 500 Fixed a crash caused by drawing onto a non-pixmap background. 501 Fixed the width of QComboBox. 502 Improved drawing of size grips. 503 Improved drawing of sliders, and made QSlider slightly wider 504 by default. 505 506- QMenuBar 507 Fixed a lockup caused by menu items ending with an '&'. 508 Menu items with disabled popups are now also disabled. 509 510- QMessageBox 511 The resize handle is now shown. 512 513- QPainter 514 Fixed double transformation of ellipses with a transformed 515 width or height of 1. 516 517- QPixmap 518 Fixed a crash when loading a cursor from an embedded image. 519 The color depth is now set properly when converting a QBitmap. 520 521- QPrinter 522 Fixed a crash when using bitBlt() to copy a QBitmap onto a 523 printer. 524 525- QProcess 526 Fixed support for launching bundles. 527 528- QPushButton 529 Icons are now drawn properly. 530 531- QTextBrowser 532 Fixed a bug where a text browser popup triggered by a 533 hyperlink would pop up again when the user clicks inside the 534 first popup. 535 536- QToolButton 537 Fixed a painting problem when the button was pressed. 538 539- QWidget 540 Menubar popups no longer steal focus from QTextEdit. 541 Fixed collapsing of windows with no title bar decorations. 542 Several window activation bugs have been fixed. 543 Fixed a bug where modal dialogs would be modal to its own 544 children. 545 Fixed tablet support for multiple screens. 546 Fixed a memory leak. 547 548X11: 549 550- Build system 551 Removed aliasing/redefinitions of the 'which' command to fix 552 failures in the configure script on certain Unix systems. 553 Added some missing flags for the yacc tool on 64-bit Linux. 554 The -fn application command line option, which selects the 555 default application font, works again. 556 Fixed copying of target files when DESTDIR is set. 557 558- Drag and drop 559 Fixed a crash in the dragging application when the drop target 560 crashes. 561 Fixed a bug in finding the widget under the cursor while 562 dragging. 563 Some problems were fixed with the internal timestamp in the 564 drop event. 565 566- OpenGL 567 Fixed colors when rendering using glColor() onto an 8 bit 568 pixmap. 569 570- QApplication 571 Support the F11 and F12 keys on Sun keyboards. 572 573- QCanvasView 574 Support multiple shared views of a single canvas on multiple X11 575 screens. 576 577- QClipboard 578 Fixed a rare crash related to cut & paste with the Motif 579 extension. 580 581- QFontDatabase 582 Fixed a bug where QFontInfo would return an empty family and 583 point size after trying to select a font that was not 584 installed on the system. 585 586- QFontEngine 587 Fixed a bug where scaling italic fonts would sometimes cut 588 overhangs. 589 590- QInputContext 591 Fixed a bug that led to a corrupted display in QLineEdit and 592 QTextEdit when using Japanese input methods with very long 593 input selections. 594 595- QPainter 596 Fixed a crash when setting a pen on an inactive painter. 597 598- QPrinter 599 Fixed printing on Tru64 by removing the -o argument to the lp 600 command. 601 602- QScriptEngine 603 Added support for Khmer fonts. 604 Fixed shaping of Telugu text. 605 Fixed a crash when scaling Japanese XLFD fonts by a factor of 606 1000. 607 608Embedded: 609 610- QApplication 611 Fixed a memory leak. 612 613- VNC driver 614 Fixed a memory leak. 615 616- QWidget 617 Fixed a potential crash when reparenting widgets. 618