1Qt 4.4 introduces many new features as well as many improvements and 2bugfixes over the 4.3.x series. For more details, see the online 3documentation which is included in this distribution. The 4documentation is also available at http://qt.nokia.com/doc/4.4 5 6The Qt version 4.4 series is binary compatible with the 4.3.x series. 7The Qt for Embedded Linux version 4.4 series is binary compatible with the 8Qtopia Core 4.3.x series. Applications compiled for 4.3 will continue to 9run with 4.4. 10 11Some of the changes listed in this file include issue tracking numbers 12corresponding to tasks in the Task Tracker: 13 14 http://qt.nokia.com/developer/task-tracker 15 16Each of these identifiers can be entered in the task tracker to obtain 17more information about a particular change. 18 19**************************************************************************** 20* General * 21**************************************************************************** 22 23General Improvements 24-------------------- 25 26- Legal 27 * This version introduces the GPL version 3 as an alternative 28 license for the Open Source Edition of Qt, in addition to the 29 existing licenses. 30 * Updated the GPL Exception to version 1.2, which grants additional 31 rights to developers using the LGPL version 3.0 and other licenses 32 for their software. 33 34- Configuration/Compilation 35 * [102113, 151125] Make it possible to use Qt headers with MSVC's 36 warning level 4. 37 * [129841] Make Qt compile with Intel C++ 9.0 and Intel C++ 10 compilers 38 on Windows. 39 * [168868] Add experimental support for the Blackfin processor. 40 * [188167] Fixed a bug in the solaris-cc mkspec that would cause 41 it to always use RPATH, even when configured with -no-rpath. 42 * [176029] Added qmalloc.cpp with qMalloc() and qFree() implementation 43 to make it easier to replace the default container allocators with 44 custom allocators (by providing your own qmalloc.o(bj) file). 45 * Enable -reduce-exports automatically on linux-icc* mkspecs when 46 using version 10.1 of the Intel C++ Compiler for Linux. 47 * Add experimental support for the AVR32 processor. 48 * Allow building Qt with -release and the Intel C++ Compiler for 49 Linux. This required working around several compiler bugs by 50 turning optimizations off for certain modules. See the compiler 51 notes for more details. 52 * Add support for MSVC 2008, and add separate mkspecs for MSVC 2002 & 53 2003. 54 * [189185] Avoid quoting the the include and library paths for iconv. 55 56- Documentation and Examples 57 * The Qt Designer Manual was updated to include new Qt Designer features. 58 * QtScript module overview was updated with more examples and reference 59 material. 60 * [161404] The 40000 Chips demo no longer shifts when clicking the OpenGL 61 button. 62 * [188676] Fixed text item moving in Diagram Scene example. 63 * New demo: Embedded Dialogs 64 * New demo: Browser 65 * New example: Graphics View / Pad Navigator 66 * New example: Item Views / Address Book 67 * New example: WebKit / Previewer 68 * New Example: XmlPatterns / Recipes 69 * New tutorial: Address Book 70 * Multiple bug fixes for the Torrent Client example. 71 * Speed-ups in the Ported Asteroids Example. 72 * [164223] All examples that use resources now include 73 Q_INIT_RESOURCES to avoid breakage in static builds. 74 75- Translations 76 * Added a Traditional Chinese translation of the Qt and tools courtesy 77 of Franklin. 78 * Added a Spanish translation of Qt courtesy of Enrique Matias Sanchez. 79 80- Signals and slots 81 * [147681] Added support for 'long long' and 'unsigned long long' 82 in queued connections. 83 * [125987] Optimized QMetaObject::activate(), the function that 84 actually delivers signals to all connected slots. 85 * [164558] Fixed a bug that caused queued signals to be delivered out 86 of order (not in the order they are emitted). 87 * [169554] Added Q_EMIT, to correspond to Q_SIGNAL and Q_SLOT. 88 89- Multithreaded painting 90 * [66358, 142031] Added support for painting on QImage, QPicture, 91 and QPrinter in multiple threads. See the Multithreaded 92 Programming documentation for more details on supported features 93 and known limitations. 94 95- Embedded QWidget support for Graphics View 96 * [177204] Added support for using layouts, styles, palettes and fonts, 97 as well as embedding QWidgets into a QGraphicsScene. 98 99- XML support in QtCore 100 * The QXmlStreamReader, QXmlStreamWriter and supporting classes 101 have moved from the QtXml module to the QtCore module. This change is 102 both source- and binary-compatible with previous versions. New 103 applications can opt to not link to QtXml when using these classes. 104 105- Printing 106 Made a number of improvements to printing in Qt 4.4, including 107 support for setting custom page sizes and custom margins as well as 108 the ability to programatically enumerate printers via the new 109 QPrinterInfo class. A couple of new classes, QPrintPreviewWidget 110 and QPrintPreviewDialog, have been added to make it easy to add a 111 print preview to an application. The QPrintDialog and QPageSetupDialog 112 for X11 have been redesigned and are hopefully easier to use. 113 114New features 115------------ 116 117- XQuery 1.0 and XPath 2.0 support provided through the new QtXmlPatterns 118 module. 119 120- Qt Help module for embedding documentation into applications. 121 122- QSystemSemaphore provides a general counting system semaphore. 123 124- QSharedMemory provides access to a shared memory segment between multiple 125 threads and processes. 126 127- QLocalServer class provides a local socket-based server with a matching 128 new QLocalSocket class. 129 130- QFileSystemModel provides a data model for the local file system. Unlike 131 QDirModel, QFileSystemModel will fetch directory listings in a background 132 thread to prevent any locking in the GUI. QFileSystemModel is also much 133 faster and has a few more features then QDirModel. 134 135- QCommandLinkButton to support Vista style command links on all platforms. 136 137- QFormLayout provides a layout designed for convenient form creation with 138 the appropriate appearance on different platforms. This class previously 139 appeared in Qtopia/4.3, but has been integrated into Qt. 140 141- QtConcurrent provides a high level multi-threading API. 142 143- QPlainTextEdit provides a highly scalable plain text editor. It uses 144 similar technology and concepts as QTextEdit, but is optimized for plain 145 text handling; e.g. as a log viewer. 146 147- QTextBoundaryFinder is a new class implementing the Unicode text 148 boundaries specification. 149 150 151Third party components 152---------------------- 153 154- Updated Qt's SQLite version to 3.5.4. 155 156- Updated Qt's libpng version to 1.2.25. 157 158- Added CLucene version 0.9.17. 159 160- Added WebKit (see the src/3rdparty/webkit/VERSION file for the version). 161 162- Added Phonon version 4.1. 163 164**************************************************************************** 165* Library * 166**************************************************************************** 167 168- General Fixes 169 * [147201] Assert in debug mode when using QReadLocker, QWriteLocker, 170 or QMutexLocker with unaligned pointers. 171 172- QAbstractButton 173 * [190739] Ensure button with the TabFocus policy doesn't receive focus 174 through others ways. 175 * [192074] Disable key navigation for buttons in a item view. 176 177- QAbstractItemModel 178 * [171469] Speed up insertion of rows into a model. 179 180- QAbstractItemView 181 * [162487] Check canFetchMore() on the model before calling fetchMore(). 182 * [179163] The virtual selectAll() is now called when the user types 183 "Ctrl+A" 184 * [181413] Fixed InternalMove for MoveAction-only models. 185 * [181988, 192114] Made mouse wheel smarter on ScrollPerPixel mode. 186 * [182248] Trasparent background for the dragged visual. 187 * [184507] setVerticalScrollMode(ScrollPerItem) can cause the view to 188 scroll to the bottom. 189 * Add autoScrollMargin property. 190 * [162547] Make the current index stay in the viewport when sorting. 191 * [165404] Make the drop indicator stylable. 192 * [160611] Ensured that the hover item is updated when dragging over the view. 193 * [162497] Allow key events to be propagated. 194 * [186052] Mac: The alternatingRowColors property now honors the 195 Graphite color setting. 196 * [202276] Fixed crash when pressing Ctrl+C in a view with no model. 197 * [202034] Ensured that the editor's geometry is kept up to date when rows 198 are inserted. 199 * [204403] Only scroll to the current index on reset if the view is 200 editing. 201 202- QAbstractProxyModel 203 * [156789] Fixed a crash when deleting the source model. 204 * [194765] Made headerData() call mapToSource() when asking for data. 205 * [195023] Added setData() and setHeaderData() implementation. 206 207- QAbstractScrollArea 208 * [159949] Fixed a bug where setting the horizontal scroll had no effect. 209 210- QAbstractSpinBox 211 * [183108] Allowed a spin box to be cleared before it is visible. 212 * [198687] Always reset modified and undo states of the line edit upon 213 pressing Enter. 214 215- QAccessible 216 * [177706] Windows narrator will now read Tooltips properly. 217 * [182437] Tooltips are now read aloud once instead of twice. 218 219- QAction 220 * [200823] Fixed regression that caused the tool tip of an action not to 221 show the shortcut by default. 222 * [97238] Introduced the iconVisibleInMenu. 223 224- QApplication 225 * [100630, 153895] Fixed a bug where key press events were always 226 sent as non-spontaneous events, while the key release event was 227 spontaneous. 228 * [194454, 196062] Fixed QApplication::quitOnLastWindowClosed to 229 work as documented. 230 * [97238] Introduce an attribute (AA_DontShowIconsInMenus) to control 231 the default behavior of icons in menus. This obsoletes the 232 qt_mac_set_menubar_icons() function. 233 * [201218] Fix bug on Mac OS X where Qt::WA_DeleteOnClose failed to 234 delete on close. 235 236- QAtomicInt 237 238- QAtomicPointer 239 * [168853] Introduced QAtomicInt and QAtomicPointer into the public API. 240 These classes provide a cross-platform API for doing atomic operations. 241 * Optimized testAndSet*() on PowerPC to not branch in the best case 242 (when value == expectedValue). 243 * [197244] Fixed the gcc inline assembler constraints for the PowerPC 244 implementation. 245 * [198399] Applied patch from SUSE to add S390(x) support. 246 247- QBoxLayout 248 * [103626] Added insertSpacerItem() and addSpacerItem(). 249 * [127621] Made setStretchFactor() behave correctly if widget == 0. 250 251- QBrush 252 * [179308] Fixed a bug which caused QBrush to forget the color if it was 253 passed in the constructor along with Qt::NoBrush. 254 * [169502] Fixed a threading issue with setTextureImage(). 255 256- QBuffer 257 * [184730] A TIFF image can now be stored correctly in a QByteArray. 258 259- QByteArray 260 * [193870] Copy the data of a QByteArray that is taken from 261 QByteArray::fromRawData() when appending more data. 262 * [82509] Added QT_NO_CAST_FROM_BYTEARRAY to disable "operator const 263 char *" and "operator const void *". 264 265- QCalendarWidget 266 * [181388] Added support for updating the cell of a particular QDate. 267 * [172053] Fixed palette bug for calendar's buttons. 268 269- QChar 270 271- QCleanlooksStyle 272 * [194082] Fixed disabled checkbox painted as unchecked. 273 * [189609] Fixed an issue where QMdiSubWindow could have incorrect 274 buttons. 275 * [182806] Retain hover appearance on slider while dragging. 276 * [180105] Fixed gradient backgrounds shown as black on a pressed 277 QPushButton. 278 * [176674] Fixed combobox drop down ignoring custom icon sizes. 279 * [197691] Made the style work better on older X11 servers without 280 XRender support. 281 282- QColorDialog 283 * [142706] use QDialogButtonBox to conform with the style it is running 284 in. 285 286- QColumnView 287 * [167408] Added createColumn() to help make subclassing easier. 288 289- QComboBox 290 * [155578] Improved calculation of size hint for combo box pop-up. 291 * [183982] Fix bug where the combobox width was not wide enough in some 292 styles. 293 * [187744] Made QComboBox behave slightly better when the view is a tree. 294 * [189444] Allowed separators in the list. 295 * [190332] Made the popup respect the view's selection behavior. 296 * Made setEditable(false) explicitly hide the lineEdit, otherwise it may 297 remain visible when executing a modal dialog immediately afterwards. 298 * [154884] Fixed a bug where the popup was hidden without calling 299 QComboBox::hidePopup(). 300 * [169848] Fixed a bug where the combo box did not open as expected when 301 using a touch screen. 302 * [153975] Mac OS X: Improved the visual appearance (flash selected item 303 and fade away when hiding the menu). 304 * [190351] Fixed setView() for style using SH_ComboBox_Popup. 305 * [191329] Fixed the height calculation of the popup for custom view. 306 307- QCommonStyle 308 * [173539] Make the combo label draw according to the combo box's layout 309 direction and not the application's. 310 311- QCompleter 312 * [189564] Prevented unselectable items from appearing in the completion 313 list. 314 * [180785] Ensured that QCompleter emits activated() after pressing the 315 Return key. 316 317- QCoreApplication 318 * [157435] Fixed the posted event implementation to prevent the pending 319 queue from growing endlessly while a modal event loop is running. 320 * [132395] Sent DeferredDelete events at the right time. Specifying the 321 QEventLoop::DeferredDeletion flag (now deprecated) to processEvents() 322 is no longer necessary. 323 * [131235] Added QCoreApplication::applicationPid(). 324 * [132859] Don't explicitly set the LC_NUMBERIC locale to "C" on UNIX 325 systems. 326 * [187044] Fixed a crash when addLibraryPath() or setLibraryPaths() 327 is invoked before creating QCoreApplication. 328 * [161049, 171670] Don't leak the single QThread instance that Qt creates 329 to represent the main() thread. 330 * [143743] Added the QCoreApplication::applicationVersion property. 331 332- QCryptographicHash 333 * [190062] Ensured that calling result() twice returns the same value. 334 335- QDataWidgetMapper 336 * [194784] Allowed setting NULL values for editors. 337 338- QDataStream 339 * [196100] Fixed compatibility issue with QCString in Qt3.x streams. 340 * [196415] Fixed compatibility issue with invalid colors in Qt 3.x 341 streams. 342 343- QDateTime, QDate, QTime 344 * [189882] Optimized {QDate,QTime,QDateTime}::fromString() so that it 345 is about 40% faster than before. 346 * [193079] Have {QDate,QTime,QDateTime}::fromString() understand 347 locale-dependent string formats. 348 * Added enum values to distinguish between short and long formats. 349 350- QDateTimeEdit 351 * Added properties minimumDateTime/maximumDateTime 352 * [169916] Added a timeSpec property for QDateTimeEdit 353 * [178027] Make QDateTimeEdit respect the locale property 354 * [158950] Disable QCalendarWidget popup when the dateTimeEdit is 355 read-only. 356 * [145872] Added a getter and setter for the QCalendarWidget popup. 357 358- QDateEdit 359 * Don't interpret time-specific formats as special fields in a QDateEdit 360 and vice versa for QTimeEdit. 361 362- QDesktopServices 363 * [89584] Added a way to get users Documents, Desktop, Movies 364 directories. 365 * [105740] Added a way to determine the location to store data files. 366 367- QDialog 368 * [174842] Ignore the close event if the reimplementation of reject() 369 doesn't close the dialog. 370 371- QDialogButtonBox 372 * [191642] Don't steal the default button if there is one already. 373 * [196352] Fixed roles of QDialogButtonBox::Abort and 374 QDialogButtonBox::Ignore. 375 376- QDir 377 * [172057] Fixed bug when sorting directories containing files larger 378 than 2GB. 379 * [177904] Fixed a problem with QDir::tempPath() and QDir::homePath() 380 returning trailing slashes inconsistently. Now it returns the 381 absolute path name, without the trailing slash. 382 383- QDirModel 384 * [176323] Fixed display of files moved by drag and drop (on a QTreeView). 385 * [196768] Fixed sorting. 386 387- QDockWidget 388 * [171661] Fixed setTitlebarWidget(0) to reset the native decoration. 389 * [169808] SizeHint is now taken into account. 390 * [188583] Fixed a bug making dockLocationChanged signal not always 391 emitted. 392 * [193613] Highlighted splitters between QDockWidgets, now go back to 393 inactive state when the cursor have passed over it. 394 395- QDoubleSpinBox 396 * [164696] QWidget::locale() is now used for all string-to-number 397 conversions. 398 399- QErrorMessage 400 * [189429] Fixed "do not show again" with rich text message. 401 402- QEvent 403 * [37536] Add QEvent:registerEventType() for obtaining a unique 404 event type ID. 405 * [161940] Fix QContextMenuEvent::modifiers() on X11 and Qt for Embedded 406 Linux to behave like the Windows and Mac OS X. Previously, this 407 * [166605] A drop event's drop action is now initialized to the drag 408 manager's current default action. 409 410- QFile 411 * [107448] Fixed bug where QFile::write() would fail to report an error 412 on disk full. 413 * Added map() and unmap() to map files into memory. 414 415- QFileDialog 416 * [71645] Added a property to hide filter details. 417 * [174510] Ensured that when multiple files are selected, all of them 418 will be deleted, not just the current one. 419 * [172254] selectFile should also set the current directory. 420 * [185930] getExistingDirectory directory file not updated after 421 renaming the new directory. 422 * [164591] Provided a way to set the QDir::filter on the model. 423 * [180459] Native OS X file dialog forgets last visited directory. 424 * [184508] Improved speed when showing a lot of files. 425 * [184508] Improved launch speed. 426 427- QFont 428 * Add Capitalize font-capitalization feature including small caps. 429 * [191756] Do not crash when font config finds no fonts on the system. 430 * [145015] Don't replace '-' characters in font names anymore. 431 * Fixed a bug where glyphs sometimes showed up in italic for a non italic 432 font (X11/Embedded Linux only). 433 * Fixed a bug where xHeight() sometimes returned a wrong number 434 (X11/Embedded Linux only). 435 * Added support for word- and letter-spacing. 436 437- QFontComboBox 438 * Fixed a bug where font name would not be displayed in some cases. 439 440- QFontMetrics 441 * [179946] Fixed averageCharWidth() to change return value after adding 442 text to a QPainterPath. 443 444- QFSFileEngine 445 * [200220] Fixed a potential crash and removed some potential resource 446 leaks. 447 * [190377] Fixed a reentrancy bug on all platforms; querying the canonical 448 path no longer relies on chdir() and realpath(). 449 * [155284] Fixed uninitialized memory problem when calling realpath() 450 with an empty name on Solaris. 451 452- QGL 453 * [137573] Fixed drawing of images/pixmaps larger than the maximum texture 454 size in the OpenGL paint engine. 455 * [175853] Added new drawTexture member functions for convenient drawing 456 of textures in QGLWidget, QGLContext, QGLFramebufferObject, and 457 QGLPixelBuffer. 458 * [187954] Fixed an issue with missing corner pixels when drawing 459 rectangles in the OpenGL paint engine. 460 461- QGLContext 462 * [184996] Made isSharing() return something useful after a QGLWidget has 463 been reparented under Windows. 464 465- QGLPixelBuffer 466 * [195317] Make QGLPixelBuffer::hasOpenGLPbuffers() preserve the current 467 GL context when called. 468 469- QGLWidget 470 * [128157] QPixmap::grabWidget() now works on a QGLWidget. 471 * Added support for syncing drawing to QGLWidgets under X11 via the 472 QGLFormat::setSwapInterval() mechanism. This requires the 473 GLX_SGI_video_sync extension to be present. 474 * [183472] Made renderText() respect the currently set GL scissor box 475 and GL viewport. 476 * [182849] Fixed a crash on the Mac when renderPixmap() was called on a 477 multisampled GL context. 478 * [176618] Don't require depth testing to be enabled for the 3D version 479 of renderText() to work. 480 481- QGradient 482 * [178299] Fixed an issue where calling setColorAt twice with the same 483 position would not replace the existing color at that position. 484 485- QGraphicsItem 486 * [161160] Speedup when removing children from an item. 487 * [158799] QGraphicsItem now returns a different scene from 488 itemChange(ItemSceneChange). 489 * [127051] Added support for item caching in local and device 490 coordinates. 491 * [183996] Fixed a bug caused when items are moved by pressing many mouse 492 buttons at the same time. 493 * [192983] Added QGraphicsItem::boundingRegion(), which allows updating 494 items based on their shape instead of their bounding rect. 495 * Improved QGraphicsItem::isObscured() and QGraphicsItem::opaqueArea() 496 speed and accuracy. 497 * [195916] Fixed crash when deleting an item as it receives a 498 contextMenuEvent(). 499 * [202476] DeviceCoordinateCache now works with perspective 500 transformations. 501 * [202718] DeviceCoordinateCache performance improved greatly when 502 the cached item does minimal updates. 503 * [202689] Scrolling works (but is slow) for cached items. 504 505- QGraphicsItemAnimation 506 * [164587] QGraphicsItemAnimation::reset() has been marked as obsolete. 507 508- QGraphicsLineItem 509 * [177918] Lines with the same start and end point are now valid, and 510 rendered as a point. 511 512- QGraphicsScene 513 * [160463] QGraphicsScene::clearSelection() is now a slot. 514 * [161284] Added Q_DISABLE_COPY. 515 * [163854] QGraphicsScene no longer sends events to a disabled mouse 516 grabber item. 517 * [176902] Add support for context menu event propagation. 518 * [176178] QGraphicsScene::sceneRect() now auto-updates also with NoIndex 519 set. 520 * [186398] Added a fast QGraphicsScene::clear(), and massive speed-up in 521 recursive scene destruction. 522 * [180663] Fixed miscalculated expose rects in QGraphicsScene::render(). 523 * [176124] Ensure that all mouse events that should have a widget assigned 524 do have a widget assigned. 525 * [174238] The selectionChanged() signal is no longer emitted twice when 526 replacing one selection with another. 527 * [160653] selectionChanged is now emitted when reselecting an already 528 selected item. 529 * QGraphicsScene::mouseMoveEvent now receives all mouse move events from 530 the views, and translates them into hover events for the items. This 531 allows you to track all mouse move events for the entire scene, without 532 having to reimplement QGraphicsScene::event() and duplicating the 533 QGraphicsScene implementation. 534 535- QGraphicsSceneHoverEvent 536 * [151155] Added support for keyboard modifiers. 537 * [157222] Added support for lastPos, lastScenePos, and lastScreenPos. 538 539- QGraphicsSceneWheelEvent 540 541- QGraphicsSvgItem 542 * [171131] Fixed painting error caused by using obsolete pixmap cache 543 entry. 544 545- QGraphicsView 546 * [152477] Fix to QGraphicsView's scroll bar range calculation. 547 * [161284] Added Q_DISABLE_COPY. 548 * [164025] Mouse press events now propagate through the view if ignored 549 by the scene. 550 * New ViewportUpdateMode: QGraphicsView::BoundingRectViewportUpdate 551 * [180429] Mouse release events propagate properly in RubberBandDrag 552 mode. 553 * [176902] Add support for context menu event propagation. 554 * [180663] Fixed miscalculated expose rects in QGraphicsView::render(). 555 * [187791] QGraphicsView::setScene() now always updates the view 556 properly. 557 * [186827] Fixed an infinite loop caused by mouse replay after deleting 558 items in response to receiving mouse move events. 559 * [172231] Fixed erroneous clipping of untransformable items by scaled 560 graphics view. 561 * Fixed redraw bugs in QGraphicsView background rendering when using an 562 OpenGL viewport. 563 564- QGridLayout 565 * [121549] Added itemAtPosition(int, int). 566 567- QGroupBox 568 * [159480] QGroupBox's clicked() behavior is now the same as QCheckBox. 569 * [186297] Right-clicking a checkable group box now has no effect, which 570 is consistent with the behavior of QCheckBox. 571 * [178797] A checkable group box now correctly updates the sunken state 572 of its check box. 573 * Don't call updateGeometry() needlessly from resizeEvent(). 574 575- QHash 576 * [171909] Don't rehash in operator[] and insert() when the key already 577 exists -- to avoid subtle bugs when iterating on a QHash. (This is 578 documented as being undefined, since these functions are non-const, 579 but it's easy to avoid the rehashing.) 580 581- QHeaderView 582 * [173773] QHeaderView now updates properly upon sorting a column. 583 * [192884] When the model emits layout changed unhide old hidden rows 584 and hide new hidden rows. 585 * [170935] QHeaderView now updates properly when swapping columns. 586 * [157081] Made headerviews semi-transparent while dragged. 587 * [148198] Optimize hiding sections when the resize mode is ResizeToContents. 588 * [168128] Fixed problem where the last section was resized when the last two sections are swapped. 589 * [168209] Update the header section when the font size changes. 590 591- QHostInfo 592 * [194539] Fixed the ordering of IP addresses returned by the 593 host-lookup procedures. Qt respects the order supplied by the 594 system libraries. 595 * [176527] Fixed a problem in QHostInfo that would cause it to 596 print warnings if it was used before QCoreApplication is created 597 598- QHttpHeaders 599 * [104648] Fixed QHttpHeaders to not change the order or 600 capitalisation of headers received or sent. QHttpHeaders is now 601 case-insensitive but case-preserving 602 603- QHttp 604 * [181506] Fixed a bug that would cause QHttp to emit a warning 605 from QIODevice when connecting to some servers. 606 * [190605] Fixed a memory leak. 607 * [175357] Fixed a deadlock when trying to parse an empty HTTP 608 reply which did not contain Content-Length: 0 (such as those 609 found in 304 replies) 610 * [170860] Fixed a problem which would make QHttp emit the done() 611 signal too soon (before it was finished). 612 613- QIcon 614 * [168488] Reduce memory usage if you call addPixmap severals times with the same arguments. 615 616- QImage 617 * [176566] Fixed problem in scale() which would cause downscaled images to 618 become darker due to precision loss in the image scaling. 619 * [181265] Fixed crash in scale() when downscaling very large images. 620 * Added new image formats: QImage::Format_ARGB8565_Premultiplied, 621 QImage::Format_RGB666, QImage::Format_ARGB6666_Premultiplied, 622 QImage::Format_RGB555, QImage::Format_ARGB8555_Premultiplied, 623 QImage::Format_RGB444, QImage::Format_ARGB4444_Premultiplied, 624 and QImage::Format_RGB888. 625 * Added support for the ICO image format (from Qt Solutions) 626 * Fix drawing of text into a QImage on the Mac so that the native 627 CoreGraphics engine is used. This makes aliased text, or text with 628 a small point size, look much better. 629 * [188102] For Indexed image, fixed setColor() to expand the 630 colortable if necessary. Made colortable manipulation more robust. 631 632- QImageReader 633 634- QImageWriter 635 636- QInputDialog 637 638- QIntValidator 639 * [179131] Reverted QIntValidator's out-of-range semantics to Qt 4.2 640 behavior, at popular demand. 641 642- QItemDelegate 643 * [175982] Escape did not close the editor if the application had registered 644 escape as a shortcut. 645 * [177039] Handle double precision properly. 646 * Don't finish editing if the validator is still in intermediate mode. 647 648- QItemSelectionModel 649 * [169285] Items are now deselected properly. 650 * [192147] Fix an off-by-one bug in QItemSelectionModel 651 652- QLabel 653 654- QLayout 655 * Cache sizeHint() and minimumSizeHint() of widgets in a layout using 656 the internal class QWidgetItemV2, leading to significant performance 657 gains for widgets that have an expensive size hint implementation. 658 659- QLibrary 660 * [155884] Fixed QPluginLoader to not load plugins with unresolved symbols. 661 * [170013] Make sure that libraries are opened with RTLD_LOCAL by default 662 on *all* platforms. (On Mac it was RTLD_GLOBAL by default). This should 663 make plugin loading more consistent. 664 * [190831] Fixed crash when calling loadHints on a default constructed 665 QLibrary. 666 * [155109] The real error message was discarded if the library existed, 667 but failed for another reason. 668 669- QLineF 670 * [170170] Introduce new member function angleTo() which returns the angle 671 between two lines, also taking the direction into account. 672 * [174122] Added new member functions in QLineF for setting and getting 673 the angle of the line, as well as translating a line, and constructing 674 a line from polar coordinates. 675 676- QLineEdit 677 * [151414] Add protected function to access the cursor rectangle. 678 * [153563] Don't show blinking cursor on read only line edit with input mask 679 * [174640] Emit editingFinished() when the user open a menu. 680 * [178752] Reverted to Qt3's behavior of using an arrow cursor instead of 681 a beam cursor when the QLineEdit is read only. 682 * [180999] Old selection now cleared upon activating a window. 683 * [188877] Fixed painting error resulting from pasting into a selection. 684 685- QLinkedList 686 * Add QLinkedList::removeOne(), which removes the first occurrence of a 687 value from the list. 688 689- QList 690 * Add QList::removeOne(), which removes the first occurrence of a value 691 from the list. 692 693- QListView 694 * [158122] Wordwrap in ListMode 695 * [177028] Make sure that the scrollbars is automatically removed when the 696 model has less than two items. 697 * [186050] Make sure the content size is updated when moving item. 698 * [182816] Combine wordwrap and text eliding. 699 700- QListWidget 701 * [199503] Fixed a crash when calling clear inside a slot connected to 702 currentItemChanged. 703 * [159792, 184946] Keyboard navigation fixed with non uniform item sizes. 704 * [255512] Add function to allow setting the current item without selecting it. 705 706- QLocale 707 * [161049] Fixed a couple of static memory leaks in QLocale. 708 * Added the following functions to QLocale: 709 QString toString(const QDateTime &dateTime, FormatType format = LongFormat) const; 710 QString toString(const QDateTime &dateTime, const QString &format) const; 711 QString dateTimeFormat(FormatType format = LongFormat) const; 712 * Added the following enum values to QLocale::QueryType: 713 DateTimeFormatLong 714 DateTimeFormatShort 715 DateTimeToStringLong 716 DateTimeToStringShort 717 718- QMacStyle 719 * [142746] Now respects the QComboBox::iconSize property. 720 * [184566] Make sure we pick up changes to QPushButton::setDefault(). 721 * [174284] Don't truncate text on tabs in the small and mini size. 722 * [170971] Don't try to draw a mini scrollbar as it doesn't exist, draw a small one instead. 723 * [170977] Correct checkmarks for small and mini non-editable comboboxes. 724 * [170978] Prevent mini push buttons from being clipped. 725 * [202959] Draw the correct number of tickmarks for sliders. 726 727- QMainWindow 728 * [178510] Context menu is not shown if all toggle view actions are invisible. 729 * [195945] Fixed resizing of QDockWidgets in QMainWindow without using any 730 central widget. 731 * [196569] Don't override the cursor set by the user with setCursor when hovering dock widgets. 732 733- QMdiArea 734 * [155815] Fixed a bug causing sub-windows to overlap when tiling them. 735 * [148183] Added support activation order. 736 * [153175] Added support for tabbed workspace. 737 * [182852] Don't overwrite mainwindow title. 738 * [189758] Fixed a bug causing sub-windows to be squeezed when tiling them. 739 * [202657] Fixed focus issue on dockwidget when activating the main window. 740 741- QMdiSubWindow 742 * [198638] Fixed so that minimumSize() and minimumSizeHint() was respected (it was 743 possible to resize the window to a smaller size earlier). 744 * [171207] Added tooltips for the buttons in the title bar. 745 * [169874, 47106] Added support for switching between sub-windows using Ctrl-Tab. 746 * [169734] Added an access function to QMdiArea. 747 * [192794] Fixed a bug causing installed event filters to be removed after maximizing a sub-window. 748 749- QMenu 750 * [165457] Fixed torn-off QMenus to have the correct stacking order. 751 * [167894] Fixed focus management when activating an action from the keyboard. 752 * [167954] Increased the size of the tear-off handle. 753 * [172423] Mac OS X: Improved the visual appearance (flash selected item and fade away when hiding the menu). 754 * [183777] Fixed a bug with tear off menu making impossible to tear some menu off. 755 756- QMenuBar 757 * [193355] Fied bug with action plugged in menu which did not return to their normal state 758 after being clicked 759 * [194677] Fixed a bug causing the corner widgets to be laid out incorrectly when adding them right 760 before the menu bar was shown. 761 762- QMessageBox 763 * [176281] By default, if there is exactly one button with the RejectRole or 764 MessageBox::NoRole, it is now made the escape button. 765 * [181688] Better look with setInformativeText. 766 767- QMetaObject 768 * [197741] Fixed a memory leak in QMetaObject::invokeMethod() when 769 called with unregistered data types. 770 * [171723] Support for 'unsigned' type in the meta-object system. 771 772- QMetaType 773 * [179191] Added QMetaType::unregisterType() for unregistering a metatype. 774 775- QMimeData 776 * Added a removeFormat() method. 777 778- QMngHandler 779 * [155269] QMngHandler now initializes image backgrounds properly. 780 781- QModelIndex 782 * [176068] optimize QModelIndex operator< 783 784- QMotifStyle 785 * [185649] Fixed incorrect positioning of itemview frames in reverse mode. 786 787- QMutex 788 * [151077] Optimized QMutex locking path to be comparable to Win32 789 CRITICAL_SECTIONs. 790 * [186088] Clarify documentation of lock() and tryLock() to be 791 more explicit about the behavior of these functions in recursive 792 vs. non-recursive mode. 793 794- QNetworkInterface 795 796- QNetworkProxy 797 798- QObject 799 * [144976] Fix QObject::property() to return a QVariant that can be 800 converted to an enum if the enum is known to QMetaType. 801 * [171612] Fix QObject::removeEventFilter() to work as documented. 802 * [172061] convert() now return false if the result is invalid for date types. 803 * [184003] Fix a crash in QObject::queryList() when called from an 804 object's destructor. 805 * [173218] Document deleteLater()'s behavior when called before 806 QCoreApplication::exec(). 807 808- QOpenGLPaintEngine 809 * [183995] Reset the GL_TEXTURE_ENV attribute and pixel transfer modes to the 810 default values when QPainter::begin() is called. 811 * [174273] Fixed the annoying "Unable to compile fragment programs" problem 812 by adding a GL program cache, and compiling the programs on demand. 813 814- QPainter 815 * [121105] Added drawEllipse overload that takes a center point and two 816 radii. 817 * [124248] Fixed some rounding issues causing inconsistencies between 818 text and line drawing. 819 * [142470] Fixed performance issue with non-cleartype text drawing on 820 Windows when doing several calls to QPainter::drawText(). 821 * [142514] Fixed bug in X11 paint engine where a pixmap drawn 822 at non-integer coordinates would be drawn at different offsets depending 823 on whether opacity was set or not. 824 * [156787] Fixed problem with SmoothPixmapTransform and source rects in 825 drawImage and drawPixmap which would cause color bleeding from pixels 826 outside the source rect at the image borders. 827 * [156964] Improved accuracy of arc drawing, ensuring that arcs drawn 828 with same control rect but different sweeps are still coinciding. 829 * [162153] Fixed bug caused by integer overflow in QPainter::boundingBox 830 when passing a very large rectangle. 831 * [163605] Introduced new drawRoundedRect API with support for absolute 832 coordinates for the corner radii. 833 * [166702] Fixed some potential floating point exceptions in raster 834 paint engine line drawing. 835 * [167890] Prevent crash when drawing zero-length lines; these are now 836 drawn as points. 837 * [169711] Ensured that calling setClipRect with negative width/height 838 is treated as an empty clip region. 839 * [170208, 170213] Fixed some bugs with dashed line drawing and dash 840 dash offsets in the mac paint engine. 841 * [175912, 176386, 194360] Fixed some precision issues with projective 842 transformed pixmaps and images. 843 * [179507] Ensure that the final stop color is always used beyond the 844 radius when using a QRadialGradient. 845 * [180245] Fixed bug which caused setOpacity to be ignored when drawing 846 transformed RGB32 images. 847 * [182658] Fixed a problem with drawPoint in X11 paint engine which would 848 cause a one-pixel point to sometimes be drawn as two pixels. 849 * [184746] Fixed performance regression in drawEllipse() with raster paint 850 engine. 851 * [188012] Fixed stroking of empty rectangles in X11 paint engine. 852 * [190336] Fixed text drawing performance issue on Windows when using 853 setPixelSize to draw large fonts. 854 * [190394] setOpacity() now correctly paints transparent regions when 855 outputting to PDF. 856 * [190634] Fixed bug where drawLine would fill part of the paint device 857 instead of just drawing a line. 858 * [190733] Fixed some precision problems with miter joins and curve 859 segments which could cause ugly painting artifacts. 860 * [191531] Fixed a bug with alpha or pattern brush drawing to mono images. 861 * [191761] Fixed rendering of transformed ObjectBoundingMode gradients. 862 * [199234] Fixed a bug causing fillRect with a gradient fill to not work 863 with ObjectBoundingMode gradients in the raster paint engine. 864 * Introduced a new rasterizer for aliased drawing to address performance 865 and precision issues in the existing rasterizer. 866 * Remove warnings emitted when setting Source or SourceOver composition 867 modes on certain paint devices. 868 * [192820] Fix drawImage()/drawPixmap() with a source rect parameter outside 869 of the range of the source image dimensions. 870 * [183745] Fixed setting font point sizes < .5, would in some cases cause 871 the font size to default back to 12 points. 872 * [157547] Fixed inconsistent pen styles for DashLine, DotLine, DashDotLine 873 and DashDotDotLine across Win/Linux. 874 * [143526] Fixed a problem with drawing text or shapes that were drawn 875 with a very large scale factor. Typically you would get a crash after 876 memory was exhausted. 877 * [186070] Fixed potential integer overflow when drawing texture or pattern 878 brushes with a transform that has a small scale. 879 * [200616] Fixed bug causing transformed cosmetic pens with width > 0 and a 880 dash pattern to be partially or completely clipped (raster engine). 881 * [206050] Fixed QImage::scale with a SmoothTransformation to handle alpha 882 channel correctly when scaling. 883 884 885- QPainterPath 886 * [121105] Added addEllipse overload that takes a center point and two 887 radii. 888 * [181774] Remove assert that could occur when calling pointAtPercent() 889 with parameters close to 0 or 1. 890 * [189695] Fixed bug relating to 360-degree arcs and winding fill. 891 * [187779, 187780] Fixed some bugs in intersects() and contains() when 892 dealing with paths with multiple subpaths. 893 * [191706] Fixed intersects(QRectF) for paths that represent vertical or 894 horizontal lines. 895 * [193367] Introduced simplified() to simplify paths with multiple 896 subpaths and/or self-intersections. 897 * [206160] Modify QPainterPath::operator== to do point comparisons with 898 an epsilon relative to the painter path's bounding rect size. 899 900- QPainterPathStroker 901 * [174436] Fixed some bugs relating to dash offsets and dashing of 902 paths with multiple subpaths. 903 904- QPalette 905 * [170106] Added QPalette::ToolTipBase and QPalette::ToolTipText. 906 907- QPicture 908 909- QPixmap 910 * [164116] QPixmap::x11Info() didn't report the correct depth when 911 the pixmap depth and the desktop depth was different. 912 913- QPixmapCache 914 915- QPlastiqueStyle 916 * More native appearance of button, combobox, spinbox and slider. 917 918- QPolygon 919 * [163219] Added missing datastream operators to QPolygon. 920 921- QPrintDialog 922 * [182255] Don't ask whice to overwrite axisting file. 923 * [183028] Changed to default for maxPage() to INT_MAX. 924 925 926- QPrinter 927 * PDF engine now supports hyperlinks. 928 * [180313] Fixed a bug where QPrinter could not be used more than once 929 per instantiation. 930 * [121907] Change begin() to properly return 'false' when the file we 931 want to write to can not be written to. 932 * [189604] Make the pdf printer capable of having a different page size 933 and orientation for each page. 934 * [99441] Add setPaperSize(const QSizeF &paperSize, Unit unit). 935 * [182245] Make pageRect() return consistent values across 936 Mac/Win/Linux when fullPage() is set, and fix an off by one error in 937 the width()/height() functions on the Mac. 938 * [156508] PS/PDF generators: Correctly generate grayscale output when 939 requested. 940 941- QPrintEngine 942 * [193986] Fixed the copyright date on PDF files 943 944- QProcess 945 * [162522] QProcess now emits stateChanged() consistently for all state 946 changes. 947 * [153565] Add define to make it compile with QNX RTOS. 948 * [196323] Try to unregister SIGCHLD while Qt is unloaded. 949 950- QProgressBar 951 * [189512] sizeHint() doesn't depends anymore on PM_ProgressBarChunkWidth 952 953- QProgressDialog 954 * [190318] Use the size of the label if setMinimumSize() and setLabel() 955 are called. 956 * [198202] Wixed crash when calling setLabel(0). 957 958- QPushButton 959 960- QReadWriteLock 961 * [131880, 170085] Add support for recursive read-lock 962 support. See the not below in the Important Behavior Changes 963 section. 964 965- QRect 966 * Fixed a bug in normalized() when width() == 0 and height() < 0 967 or vice versa. 968 969- QRectF 970 971- QRegion 972 * Added numRects() which returns the number of rectangles in the region. 973 * [193612] Various optimizations for regions consisting of only one 974 rectangle. 975 976- QResource 977 978- QScriptEngine 979 * [200225] Made uncaughtExceptionBacktrace() return a correct backtrace 980 in the case where the value thrown is not an Error object. 981 * [202454] Made QScriptContext::isCalledAsConstructor() return the right 982 result for constructors registered with newQMetaObject(). 983 * [198166] Made canEvaluate() handle C-style comments correctly. 984 * [202606] Made it possible to invoke slots with const QObject* arguments. 985 * [200599] Removed the need to register the metatype-id of QObject-derived types 986 before they can be used as arguments to slots where the type occurs 987 in the signature. 988 * [185580] Fixed a bug with automatic semi-colon insertion that caused the 989 prefix ++ operator to behave incorrectly. 990 * [190991] Implemented iteration for arguments objects. 991 * [175697] Made conditional function declarations have the same semantics as in 992 other popular ECMAScript implementations. 993 * [176020] Fixed a crash that occurred when the left-hand side of an assignment 994 was an object literal. 995 * [176020] Fixed a crash that occurred when an if-statement inside a function 996 contained a return statement in the false-branch but not in the 997 true-branch, and the function didn't contain any more statements. 998 * [182578] Fixed a bug that caused automatic QList<int>-to-QScriptValue 999 conversion to fail. 1000 * [163318] Added abortEvaluation() function. 1001 * [167711] Added qScriptConnect() and qScriptDisconnect() functions, so that 1002 a signal can be connected to a script function from C++. 1003 1004- QScrollArea 1005 * Fixed an issue with child widgets with heightForWidth sizing behavior. 1006 1007- QScrollBar 1008 * [178919] Fixed a bug where the slider kept moving after the mouse button was released. 1009 1010- QSemaphore 1011 1012- QSettings 1013 * [199061] Don't use more permissions than we have to, when opening the registry. 1014 * [142457] Preserve the order of keys in .ini files when regenerating them. 1015 * [186232] Unix and Mac OS X: OR the needed permissions flags with the 1016 default flags (instead of overriding them). 1017 * [184754] Hande out-of-disk-space condition more smoothly, by keeping the 1018 old .ini/.conf file if possible (instead of trashing it). 1019 * [189589] Don't create empty directories when accessing QSettings read-only. 1020 * [182712] Added QSettings::setDefaultFormat(), defaultFormat(), and 1021 format() to give more control over the format of QSettings objects 1022 created using the default constructor. 1023 * [183068] Added QSettings::scope(), applicationName(), and 1024 organizationName() for retrieving the values passed to the constructor. 1025 1026- QShortcut 1027 * [141646] Add ShortcutContext::WidgetWithChildrenShortcut context, for shortcuts 1028 which are valid for a widget and all it's children. 1029- QSize 1030 * [172712] Fixed bug in QSize::scale() when passing INT_MAX as height and 1031 KeepAspectRatio as mode. 1032 * [191533] Fixed bug in QSize::scale() where scaling a size with zero 1033 width or height would cause a division by zero. 1034 1035- QSizeGrip 1036 * [193199] Made the size grip always respect height-for-width on all 1037 platforms. 1038 * [161173] Fixed a bug causing the size grip to be visible when it shouldn't be. 1039 * [184528] Windows: Fixed a bug causing a mouse press event not to be sent. 1040 * [193350] Fixed a bug with QVBoxLayout. 1041 1042- QSlider 1043 * [180474] Fixed regression causing a tick mark not to be shown at the max value for 1044 certain common cases. 1045 1046- QSocketNotifier 1047 1048- QSortFilterProxyModel 1049 * [162503] Call mapToSource when mapping from proxy to source indexes. 1050 * [146684] Allow the original order of the source model to be restored. 1051 * [199518] Don't assert if the source model emits unbalanced change signals. 1052 * [202908] dropMimeData incorrectly maps when row is rowCount(parent). 1053 1054- QSpinBox 1055 * [157520] Adopt the special value text when the value is explicitly set to the 1056 minimum value with the keyboard 1057 * [164696] QWidget::locale() is now used for all string-to-number conversions. 1058 1059- QSplashScreen 1060 1061- QSplitter 1062 * [169702] Respect the minimum size of widgets. 1063 * [187373] Ensure that widgets are properly initialized before being added to a QSplitter. 1064 1065- QSql 1066 1067- QSqlDatabase 1068 * [129992] Make it possible to retrieve the connection name from a connection. 1069 Use the connectionName() function. 1070 1071 * [143878] Give a warning if there is no QCoreApplication instance (required 1072 when using a plug-in driver). 1073 1074- QSqlDriver 1075 * [141269] Add support for asynchronous database event notifications. 1076 1077- QSqlQuery 1078 * [157397] Set an error if QSqlQuery is used with an invalid database 1079 connection. 1080 1081 * [122336] Support queries returning multiple result sets. Use the 1082 nextResult() function. 1083 1084 * [149743] Fixed bug where seek() to a record which was not the next one 1085 returned true, but the data could not be retrieved. 1086 1087 * [186812] Improved error handling for exec(). 1088 1089- QSqlQueryModel 1090 1091- QSqlRelationalTableModel 1092 1093- QSqlTableModel 1094 * [160135] Emit headerDataChanged when removing rows when using the 1095 OnManualSubmit edit strategy. 1096 1097- QSslCertificate 1098 * [186791] Fixed wildcard support in QSslCertificate::fromPath(). 1099 1100- QSslCipher 1101- QSslError 1102- QSslKey 1103 1104- QSslSocket 1105 * [190133] Fixed security hole in certificate verification. 1106 * [186077] Fixed bug in ASN1 time parsing. 1107 * [177375] Added support for peer verification. 1108 * [191705] Fixed crash on remote disconnect. 1109 * [177285, 170458] Enabled run-time resolving of OpenSSL libs also in 1110 static Qt builds. Enabled by default, with configure option to force 1111 (static) linkage. 1112 1113- QStackedLayout 1114- QStackedWidget 1115 * [124966] Honor QSizePolicy::Ignored in pages like we did in Qt 3. 1116 1117- QStandardItemModel 1118 * Improved general performance 1119 * [133449] Improved setData() performance 1120 1121- QStatusBar 1122 * [194017] Ensure that explicitly hidden Widget in the status bar stay invisible. 1123 1124- QString 1125 * [202871] QString::sprintf() crashed with size_t format. 1126 * [193684] Optimized common case in QString::replace(int, int, QString). 1127 * [190186] Handle multiple-digit %n args in QString::arg(QString, 1128 QString, ...) gracefully. 1129 1130- QStringListModel 1131 * [158908] Add MoveAction to the default supportedDropActions 1132 * [180184] sort() was not updating the persistant model index's 1133 1134- QStyle 1135 * [127923] All implementations of QStyle::subControlRect() now respect QStyleOption::rect for 1136 spin boxes. 1137 * Added SH_SpinBox_ClickAutoRepeatThreshold which used to be hardcoded in QAbstractSpinBox 1138 1139- QStyleOption 1140 1141- QSvg 1142 * [185844] Fixed parsing of the gradientUnits attribute to support 1143 objectBoundingBox for gradients. 1144 * [161275] Fixed parsing of repeatCount attribute for animateColor 1145 and animateTransform tags. 1146 * [176835] Fixed a memory leak in QSvgGenerator. 1147 * [182196] Fixed problem in QSvgGenerator which would cause gradient 1148 fills to be stored as images instead of using native SVG gradients. 1149 * [187994] Always encode generated SVGs in UTF-8, and specify that 1150 in the xml tag. 1151 * [188847] Fixed a crash when an SVG file contains empty url keywords. 1152 * [190936] Ensure properly sized viewport and viewbox, even when 1153 the paint device does not have a size (such as QPicture). 1154 * [191353, 192220] Fixed a couple of floating point exceptions occuring 1155 when rendering certain SVGs containing curved paths. 1156 * Added correct default attribute values for SVG gradients. 1157 1158- QSyntaxHighligher 1159 1160- QSystemTrayIcon 1161 1162- QTabBar 1163 * [182473] Fixed a bug causing the tabs to stay unchanged after calling setElideMode(). 1164 1165- QTableView 1166 * [192919] Drag-selection from QTableView now respects single-selection mode. 1167 * [172201] Painting errors when there are multiple regions that overlap that need to be painted. 1168 * [148565] setSpan() and other spanning operations is slow when there are a lot of spans. 1169 * [186431] Fix bug in wrapping to the next/previous line while doing cursor navigation. 1170 * [189251] corner widget is hidden with header, but not unhidden 1171 * [196532] Fixed bad repaint with hidden header and scrollPerItem. 1172 * [158258] Add clearSpanns() function. 1173 1174- QTableWidget 1175 * [255512] Add function to allow setting the current item without selecting it. 1176 1177- QTabWidget 1178 * [159433] Emit currentChanged() when the first tab is created. 1179 * [171464] QTabWidget::minimumSizeHint() now respects the orientation. 1180 * [188357] Fixed a bug causing the corner widget to be displayed incorrectly. 1181 1182- QtAlgorithms 1183 * [304394] qBinaryFind() can potentially end up in an infinite loop with large collections 1184 1185- QTcpSocket 1186 * [149200] Fixed crash when using QTcpSocket without constructing 1187 Q(Core)Application. 1188 1189- QTemporaryFile 1190 * [192890] Fixed resize bug on Windows. 1191 * [194130] Fixed creation of temp files in toplevel directories on 1192 Windows. 1193 1194- QTextBrowser 1195 * [166040] Detects the right format when calling setText() severals times. 1196 * [177036] Fix handling of encoded urls. 1197 * [169621] Fixes clearHistory() removes all history items except the first, 1198 while it should keep the last entry. 1199 * [176042] Fix selectAll to sometimes show focus frames instead of selected 1200 text. 1201 1202- QTextCodec 1203 * [169065] Make calling QTextCodec::setCodecForLocale() with NULL 1204 reset codecForLocale() to the default, instead of causing a crash. 1205 * [167709] Improved support for cp932 codec. 1206 * [185085] Make sure every codec has a unique mibEnum 1207 * Added UTF-32 codecs 1208 1209- QTextCursor 1210 * [179634] Fixes loosing of x position when using vertical navigation 1211 in a not yet fully layed out document. 1212 * [178499] Add functionality to interpolate inside the glyph size if it 1213 takes multiple characters to decide on the position. 1214 * [182914] '/' is now considered a word separator. 1215 * Faster QTextCursor::blockNumber(). 1216 1217- QTextDecoder 1218 1219- QTextDocument 1220 * [135133] Add proper support for the background attribute of HTML 1221 tags, which enables specifying background images. 1222 * [148847] Add support for padding-left, padding-right, padding-top, 1223 and padding-bottom for table cells in the HTML import. 1224 * [169724] Added API for changing the indent width in a QTextDocument. 1225 * [173258] Fixed bug in text layout of tables with row spans and 1226 empty cells. 1227 * [174405] Added support for the border-width css property in the HTML 1228 import. 1229 * [176162] Fixed bug in HTML import which would cause block properties 1230 of empty paragraphs to be transfered to following paragraphs. 1231 * [179330] Fixed performance problem when a maximum block count is reached 1232 which caused the whole document to be relayouted. 1233 * Numerous fixes in the import of malformed HTML. 1234 * QTextDocument::print() now preserves formats set by a syntax highlighter. 1235 * Added QTextDocument::firstBlock() and lastBlock() for convenient iteration 1236 * Added QTextDocument::undoCommandAdded() signal. 1237 * [189691] Fixed bug in HTML image tags showing in incorrect width/height 1238 when only one was provided. 1239 * [193122] QTextTable::removeRows() correctly removes one row after a 1240 mergeCells() 1241 * [55520] Fix bi-directional text showing correctly when mixed with tabs. 1242 * [170376] Fixes text layout QTextLine::setNumColumns(1) combined with 1243 alignment not left 1244 * [177024] Fixed bug in definition of ¤t; entity. 1245 * [176898] QTextDocument loses UndoRedo stack when setting it on QTextEdit by 1246 calling QTextEdit::setDocument() 1247 * [180657] QTextDocument::documentSize() returns an incorrect width when there 1248 is a long line with only spaces. 1249 * [180430] Stop compression of space after an image tag. 1250 * [154330] Implement Right, Justified and Center tabs and make Left tabs 1251 behave as expected in all cases. 1252 * [196744] Fixes colspan making a table cell multiply given user width. 1253 * [197769] Fixed wrong modified state while undo/redo. 1254 * Added QTextDocument::findBlockByNumber() and QTextBlock::blockNumber(). 1255 * Added QTextDocument::revision() and QTextBlock::setRevision()/revision(). 1256 * Added QTextBlock::setVisible()/visible() and QTextCursor::setVisualNavigation()/ 1257 visualNavigation(). 1258 1259- QTextDocumentFragment 1260 1261- QTextEdit 1262 * [80240] Fixed text color bug when creating a text edit with a disabled 1263 parent widget that is then reenabled. 1264 * [104778] Added convenience functions for getting/setting the background 1265 color of text. 1266 * [150562] Wrap correctly the text in a <table> when the flag 1267 WrapAtWordBoundaryOrAnywhere is set. 1268 * [165610] Fixed bug where a text fragment's underline would be drawn 1269 too long. 1270 * [166486] Fixed bug which caused the cursor to not be shown when 1271 setting the cursor flash time to 0. 1272 * [190852] Fixed a bug which caused the font sizes in tables to be wrong 1273 in QTextEdit documents exported to HTML. 1274 * Many performance improvements 1275 * [190723] Fix problem where the bullet might disappear if there was an 1276 extra selection selecting the word next to the bullet. 1277 * [182200] Make the selectionChanged signal be emitted when pressing 1278 "Ctrl+A" and there is already a selection present. 1279 * [188589] Fixes regression in QTextEdit::keyReleaseEvent where it makes 1280 the release events not be ignored when unused. 1281 * [175825] Allow stopping auto-scrolling feature by moving the cursor 1282 to a position other then the last position. 1283 * [177151] Fix the "Copy Link Location" is always disabled in context 1284 menus created with createStandardContextMenu() 1285 * [182180] The value of cursor width desktop settings on windows is now 1286 respected. 1287 * [108739] Added DnD scrolling and made selection scrolling smoother. 1288 * [202319] More precise QTextEdit::cursorRect(). 1289 * [181572] Accept Key_Up and Key_Down ShortcutOverride events. 1290 1291- QTextFormat 1292 * Fixed bug which caused QTextCharFormat::font() to return a wrong font 1293 after changing font-unrelated properties in QTextCharFormat. 1294 * [181177] Fix text directionality changing. 1295 1296- QTextLayout 1297 * Support WrapAtWordBoundaryOrAnywhere with QTextLine::setColumns. 1298 * [188594] Make nextword and previous word be more synchronous by making 1299 them stop at the same word boundaries. 1300 1301- QTextStream 1302 * [178772] setCodec() take effect immediatly even on open stream. 1303 * [180679] Implemented AlignAccountingStyle. 1304 * Add UTF-32 autodetection 1305 1306- QTextTable 1307 1308- QtGlobal 1309 * [186969] Fixed theQT_NO_WARNING_OUTPUT define to work properly. 1310 * qFuzzyCompare() is now part of Qt's API and is public. 1311 1312- QThread 1313 * QThread is no longer abstract. The default implementation of 1314 QThread::run() function now calls QThread::exec(). 1315 1316- QThreadStorage 1317 1318- QTimeEdit 1319 1320- QTimeLine 1321 * Add CosineShape. 1322 1323- QTimer 1324 1325- QToolBar 1326 * [159715] If the main window is to small to contains the extension, show it in a menu. 1327 * [179202] Toolbars can be resized by dragging them with the mouse. 1328 * [175325] Changing toolButtonStyle on floating toolbars is handled correctly. 1329 * [187996] Ensure that invisible action are invisible in the toolbar. 1330 * [191727] Fix layouting issue with widgets on the toolbar. 1331 1332- QToolBox 1333 1334- QToolButton 1335 * [QToolButton] Emit triggered(QAction*) on the activation of the default action even if 1336 triggered from the menu. 1337 1338- QToolTip 1339 * [183679] Fixed problem of tool tip being closed when pressing certain keys. 1340 * [191550] Fixed a regression causing the palette not to be updated after calling 1341 QToolTip::setPalette. 1342 * Added functions text() and isVisible(). 1343 * Fixed QToolTip::showText() with rectangle, it always created a new tip. 1344 1345- QTransform 1346 * [178609] Fixed division by zero in QTransform::mapRect when passing an 1347 invalid QRect. 1348 * Fixed problem with QTransform::inverted() returning the identity matrix 1349 for transforms with a low scale factor. 1350 1351- QTranslator 1352 * [168416] Make it possible for QTranlator to open qm files generated with msgfmt. 1353 (regression from Qt3) 1354 1355- QTreeView 1356 * [41004] Deleting a directory will delete all of its children. 1357 * [174627] Moving left towards a custom root index now works correctly. 1358 * [154742] Add property to hide the header 1359 * [166175] Improve the performance of hide() and isHidden() 1360 * [166175] Improve the performance of expanded() and isExpanded() 1361 * [181508] adding a row to a item that is visible and not expanded wont update the '+' 1362 * [179635] Incorrect row height if column with a multi-line item is not visible when tree is first shown. 1363 * [187745] When the context key is pressed first check for a micro focus, but if that isn't valid then go to the mouse cursor position. 1364 * [188862] Crash if a parent index of the root index in the view is removed 1365 * Improving performance by reduce the number of calls to model->parent() 1366 * [167811] Improve insertion speed 1367 * [192104] scrollTo(PositionAtCenter) can scroll beyond the item if item is at 0 1368 * [168237] Fixed selection when using SelectItems selection behavior and ExtendedSelection selection mode. 1369 * [171902] Expansion is not managed correctly when the 1st column is hidden. 1370 * [130628] Add expandsOnDoubleClick property. 1371 * [189956] Make scrollTo() scroll correctly when the scrollHint is PositionAtBottom. 1372 * [185068] Update editor geometries when columns are moved. 1373 * [120922] Mac OS X: Improved the selection behavior. 1374 * [197650] Fixed spanning items in "right to left" layouts, or if the first column is 1375 moved in another position. 1376 * [204726] Don't assert when sorting an unchanged tree. 1377 * [185994] Introduce a style hint that describes how the view should treat empty areas. 1378 1379- QTreeWidget 1380 * [172685] When setting flags don't do anything if the new flag is the same as the old. 1381 * [162736] Fixed potential slowness in QTreeWidget::isItemSelected() 1382 * [167811] Improve insertion speed 1383 * [255512] Add funtion to allow setting the current item without selecting it. 1384 * [183566] Make rows containing widgets resize correctly. 1385 * [189071] Make it possible to disable drop dirrectly on the viewport. 1386 * [192840] Only paint disabled cells as disabled, not the entire row. 1387 * [191329] The checkable items are now checkable even in RightToLeft mode. 1388 1389- QTreeWidgetItemIterator 1390 * [172275] Optimize QTreeWidgetItemIterator to not query various states 1391 unless the user explictly specified the corresponding flags. 1392 1393- QUdpSocket 1394 1395- QUndoStack 1396 * [143285] Added API to access individual commands in the undo stack. 1397 1398- QUrl 1399 * [162669] Fixed bug in QUrl::setAuthority() when input ends with a digit. 1400 * [199967] Fixed a regression from Qt 4.4.0 Technical Preview 1 1401 that caused isEmpty() to return true on non-empty URLs in some cases. 1402 1403- QValidator 1404 1405- QExplicitlySharedDataPointer 1406 * A new reference counting pointer which doesn't perform copy on write. 1407 1408- QVariant 1409 * [186447] Do not call qFatal() when QVariant::load() enconters a UserType 1410 that's unknown to the meta object system. 1411 * [170901] Compare values _and_ keys in QVariant::operator==() when 1412 applied to maps. 1413 1414- QVarLengthArray 1415 * [177708] Fix crash in QVarLengthArray::append() for types with a 1416 non-trivial constructor (e.g., QString). 1417 1418- QVector 1419 * [161376] Fix unitialized read reported by Valgrind in QVector<T> for 1420 sizeof(T) < 4. 1421 1422- QWaitCondition 1423 * [106086] Add support for QReadWriteLock to QWaitCondition::wait(). 1424 1425- QWidget 1426 * [323] Add the Qt::WA_ShowWithoutActivating attribute, which can 1427 be used to show a window without activating it. 1428 * [176809] When using the Qt::PreventContextMenu policy, the 1429 context menu key should be sent to the widget (instead of 1430 consuming the event). 1431 * [83698] Introduce QWidget::setWindowFilePath() that allows setting a 1432 proxy icon on the mac and sets the window title if the window title 1433 hasn't been set previously. 1434 * X11/Win: Added support for non-native child widgets. 1435 * [173044] Added support for rendering widgets before they are shown. 1436 * [152962] Fixed a bug causing the widget to repaint itself twice when calling show(). 1437 * Added a render() overload taking an arbitrary QPainter. 1438 * [183466] Fixed a bug where the mouse button release event was sent to wrong widget 1439 when having a mouse grabber. 1440 * [177605, 171333] Windows: Fixed a bug causing painting artifacts when using the 1441 Qt::WA_PaintOnScreen attribute. 1442 * [141857] Fixed a bug causing painting artifacts when using the Qt::WA_OpaquePaintEvent attribute. 1443 * [198794] Fixed wrong calculation of the target offset in render(). 1444 * [180009] Fixed order dependency of setWindowFlags() and setWindowTitle() on Windows. 1445 * [155297] Avoid crash in QWidget::setLayout() if the layout already has 1446 a parent. 1447 1448- QWidgetAction 1449 * [193061] Fixed setEnabled that has no effect. 1450 1451- QWindowsStyle 1452 * [162326] Removed a warning when rendering to small rectangles. 1453 1454- QWindowsXPStyle 1455 * [189527] Fixed incorrect tab indentation on XP/Vista styles. 1456 * [177846] Fixed setAutoRaise beeing ignored for tool buttons. 1457 * [168515] Allow changing the background color of a disabled spinbox. 1458 * [165124] Fixed context help button beeing ignored for QMdiSubWindows. 1459 1460- QWindowsVistaStyle 1461 * [164016] More native menu borders on Vista. 1462 * [168611] Allow progress bar animation to complete after reaching 100%. 1463 1464- QWizard 1465 * [177022] Respect the minimum and maximum size. 1466 * [189333] The (re)size behavior is now correct for Windows Me. 1467 * [183550] Fixed wrong stretch factor for a wizard page in the interal layout. 1468 * [166559] Honor isAcceptableInput(). 1469 * [170447] Make sure that the virtual QWizard::nextId() function is 1470 called from QWizardPage::isFinalPage(). 1471 1472- QWizardPage 1473 1474- QXmlStreamReader 1475 * Added convenience function prefix() to the reader and the attributes, previously 1476 we only had name() and qualifiedName(). 1477 * Added more DTD reporting. 1478 * Added QXmlStreamEntityResolver for undeclared entities. 1479 * [179320] Fixed wrongly reported premature end of document for non-recoverable errors 1480 * [192810] Fixed namespace declarations in DTD attribute lists. 1481 * Add UTF-32 autodetection 1482 1483- QXmlStreamWriter 1484 * Improvements to conformance to XML 1.0 1485 * Added autoFormattingIndent property to customize the auto-formatted output. 1486 * [18911] Fixed auto formatting for XML comments. 1487 1488- QXmlStreamWriter 1489 * Added autoFormatting() property which controls whether the output should be indented 1490 for readability. 1491 1492- QXmlSimpleReader 1493 * [201459] That the class is not reentrant, has been documented. 1494 * Add UTF-32 autodetection 1495 1496- Q3ButtonGroup 1497 * [198864] Fixed bug that caused Q3ButtonGroup::insert() to generate wrong 1498 (typically non-unique) ids. 1499 1500- Q3DateEdit 1501 1502- Q3DockWindow 1503 * [173255] When docked, relayout improved when the content is changed. 1504 1505- Q3FileDialog 1506 * [200264] Fixed the "QObject: Do not delete object, 'unnamed', 1507 during its event handler!" warning found in the 4.4.0 beta. 1508 1509- Q3GroupBox 1510 1511- Q3ImageDrag 1512 * [184521] Q3ImageDrag::canDecode() will now return true for image data that can be decoded. 1513 1514- Q3ListView 1515 * [127037] Q3ListView::paintCell() now uses the viewport's background role. 1516 1517- Q3MainWindow 1518 * [176544] Q3MainWindow::setDockEnabled() no longer adds dock windows that are already there. 1519 * [176129] Q3MainWindow::setUsesBigPixmap now works. 1520 1521- Q3PopupMenu 1522 * [177490] Fixed regression causing activated and highlighted signals to be 1523 emitted multiple times. 1524 1525- Q3ScrollView 1526 1527- Q3SqlCursor 1528 1529- Q3Table 1530 * [171801] Fixed a graphical error in Q3CheckTableItem. 1531 * [196074] Fixed a crash when using Q3Table and Q3ComboTableItem together 1532 with stylesheets. 1533 1534- Q3TextEdit 1535 * [197033] Fixed "select-and-copy" on X11 1536 1537- Q3Toolbar 1538 * [171843] QComboBox in a Q3Toolbar was generating warnings 1539 1540- QSvgWidget 1541 * Support for xml:space 1542 1543- QWhatsThis 1544 [177416] Fix sizing hints when using rich-text. 1545 1546- Qt Style Sheets 1547 * [163429] Stylesheet backgrounds now work on Mac. Note that there are 1548 still issues with stylesheets on that platform. 1549 * [169855] Setting a style sheet with gridline-color on QTableView now 1550 works correctly. 1551 * [182917] :hover no longer applies to disabled widgets. 1552 * [184867] Several speedups to stylesheet parsing. 1553 * [188344] Style sheets no longer reset font settings. They now 1554 take precedence over manually set font settings, and will leave other 1555 settings alone. The font is restored to the manual settings if 1556 the style sheet is removed. 1557 * [188702] Fixed a bug where QLineEdit would not react to the :focus 1558 pseudo state. 1559 * [190422] Fixed a bug where the width of QSpinBox subcontrols would not 1560 be properly respected. 1561 * [190423] Fixed a bug where gradient backgrounds were not shown correctly 1562 in QComboBox. 1563 * [191189] Fixed a bug where classes derived from QDialog by more than two 1564 levels (QDialog -> MySubClass -> MySubSubClass) would not receive the 1565 styled background. 1566 * [191216] Menus with a background color will now be rendered using the 1567 native style. 1568 * [191822] Fixed a crash in subElementRect when widget pointer is null. 1569 * [192374] An offset ::tab-bar element no longer offsets scroll buttons. 1570 * [192535] Fixed a bug where a QComboBox would not always draw its 1571 dropdown button when styled. 1572 * [192655] Fixed a bug where it was sometimes impossible to toggle a 1573 styled, checkable menu item. 1574 * [199912] QHeaderView no longer collapses to zero contentsRect if size 1575 is not specified. 1576 1577**************************************************************************** 1578* Database Drivers * 1579**************************************************************************** 1580 1581- Interbase driver 1582 * [185482] Fixed bug where data corruption occurred when inserting data into 1583 numeric fields on some platforms. 1584 1585 * [156090] Fixed bug where the connection information was always assumed to 1586 be Latin1 encoded. 1587 1588- MySQL driver 1589 * [190311] Fixed bug where fetching BLOBs with a prepared query would fail 1590 if the second BLOB was larger than the first. 1591 1592 * [184354] Implement QSqlDriver::escapeIdentifier() allowing reserved words and 1593 white spaces in table and column names. 1594 1595 * [129925] Communicate with the database using UTF8 encoding for MySQL 1596 versions >= 4.1.13 and < 5.0.0. This makes the behavior consistent with MySQL 1597 versions >= 5.0.7. 1598 1599- OCI driver 1600 * [167644] Set an error when failing to start a transaction in addition to 1601 printing an error. 1602 1603 * [177054] Fixed bug that caused QSqlField::length() to always return 38 for 1604 non-numeric fields. 1605 1606 * [141706] Added support for the using the hostname and port number provided by 1607 QSqlDatabase. This makes it possible to connect to Oracle databases without 1608 a tnsnames.ora file on the client. 1609 1610- ODBC driver 1611 * [164680] Don't crash when updating a view displaying a model after the 1612 database connection has been closed. 1613 1614 * [166003] Use SQLFetch() if SQLFetchScroll() isn't supported in the driver. 1615 1616 * [116534] Allow closing cursor without destruction of QSqlQuery object. Use 1617 QSqlQuery::finish(). 1618 1619 * [181039] Added support for a connection option to instruct the driver to 1620 connect as an ODBC 3 application; SQL_OV_ODBC3. This is needed in order to 1621 make the QODBC driver work with some ODBC drivers. 1622 1623 * [176233] Connection options are no longer case-sensitive (according to the 1624 ODBC standard). 1625 1626 * [178532] Fixed bug where binding bools would fail. 1627 1628 * [176231] Support passing the username and password as part of a connection string 1629 instead of using QSqlDatabase::setUserName() and QSqlDatabase::setPassword(). 1630 1631 * [141822] Support the SQL_GUID type. 1632 1633 * [187936] Improved support for the Linux Easysoft ODBC driver. 1634 1635 * [165923] Improved error handling. 1636 1637- SQLite driver 1638 * [174340] Bind QVariant::UInt as int64 instead of string. 1639 1640- PostgreSQL driver 1641 * [152770] Support prepared queries natively for PostgreSQL 8.2. 1642 1643 * [164233] Fixed bug where QSqlDatabase::primaryIndex() would fail if the 1644 table name was used in multiple schemas. 1645 1646 * [168934] Make a real error message available when failing to connect to a 1647 database. 1648 1649 * [150373] Added support for NumericalPrecisionPolicy, allowing the user to 1650 instruct the driver not to return NUMERICs as strings. 1651 1652- DB2 driver 1653 * [189727] Fixed bug where fetching the fields in a row multiple time would 1654 fail unless the fields were fetched in order. 1655 1656 1657**************************************************************************** 1658* QTestLib * 1659**************************************************************************** 1660* The display is now enabled on Mac OS X just before a test in run and qtestlib will ensure 1661 the application under test is the "front process" if it is a GUI application. 1662 1663**************************************************************************** 1664* QDBus * 1665**************************************************************************** 1666 1667- Library 1668 * [195515] Fixed a bug where the Qt application would crash if it 1669 tried to send some types of messages after the connection to the 1670 bus was broken. 1671 * [188728] Fixed a freeze caused by connecting to a slot that did 1672 not exist 1673 1674- Viewer 1675 1676**************************************************************************** 1677* Platform Specific Changes * 1678**************************************************************************** 1679 1680MIPS Linux 1681 * [188320] Build Qt/X11 with FPU support, breaking binary 1682 compatibility; see "Important Behavior Changes" below. 1683 1684X11 1685--- 1686 * Improved GNOME platform detection. 1687 * [193845] Improved support for KDE palette settings. 1688 * [179200] Fixed an issue where Qt would print "QProcess: Destroyed 1689 while process is still running." when using Cleanlooks. 1690 * [155704] Fixed a bug where widgets with MSWindowsFixedSizeDialogHint 1691 flag would be minimized when their parent QMainWindow was minimized. 1692 The MSWindowsFixedSizeDialogHint is now ignored on X11. 1693 * [153155] Make it possible to bypass g_thread_init() and have the 1694 Unix event dispatcher be used in threads instead by setting the 1695 QT_NO_THREADED_GLIB environment variable. 1696 * [157807] Fix an inefficiency in the Glib dispatcher's 1697 timerSourcePrepare() implementation. 1698 * [158332] Fix a bug where text/uri-list drops from Qt 3 would 1699 append a single, empty url to the uri-list. 1700 * [166097] QWidget::show() no longer resets the WM_TRANSIENT_FOR 1701 property if the Qt::WA_X11BybassTransientForHint attribute is 1702 set. 1703 * [166097] QWidget::show() no longer resets the _NET_WM_STATE 1704 property. Qt now merges its own state with any previous state 1705 set by the application programmer. 1706 * [168285] Fixed QDrag to correctly reset the override cursor. 1707 * [17566] Don't impose FD_SETSIZE limit when using the Glib event 1708 dispatcher. 1709 * [171513] Fixed a bug where an application would take up 100% CPU 1710 after starting a QDrag. 1711 * [184482] Fixed QApplication::setOverrideCursor() to not change 1712 the cursor for the root window. 1713 * [185048] Fixed a bug where calling QClipboard::set*() 1714 immediately after QClipboard::clear() would result in the 1715 clipboard staying cleared. 1716 * [182840] Fixed a bug where QApplication::mouseButtons() would 1717 sometimes report the wrong state. 1718 * [173328] Fixed QEventLoop::exec(ExcludeUserInputEvents) to not 1719 consume 100% when using the Glib event dispatcher. 1720 * [179536] Make QEventLoop::X11ExcludeTimers work as expected with 1721 the Glib event dispatcher. 1722 * [182913] Qt will now always look for the _MOTIF_DRAG_WINDOW 1723 property on screen 0 (instead of the default screen). 1724 * [187752] Fixed a bug where calling show() and hide() on a window 1725 before the event loop starts would prevent the window from ever 1726 being shown. 1727 * [189045] Reset the keyboard and mouse grabs to the current 1728 grabber when the last popup is closed. 1729 * [167707] Add support for all known _NET_WM_WINDOW_TYPE_* types 1730 via QWidget::setAttribute(). The attributes follow the 1731 Qt::WA_X11NetWmWindowType* naming scheme. 1732 * [172623] Don't create a pipe in the Glib event dispatcher (as it 1733 is not necessary). 1734 * [192871] Fixed a regression found in the 4.4.0 snapshots that 1735 broke QX11EmbedContainer. 1736 * [192526] Similar to 170768 below, fixed the spin locking in the 1737 QAtomic* implementation for 32-bit SPARC processors to yield 1738 instead of busy waiting. 1739 * [194566] Fixed a bug found in the 4.4.0 snapshots that would 1740 always cause the cursor to change when QWidget::setCursor() was 1741 called on a widget that was not under the mouse. 1742 * [173746] Fixed a bug in QDialog that would cause the "What's 1743 This?" popup menu to appear on the wrong X11 screen. 1744 * [187965] Fixed a bug where moving a widget that is hidden could 1745 cause the positioning to be incorrect. 1746 * [160206] Fixed some bugs in QX11EmbedWidget and 1747 QX11EmbedContainer to provide minimal support for multiple 1748 containers and multiple embedded widgets in the same 1749 application. 1750 * [182898] Fixed a crash in Motif Drag-and-Drop support when the 1751 _MOTIF_DRAG_WINDOW property is missing. 1752 * [183477] Fixed a bug that would cause a window to disappear 1753 after restoring it with QWidget::restoreGeometry(). 1754 * [163507] Fixed a couple of memory errors reported by valgrind. 1755 * [192654] Fixed drag-and-drop of more than one URL (using the 1756 text/uri-list mime type) between applications. 1757 * [198709] Fix QDesktopWidget to not report overlapping screens on 1758 servers with Xrandr 1.2. 1759 * [146336] On UNIX systems without CUPS support, the 1760 $HOME/.printers is now checked for a default printer. 1761 * [185864] Allow Qt to find the OpenSSL libraries dynamically even 1762 if the libssl.so file is not present. 1763 * [168283] Set WM_WINDOW_ROLE directly from QWidget's windowRole() property. 1764 * [187660] Implemented rotation for tablets on non-Irix X11 platforms. 1765 * [192818] Fixed drawing shapes with a textured brush that had an offset. 1766 * [133291] Fixed slow line drawing when using dashing under X11. 1767 * [183070] Make it possible to filter events for overlay widgets in OpenGL 1768 under X11. 1769 * [176485] Make drawing text through FreeType beyond the SHORT_MIN/MAX 1770 coordinate range work. Note that this won't work for XLFD based fonts. 1771 * [182264] Fixed a crash in QClipboard::setMimeData() when several 1772 clipboards share the same QMimeData instance. 1773 * [182264] Copying rich-text contents of a QTextEdit and pasting 1774 them to an editor that accepts rich text didn't work. 1775 1776- QPrintDialog 1777 * [128956] Fixed a bug which caused the print dialog to become hidden 1778 while the overwrite dialog was shown. 1779 * [192764] /etc/printcap with blank lines is now correctly parsed. 1780 * Redesigned the print dialog and pagesetup dialog to be much nicer. 1781 1782- QPrinter 1783 * [148125] Switched to printing through the CUPS API. This should fix the 1784 problem where the wrong lp/lpr command was picked up, and therefore 1785 printed through the wrong print system. If CUPS is enabled at compile 1786 time, it will always be used if available. 1787 * [161936] lp no longer outputs job ID to the console when printing. 1788 * [180669] QPrinter no longer crashes if the CUPS library cannot be found. 1789 1790Windows 1791------- 1792 * [185702] Fixed qatomic_windows.h to properly forward declare the 1793 _Interlocked*() functions to avoid conflicts with other headers 1794 that also use these functions. 1795 * [183547] Replaced scalar delete with array delete in windows socket engine. 1796 * [190066] Fixed setting spinbox and combobox bgcolor with stylesheets on Vista. 1797 * [197055] Fixed a stylesheet background issue with TextEdit on Vista. 1798 * Black regions are no longer exposed when resizing windows on Vista using Aero. 1799 * [172757] Respect system font changes on Windows. 1800 * [194803] Pass the keyboard modifiers in QTabletEvent on Windows. 1801 * [194089] Avoid adding the current screen point when translating tablet events on Windows. 1802 * [187712] Fixed QT_WA() macros to use correct windows version in static builds. 1803 * [183975] Handle 'Win+M' key while showing modal dialogs. 1804 * [187729] Fixed incorrect focus behavior when main-window is shown minimized. 1805 * [187900] Increased area for scrolbar thumb dragging. 1806 * [180416] Fixed incorrect command line parsing on windows. 1807 * [169703] Fixed Drag & Drop returning Invalid data. 1808 * [181816] Fixed drawing ClearType text into a QImage with the Format_ARGB32 format. 1809 * [123455] Make QWidget::numColors() return something useful for widgets that's not 1810 been shown yet. 1811 1812- QApplication 1813 * [167897] Fixed a bug where QApplication would treat single quotes 1814 as a quote to signify the end of an argument. 1815 1816- QFileDialog 1817 * [173402] Fixed wrong sort order if cou reopen a file dialog. 1818 * [178279] Be more smart for enabling or disabling the open button. 1819 * [178897] Fixed QFileDialog minimym size while very long path are in the history. 1820 * [181912] Not following folders that are symlinks. 1821 * [187959] Change the button caption from "save" to "open" when selecting a folder 1822 in a save dialog. 1823 * [196062] HANDLEs are now freed when searching the paths. 1824 * [198049] Selecting a file in the completer would display the full path rather then just the file name if it was in the current directory. 1825 1826- QDesktopServices 1827 * [194046] Fixed support for percentage encoded URL strings with openUrl(). 1828 * [172914] Fixed an issue where openUrl() would incorrectly return true 1829 after failing to open on Windows. 1830 1831- QFileSystemWatcher 1832 * [170021] Make it possible to monitor FAT32 directories. 1833 1834- QFont 1835 * Use Harfbuzz instead of Uniscribe for complex text shaping enabling support of a broader 1836 range of writing systems on all Windows versions. 1837 1838- QKeySequence 1839 * [187917] Fixed incorrect standard shortcut for PreviousChild. 1840 1841- QListView 1842 * [183299] More native appearance on list view selection backgrounds. 1843 1844- QLocale 1845 * [139582] An unrecognized LANG environment variable will now make QLocale 1846 fall back to the Windows locale, instead of the C locale. 1847 1848- QMenu 1849 * [140954] Fixed an issue where pressing the Alt-key would not correctly 1850 show and hide menu accelerators. 1851 1852- QMutex 1853 * [179050] Fixed a bug that cause a warning on startup from QMutex 1854 running an application build with MinGW on Windows 9x. 1855 1856- QPrintDialog 1857 * [183448] Fixed a bug where the print-to-file setting would remain stuck 1858 even after disabling it in the dialog. 1859 1860- QPrinter 1861 * [185751] Fixed a crash in QPrinter if QPainter.begin() failed. 1862 * [191316] Fixed a crash when using certain nonstandard printer drivers. 1863 1864- QScriptEngine 1865 * [182241] Fixed a bug that caused qScriptValueFromQMetaObject() to generate 1866 the wrong script constructor function with VC6. 1867 1868- QSyntaxHighlighter 1869 * Added QSyntaxHighlighter::currentBlock(). 1870 1871- QSystemTrayIcon 1872 * [189196] Fixed showMessage timeout interval being ignored on windows. 1873 1874- QTimer 1875 * [179238] Make QTimer behavior consistent with UNIX by not 1876 allowing them to fire recursively. 1877 * [188820] Fixed a bug found in the 4.4.0 snapshots that caused 1878 menu effects to "freeze." 1879 1880- QWizard 1881 * [180397] Fixed crash resulting from AeroStyle being assumed even when some of the required 1882 symbols were unresolved. 1883 1884- ActiveQt 1885 * [198021] Optimized QAxHostWidget::paintEvent(), the painting code is required only when the 1886 widget is being grabbed. 1887 * [191314] Support browsing of ActiveQt controls in Microsoft Visual Studio. 1888 * [190584] Support for large strings in code generated by dumpcpp. 1889 * [190538] Fixed incomplete function declarations generated by dumpcpp. 1890 * [90634] Support for 2D safe arrays. 1891 * [158785] Support for ActiveX control initialization using stored data. 1892 1893Mac OS X 1894-------- 1895 * [168290] Input Methods can now be used on windows of type Qt::Popup. 1896 * [195099] Fixed a problem with posted an event to quit in one thread to 1897 another thread would not quit the other threads loop. 1898 * [193047] Extend support for all the function keys on a standard Apple keyboard. 1899 * [193096] QtUiTools_debug.a is now included in the debuglibraries binary package. 1900 * [141602] pixeltool is also included in the binary package. 1901 * [188580] Respect the LSUIElements key in an application's Info.plist. 1902 * [188267] Ensure that qAppName() checks CFBundleName before using the executable name. 1903 * [183464] Fix "wrong clippboard content" issue. 1904 * [189587] Prevent triggering menu shortcuts when showing native dialogs. 1905 * [174769] Add separator above the "Preferences" menu item in the application menu. 1906 * Some fixes to color space handling to ensure that the display color space is used when 1907 drawing items to the screen (and printer). This works even if the display has a non-standard colorspace. 1908 * Apply a fix so that programs using the sqlite plugin and built on Mac OS X 10.5 will run on older versions of Mac OS X. 1909 1910- QAction 1911 * [196332] Make actions with ApplicationSpecificRole get merged in all cases. 1912 1913- QApplication 1914 * [180466] Ensure that non Qt Windows get an activate. 1915 * [171181] QApplication no longer send key events to disabled widgets. 1916 1917- QContextMenuEvent 1918 * [161940] Implement support for QContextMenuEvent::modifiers() 1919 1920- QImage 1921 * [182655] Switch off antialiasing when drawng to 1bpp images on Mac 1922 1923- QMainWindow 1924 * [171931] Fix crash when calling addToolBar while the user is dragging toolbars. 1925 * [191544] Fix unified toolbar size constraint issues. 1926 1927- QMime 1928 Implement text/html for cutting and pasting. 1929 1930- QPixmap 1931 * QPixmap no longer breaks CGImageRef's immutability. 1932 1933- QPushButton 1934 * [183084] QPushButton will no longer change appearance between mini, small, and large 1935 according to the size of it's contents. This behaviour can be switched on by using 1936 WA_MacVariableSize. 1937 * [172108] Unset the mnemonic if setText() is called with no &. 1938 1939- QPrinter 1940 * [189182, 194085] Querying printer properties on Mac now works after QPainter::end(). 1941 1942- QSettings 1943 * Fixed QSettings::sync() spurious error on Mac OS X 10.5. 1944 * Improved the Mac .plist serialization so that it doesn't generate 1945 needless one-element CFArrays. 1946 1947- QTextCodec 1948 * Fixed "System" locale codec on little-endian Mac OS X (Intel). 1949 1950- QTextEdit 1951 * [176378] Make selections be shown full-width. 1952 * [182243] Fix a regression where text editing widgets would insert command-keys that weren't shortcuts. 1953 1954- QWidget 1955 * [197087] Make masks work correctly for splashscreens and popups on Leopard. 1956 * [167974] Fix offset issue when seMask() was used in combinatiojn with Qt::FramelessWindowHint. 1957 * [192527] Fix a regression where Cmd+MouseButton on a window icon no longer sent a QIconDragEvent. 1958 * [179073] WA_MacMiniSize and MA_MacSmallSize have an effect on the default fonts for a widget. 1959 * [175199] Ensure sheets that later become normal windows have the correct opacity. 1960 * [139002] Ensure macEvent() is called. 1961 1962- QCoreGraphicsPaintEngine 1963 * Implement Porter-Duff operations. 1964 1965- QPageSetupDialog 1966- QPrintDialog 1967 * Make both these dialogs sheets if they are given a parent. 1968 1969- Q3ComboBox 1970 * Make up/down arrows work when the popup is closed. 1971 1972 1973Qt for Embedded Linux 1974--------------------- 1975 1976 - Screen drivers 1977 * LinuxFB: Improved support for BGR framebuffers 1978 * LinuxFB: Added 12, 15, 18 and 24 bit pixel depth detection. 1979 * AHI: New driver using the ATI Handheld Interface library. 1980 * DirectFB: New driver using the DirectFB library. 1981 * SVGAlib: Add support for 4 and 8 bit mode. 1982 * SVGAlib: Fixed the background color for 16 bit mode. 1983 * Transformed: Fix bug preventing driver to load as a plugin 1984 * VNC: Added support for the client cursor pseudo encoding. 1985 * Added QProxyScreen, a class for simplifying proxy based screen drivers. 1986 Currently used by the VNC and Transformed screen driver. 1987 * Added framework for letting the screen driver control the QPixmap 1988 implementation. 1989 * [194139] Fixed background initialization in a multiscreen environment. 1990 * [195661] Fixed disappearing mouse cursor in a multiscreen environment. 1991 1992 - Mouse drivers 1993 * Made the Yopy, VR41xx, PC, LinuxTP, and Bus drivers available as plugins. 1994 * [194413] Fixed missing newline when writing the calibration file. 1995 * Configurable double-click jitter sensitivity through the 1996 QWS_DBLCLICK_DISTANCE environment variable. 1997 1998 - Keyboard drivers 1999 * Made the SL5000, USB, VR41xx and Yopy drivers available as plugins. 2000 2001 - Decoration drivers 2002 * Made the Styled, Windows and Default decorations available as plugins 2003 2004 - Demo applications 2005 * Added embeddedsvgviewer, styledemo & fluidlauncher applications to 2006 demos/embedded to demonstrate Qt/Embedded on small screens (QVGA/VGA). 2007 Fluidlauncher is used to launch the demos. 2008 * Modified the existing pathstroke & deform demos to add a -small-screen 2009 command line option to optimize layout for small screens (QVGA/VGA). 2010 2011 - Windowing system 2012 * Removed redundant blits to the screen. 2013 * Fixed a bug in QWSWindowSurface preventing the Opaque property to be used. 2014 * Fixed a bug making the window surface valid when the 2015 windowEvent(QWSServer::Hide) signal is emitted. 2016 * Fixed a crash when no mouse driver is installed. 2017 * Fixed bug where QWSWindow::name() would be incorrect unless 2018 setWindowTitle() was called. 2019 * Allow normal windows to be raised above full screen windows. 2020 * [179884] Fixed bug when calling showMaximized() on a FramelessWindowHint 2021 window. 2022 * Fixed bug where children of a StaysOnTop window would be shown below the 2023 parent. 2024 * Fixed painting bug when configuring with -opengl and resizing/showing 2025 child widget of visible window. 2026 2027 - QDirectPainter 2028 * [100114] Implemented lock() and unlock(). 2029 * default parameter bug fixed for startPainting(); see "Important Behavior Changes" below. 2030 2031 - QScreen 2032 * Added classId() to enable safe casting to specific subclasses. 2033 2034 - QPixmap 2035 * Fixed grabWindow() on 12, 15, 18 and 24 bit screens. 2036 * Fixed grabWindow() on BGR framebuffers. 2037 * Fixed grabWindow() on rotated screens. 2038 2039 - QVFb 2040 * Fixed 12-bit support. 2041 * Added 15-bit support. 2042 * Added support for 32-bit ARGB 2043 * [127623] Tab key presses are now passed to the embedded application. 2044 2045 - General fixes 2046 * [181906] Fixed case insensitive key comparisions in the keyboard, mouse 2047 and screen plugin factory. 2048 * [170768] For ARM processors, fixed the spin lock protecting the 2049 * QAtomic* implementations to yield instead busy waiting. 2050 * Reduced number of double precision floating point operations as an 2051 optimization for platforms without a floating point processor. 2052 * Reduced memory usage in the backing store. 2053 * [177057] Fixed use of the modifier window title tag. 2054 2055**************************************************************************** 2056* Compiler Specific Changes * 2057**************************************************************************** 2058 2059- ICC 2060 * [169196] Use -fpic instead of deprecated -KPIC option. 2061 2062**************************************************************************** 2063* Tools * 2064**************************************************************************** 2065 2066- Build System 2067 * Make it possible to use QT+=dbus and QT+=testlib to enable 2068 compiling against the QtDBus and QtTestLib libraries. 2069 2070- Assistant 2071 * Renamed the existing Assistant to Assistant_adp and adjusted the QtAssistantClient library accordingly. 2072 2073 * Added the new Assistant based on the Qt Help module. 2074 2075 * Introduced qhelpconverter to convert adp or dcf files to the new file formats. 2076 2077 * Added the qhelpgenerator tool to create qch documentation files. 2078 2079 * Introduced qcollectiongenerator to create help collections. 2080 2081- Designer 2082 * [191493] Fixed issues with small widgets in grid layouts on Mac 2083 2084 * [177564] Fixed autoFillBackground being reverted when setting a stylesheet on a QLabel. 2085 2086 * [171900] Made Qt3Support functions visually different (signals and slots, widget icons) 2087 2088 * [182037] Fixed a bug which made it possible to resize QFrame-based containers to arbitrarily small sizes 2089 2090 * [176678] Made "Current Widget Help" work 2091 2092 * [193885] Fixed a crash caused by a widget box widget not having a geometry nor a valid sizeHint. 2093 2094 * [122185] Added support for QMdiArea, QWorkspace 2095 2096 * [173873] Made pasted widgets appear at mouse position 2097 2098 * [191789] Added QtDesigner.pc for pkg-config 2099 2100 * [157152] Added a context menu to the buddy editor 2101 2102 * [189739] Fixed a crash caused by internal layouts of custom widget plugins 2103 2104 * [133687] Fixed QDesignerContainerExtension; provided way to specify a method to add pages in domXML 2105 2106 * [161643] Changed rich text editor to detect plain text and store it as such 2107 2108 * [183110] Added a dialog for setting the tab order by sorting the list of widgets 2109 2110 * [188548] Added support for static custom widget plugins to QUiLoader 2111 2112 * [157164] Made QStackedWidget context menu available on browse buttons 2113 2114 * [157217] Fixed default size of spacers 2115 2116 * [182448] Fixed a bug that caused additional spacing between toolbar's last action and consecutive toolbar 2117 2118 * [84089] Added containers and custom containers to the "New Form" dialog 2119 2120 * [165443] Grey out the geometry property in Designer when it has no functionality 2121 2122 * [119506] Made comments available for shortcut properties 2123 2124 * [161480] Added detailed view to action editor 2125 2126 * [175146] Improved the signal/slot editor; do not reset the column sizes when switching forms 2127 2128 * [176121] Added "Save As" to code preview 2129 2130 * [176122] Added code preview 2131 2132 * [79138] Added support for QLayout::sizeConstraint 2133 2134 * [156718] Made it possible to copy actions between forms 2135 2136 * [168648] Improved object inspector selection 2137 2138 * [166406] Fixed a selection bug affecting custom subclasses of QTabBar 2139 2140 * [151323] Made it possible to use subclasses of QTabWidget, QToolBox or QStackedWidget as custom widgets 2141 2142 * [168564] Fixed a bug in table widget editor 2143 2144 * [132874] Added support for user-defined signals and slots of promoted widgets and main container 2145 2146 * [202256] Made header section size of the action editor persist when switching forms 2147 2148 * [201505] Extended the QDesignerIntegration::objectNameChanged() signal to carry the previous object name 2149 2150 * [196304] Exclude C++ and java keywords as names for objects 2151 2152 * [199838] Breaking layout didn't update properly minimumSize of a form 2153 2154 * [118874] Added spacing property for the QToolBox 2155 2156 * [120274] Q3Wizard - "currentPageText" property added, "caption" properly converted to "windowTitle" 2157 2158 * [181567] Added support for loading and saving items for Q3ListBox and Q3ListView 2159 2160 * [187593] Fixed issue with dynamic properties 2161 2162 * [107935] Actions provided by task menu extension are appended to the list of actions of superclass 2163 2164 * [188823] Compress margin/spacing properties in case all values are the same, for legacy reasons 2165 2166 * [160635] Make Z-order working properly 2167 2168 * [171900] Signals and slots from compat layer marked with red italic 2169 2170 * [177398] Added notr="true" attribite to styleSheet property - in this way styleSheet string will not appear in linguist 2171 2172 * [180367] Greyed out X and Y properties of geometry in case of main container 2173 2174 * [118393] Collapsing property groups in property editor allowed 2175 2176 * [190703] Fixed in-place editor behaviour 2177 2178 * [154745] Guidelines provided for grid layout 2179 2180 * [173516] New resource system integrated 2181 2182 * [142477] Improved rich text editor and added HTML editing 2183 2184 * Gradient editor added to stylesheet editor 2185 2186 * Resetting font and palette subproperties handled properly 2187 2188 * uint, qlonglong, qulonglong and QByteArray properties supported 2189 2190 * Property Browser Solution integrated 2191 2192 * Property Editor - added toolbar with object and class name, and some actions 2193 2194 * Property Editor - remember expansion state 2195 2196 * Property Editor - style sheet editor added 2197 2198 * Property Editor - sorting and coloring added 2199 2200 * Added basic fixup for URL properties to prevent data loss when the 2201 user enters an intermediate URL (such as www.google.com). 2202 2203- Linguist 2204 * [39078] Added shortcut for adding an entry to a phrase book. 2205 2206 * [116913] Added tooltips to messages view and phrases view to be able to see the full text as well as to see a preview of HTML rendering. 2207 2208 * [142628] Fix a "What's this?" message in Linguist. 2209 2210 * [170053], [183645] Split the context / items tree up into a contexts window and a messages window. 2211 2212 * [171829] Added support for syntax highlighting in source/translation strings. 2213 2214 * [179415] When previewing a dialog via Qt Linguist that has the window 2215 modality set to ApplicationModal do not block linguist. 2216 2217 * [181411] Make xliff utf-8 export use non-ascii characters, too. 2218 2219 * [183713] Identify the line number in the code for strings. 2220 2221 * [184586] Added ability to show multiple auxiliary (read-only) translations. 2222 2223 * [194325] Fixed an error with loading XLIFF files containing consecutive internal whitespace. 2224 2225 * Added a source code window. It shows the source file when available and highlights the line on which the source text was found. 2226 2227 * Added a window for showing warnings. 2228 2229 * Allow a translation to be marked as done when there are still warnings. 2230 2231 * Fixed undo/redo functionality. 2232 2233 * Show obsolete entries in grey. 2234 2235 * Ask whether modified phrase books should be saved on quit. 2236 2237 * Re-open phrasebooks at startup. 2238 2239- lupdate 2240 * [80235] Introduce QT_TRANSLATE_NOOP3 as a QT_TRANSLATE_NOOP3 variant 2241 taking a comments parameter. 2242 2243 * [161106] When specifying ::QObject::tr() lupdate will no more take 2244 the previous word as namespace. 2245 2246 * [165460] Make lupdate work with relative paths. 2247 2248 * [165679] Prevent lupdate from crashing on special string patterns. 2249 2250 * [179506] Handle the case of a class in a namespace inheriting from 2251 another class in a different namespace correctly. 2252 2253 * [180318] Make lupdate work properly on deeply nested directories. 2254 2255 * Added an option (-pluralonly) that will only extract strings which 2256 require a plural form, to ease adding plural translations for the same 2257 language as the source messages. 2258 2259 * Do not require administrative privileges to run lupdate on Windows Vista. 2260 2261- lrelease 2262 * [187375] Allow lrelease to be run from a directory outside the .pro file. 2263 2264 * Added an option (-removeidentical) that omits translated strings that 2265 are exactly the same as the source string, to reduce file size. 2266 2267- rcc 2268 * [105595] Add QT_NO_CAST_TO_ASCII define to tools by default. 2269 2270 * [188891] Fix crash when QResource is loaded from stream that was 2271 rcc'd from an empty qrc file. 2272 * [164840] Allow use of chinese characters in commandline arguments to rcc. 2273 2274- moc 2275 * Treat -DFOO as -DFOO=1 for macros defined on the commandline. 2276 2277- uic 2278 * [189327] Added support for QT_NO_ACCESSIBILITY 2279 2280 * [170919] Fixed a bug that caused nonsensical includes to appear in 2281 conjunction with Qt support classes 2282 2283 * [171228] Fixed a bug that caused nonsensical includes to appear in 2284 conjunction with Qt support classes 2285 2286 * [105595] Add QT_NO_CAST_TO_ASCII define to tools by default. 2287 2288 * [186989, 158836] Fixed invalid code generation in some cases when 2289 cross-compiling. 2290 2291- uic3 2292 * [179540] Added support for QPushButton's "on"-property 2293 2294 * [170919] Fixed a bug regarding includes for classes in namespaces 2295 2296 * [299175] Transform Qt3's QSlider property tickmarks to Qt4's 2297 tickPosition 2298 2299- qmake 2300 * [187938] Fix a bug that would cause Xcode projects generated by qmake to fail to link in Xcode 3. 2301 * The pkgconfig files generated for the frameworks on Mac OS X are now correct. 2302 * Makefiles for Mac OS X now always set QMAKE_MACOSX_DEPLOYMENT_TARGET=10.3 2303 unless it is overridden in the .pro file, this will solves linking errors 2304 on Leopard. 2305 * [189409] The default Xcode generator format is now Xcode 2.2. 2306 * Added an unsupported mkspec for LLVM on Mac OS X. 2307 * [198562, 201942] Added support for overriding bundle extentions for Mac 2308 * [152932] Specify the /MANIFEST option when embedding manifests into the application/library. 2309 * Avoid adding silencing echos to the compiler when generating XCode projects. 2310 * [191267] Only include the -L$$QT_PLUGINPATH option once in a project. 2311 * Avoid memmoving data from outside a memory block. 2312 * Generate proper MSVC 2008 VCPROJ and SLN files. 2313 * [168308] Avoid double dir separators in subdir Makefiles. 2314 * [168075] Make distcc work on Mac. 2315 2316- configure 2317 2318 * [180315] Implement -qtlibinfix configure option to allow renaming of Qt 2319 libraries. 2320 * [180315] Implement -qtnamespace configure option to allow compiling all 2321 Qt symbols in a user-defined namespace. 2322 2323 2324**************************************************************************** 2325* Plugins * 2326**************************************************************************** 2327 2328- QTiffPlugin 2329 * [187169] Return an error if loading fails instead of empty image. 2330 2331- QSvgIconEngine 2332 The qsvg icon engine plugin has been renamed to qsvgicon to disambiguate 2333 it from the qsvg image format plugin. 2334 * Now allows multiple SVG files and/or other images to be added to 2335 QIcon for different modes. 2336 * Streaming of SVG icons is fixed. 2337 2338**************************************************************************** 2339* Important Behavior Changes * 2340**************************************************************************** 2341 2342- Event filters 2343 2344 The behavior of event filters has changed starting with 2345 4.4. Previously, thread affinity was ignored when adding, 2346 removing, and activating an object's event filters. Now, event 2347 filters must have the same thread affinity as the object they 2348 are filtering. Qt will warn when it detects a filter that is 2349 in a different thread from the object being filtered. 2350 2351- QFont 2352 Starting with Qt 4.4, the '-' characters in the raw font names 2353 are no longer substituted with a ' ' (space character). This 2354 may impact your application if you use fonts that have '-' 2355 characters in their raw font names. 2356 2357- QReadWriteLock 2358 Starting with Qt 4.4, recursive lock support is disabled by 2359 default in QReadWriteLock. Code that relies on recursive write 2360 locking will need to be changed to construct the 2361 QReadWriteLock with recursive lock support enabled. Previously, 2362 recursive write-lock support (introduced in 4.3) was enabled by 2363 default, but QReadWriteLock did not properly support recursive 2364 read-lock support. QReadWriteLock now supports both and needs to 2365 be constructed explicitly with recurive lock support enabled 2366 (QMutex works in the same way). 2367 2368- QPainterPath 2369 We have changed QPainterPath::angleAtPercent() to use the same 2370 angle definition as in the rest of Qt. This means that the angle 2371 returned will be from 0 to but not including 360, specifying 2372 the degrees from the 3 o'clock position in the counter-clockwise 2373 direction. 2374 2375- QDirectPainter [Qt for Embedded Linux-specific class] 2376 startPainting() in Qt 4.3 had a default parameter lock=false, 2377 the value of which was not used. The function would lock for 2378 client processes, but not for the server process. From Qt 4.4, 2379 the default value is changed to true, and startPainting() will 2380 lock if lock == true, and not lock if lock == false. This means 2381 that client processes running code that has not been recompiled 2382 with Qt 4.4 may show flicker and/or painting problems. To get 2383 exactly the same behaviour as for Qt 4.3, change startPainting() 2384 to startPainting(QApplication::type() == QApplication::GuiClient). 2385 2386- QPrinter 2387 QPrinter::pageRect() did not return consistent values on 2388 Linux/Mac/Windows when QPrinter::fullPage() was set to true. On 2389 Mac and Windows pageRect() was not influenced by the fullPage() 2390 setting. This has now been changed so that pageRect() returns 2391 the same as paperRect() when fullPage() is true on all 2392 platforms. 2393 2394- QPixmap 2395 Using QPixmap outside of the GUI thread is dangerous and error 2396 prone. Because of this, starting with 4.4, any QPixmap created 2397 outside of the GUI thread will always be a null pixmap. 2398 2399- QDateTime 2400 When using QDateTime::fromString() to parse dates, QDateTime 2401 no longer tries to use English month names because that would 2402 cause some dates to become unparseable. If you need to parse 2403 date times in the English locale, use QLocale::toDateTime (in 2404 specific, the QLocale::c() locale). 2405 2406- Qt/Mac 2407 Starting a Qt application no longer makes it the front process. This is 2408 more in-line with other applications on Mac OS X. What this means is 2409 that you can start a Qt application, do something else and not have the 2410 Qt application steal your focus. If you desire for the Qt application 2411 to become the front process, you can call QWidget::raise() 2412 programmatically or launch the application with open(1) or using 2413 QDesktopServices. This should not have any affect if launched from 2414 double-clicking in Finder or run in a debugger. 2415 2416- Qt/X11 on MIPS Linux 2417 qreal is changed from float to double, breaking binary compatibility. 2418 This change fixes a bug introduced in Qt 4.3.0 when qreal was 2419 changed from double to float for embedded MIPS processors. 2420