1Qt 4.4.1 is a bug-fix release. It maintains both forward and backward 2compatibility (source and binary) with Qt 4.4.0. 3 4The Qt version 4.4 series is binary compatible with the 4.3.x series. 5The Qt for Embedded Linux version 4.4 series is binary compatible with 6the Qtopia Core 4.3.x series. Applications compiled for 4.0, 4.1, 4.2, 7and 4.3 will continue to run with 4.4. 8 9Some of the changes listed in this file include issue tracking numbers 10corresponding to tasks in the Task Tracker: 11 12 http://qt.nokia.com/developer/task-tracker 13 14Each of these identifiers can be entered in the task tracker to obtain 15more information about a particular change. 16 17**************************************************************************** 18* General * 19**************************************************************************** 20 21General Improvements 22-------------------- 23 24- Documentation and Examples 25 * [202630] Fixed a problem in the network/http example: it couldn't 26 download anything if the URL had a space. 27 28Third party components 29---------------------- 30 31- Updated Qt's libpng version to 1.2.29. 32 33 34**************************************************************************** 35* Library * 36**************************************************************************** 37- QAbstractItemView 38 * [199822] Fixed issue with broken extended selections. 39 40- QButtonGroup 41 * [209485] Prevented a crash caused by removing a button from its button 42 group while inside a slot triggered by the button's clicked() signal. 43 44- QDirModel 45 * [213519] Fix crashes when drag'n'dropping files into a subdirectory 46 47- QFtp 48 * [189374] Fixed a bug that would cause QFtp to fail to parse 49 dates if the application was being run on some locales, like fr_FR. 50 51- QGraphicsProxyWidget 52 * [208773] Input methods now work properly for embedded widgets. 53 * [207644] Fixed a bug where the painter was restored incorrectly. 54 55- QGraphicsScene 56 * [209125] QGraphicsScene::style() and QGraphicsWidget::style() fixes. 57 * [202774] [207076] Focus and activation fixes for embedded widgets. 58 * [212950] The scene no longer removes focus from the focus item if a 59 mouse press propagates to the scene (and then to the view). This was 60 a behavior regression to QWidget. 61 62- QString 63 * [205093] Printing QString after using replace()followed by truncate(-1) crashes 64 * [209078] Problem in QString::resize 65 66- QGraphicsView 67 * [209154] Mouse replay regressions since 4.3 have been fixed. 68 69- QObject 70 * Fixed a regression from 4.3 to 4.4 in QObject::receivers() where 71 the function would return >0 even after disconnection all 72 signals. 73 74- QScriptEngine 75 * [208489] Made the instanceof operator work when used with 76 QMetaObject wrappers created by newQMetaObject(). 77 * [206188] Fixed a bug that caused scripts to hang when using 78 "continue;" inside a switch-case block. 79 * [205473] Fixed a bug that caused slots to be called even when 80 argument conversion failed. 81 82- QSslSocket 83 * [212177] QSslSocket::peerVerifyError() supports all errors now. 84 * [212022] Fixed a bug that would cause no default CA certificates 85 to be present in static Qt builds. 86 * [212412] Fixed a bug that could cause a deadlock in 87 waitForReadyRead() in encrypted mode. 88 89- QtWebKit 90 * Ensured that relative URLs are converted to absolute URLs. 91 * Ensured that the cursor is changed into a resize cursor when hovering 92 over and dragging the resizeable frame borders. 93 * [206999] Fixed a problem which would make an empty URL being passed to 94 QWebPluginFactory::create() 95 * [208215] Fixed a bug that prevents linkClicked signal to be emitted 96 when opening a local HTML file. 97 * [208342] Ensured that the cursor is updated after a web frame or page 98 has finished loading. 99 * [210920] Fixed showing/hiding of the Web Inspector. 100 * [207050] Fixed input of characters into form elements using AltGr on Windows. 101 * Fixed a crash related to XML HTTP requests. 102 * Fixed QWebPage::acceptNavigationRequest not being called when opening new Windows. 103 * Fixed emission of linkClicked() signal when clicking on target=_blank links. 104 * Fixed painting artifacts when scrolling embedded widgets. 105 * Fixed logic errors in QWebHitTestResult::isNull() and QWebHistory::forward(). 106 * Fixed encoding of [ and ] in the host part of URLs 107 * Fixed a crash related to QWebPage::unsupportedContent. 108 * Fixed a memory leak on application shutdown. 109 * Fixed painting errors when scrolling embedded widgets. 110 * Fixed support for custom cursors set on a QWebView. 111 * Fixed various build problems on Mac OS X, Windows and Solaris 112 * Fixed crash with CSS text transformations. 113 * Fixed infinite recursion when converting DOM objects with cyclic references to QVariants. 114 115- QVariant 116 * [201918] QVariant convert to QDateTime warnings 117 118- QWidget 119 * Fixed a regression when setting masks for splashscreens on Mac OS X Tiger. 120 * [210544] Fixed a regression where Qt::WA_PaintOnScreen widgets were painted on 121 top of overlapping siblings. 122 * [211796] Fixed a crash occurring when calling render() from a resize event. 123 * [210960] Fixed a regression where an invisible top-level widget was resized when calling render(). 124 * [210822] Fixed a bug causing QGLWidgets to not behave correctly when setting window title. 125 * [208413] Fixed issues when creating a child widget of Qt::WA_PaintOnScreen widgets. 126 127- QWidgetAction 128 * [207433] Fix enabling and disabling toolbar containings actions widget. 129 130- QWorkspace 131 * [206368] Fixed a crash occurring when deleting a QWorkspaceChild. 132 133- QPainter 134 * [186327] Fixed inconsistent outline and fill drawing for drawPolygon in 135 raster paint engine, where the fill would be visible outside the outlines 136 or there would be missing pixels between outline and fill. 137 * [208530] Fixed some drawing issues with projective transform related to 138 near-plane clipping. 139 * [209095] Fixed infinite loop that could occur on certain architectures on 140 rare occasions when drawing outlines. 141 * [208090] Fixed issue with outline drawing where subsequent points on a 142 path or polygon are equal according to qFuzzyCompare, but treated as 143 different, causing stroke artifacts. 144 * [206785] Fixed potential pixmap drawing artifacts when drawing stretched 145 pixmaps at non-integer coordinates. 146 * Fixed potential rect/line drawing issue when drawing on non-integer 147 offsets in raster paint engine. 148 * [209462] Fixed regression when redirecting widgets to another paint device. 149 150- QPainterPath 151 * [209056] Fixes potential assert in the boolean operations (difference, 152 intersect, and union). 153 154- QRasterPaintEngine 155 * [208644] Fixed a crash in qt_intersect_spans. 156 157- QApplication 158 * [213116] Fixd a regression on Mac OS X where you could not access the 159 menu bar after minimizing a window with no click through. 160 161- QColor 162 * [193671] Fixed a problem with QColor::setNamedColor() not returning the correct 163 alpha value for the "transparent" color. 164 165- QMacStyle 166 * [212037] Adjusted the size of text in an editable combo box on Mac OS X Panther. 167 * [216905] Fix a regression when drawing table headers on Mac OS X Panther. 168 169- QMainWindow 170 * [210216] Calling setCentralWidget, setMenuBar, setMenuWidget or setStatusBar 171 several times could cause a crash. 172 * [206870] Fixed a bug causing dual screen layouts to not restore correctly. 173 174- QMdiArea 175 * [202657] Fixed focus issue when navigating between window with focus on the DockWidget 176 * [211302] Fixed a bug where the activation order was not respected when tiling and cascading. 177 178- QOpengGLPaintEngine 179 * [208419] Fixed wrong clipping of widgets. 180 181- QDockWidget 182 * [179989] Maximum size is now taken into account by the dock widget. 183 184- QCommonStyle 185 * [204016] Fixed west tab positions. 186 187- QCryptographicHash 188 * [206712] Fixed a bug that would make QCryptographicHash return 189 invalid results if you called result() before the last addData() 190 call. 191 192- QTcpSocket 193 * [208948] Fixed a bug that would cause QTcpSocket and QSslSocket 194 not to flush all of their buffers if the socket disconnects and 195 reconnects. 196 * [182669/192445] Fixed a bug that would cause QTcpSocket to stop 197 emitting readyRead() if a previous waitForReadyRead() timed out. 198 199- QDataStream 200 * [211301] Fixed an issue where Qt 2 and Qt 3 applications might 201 crash or hang when run under KDE 4. 202 203- QDateTime 204 * [137698] Fixed a bug that caused QDateTime to perform weird 205 1-hour jumps when dealing with dates in Daylight Savings Time. 206 207- QSslCertificate 208 * [185067/186087] Fixed a bug that would cause QSslCertificate 209 parsing of certificate timestamps to be off by a few hours 210 (timezone issue). 211 212- QFile 213 * [192752] Fixed a bug that would make QFile leak file descriptors 214 if QFile::handle() was called. 215 216- QFileDialog 217 * [208383] Crash when a proxy model is set and multiple files are selected. 218 * [165503] DirectoryEntered not emitted when go-to-parent button is clicked. 219 220- QFileInfo 221 * [212291] Fixed a bug that would cause QFileInfo to return empty 222 group or owner names for files under MacOS X and maybe some other 223 Unix platforms. 224 225- QFuture 226 * [214874] Fixed possible deadlock when using nested calls to QtConcurrent::run(). 227 228- QGLContext 229 * [210427] In 4.4.0 we removed the automatic mipmap generation for 230 textures bound with QGLContext::bindTexture(). This change has been 231 reverted for compatibility reasons. 232 * [214078] Fixed a problem that caused OpenGL textures to always be 233 downscaled to 64x64 in size on Intel graphics hardware. This caused, 234 among other things, the Qt Demo to look utterly broken on these systems. 235 236- QOpenGLPaintEngine 237 * [191777] Set default values for GL_PACK_*/GL_UNPACK_* values with 238 glPixelStore() when QPainter::begin() is called. 239 * [201167] Don't assume the GL error state is cleared when QPainter::begin() 240 is called. Clear the state explicitly before we make internal state checks. 241 * [204578] Fixed a problem where the GL error state was set on 242 some system because an extension enum was used unprotected. 243 244- QHostInfo 245 * [213187] Made QHostInfo not issue IPv6 name lookups if the 246 machine does not have any IPv6 addresses configured (Unix change 247 only). 248 249- QHttp 250 * [213220] Fixed a bug that could make QHttp open unencrypted 251 connections if HTTPS mode was requested but SSL support was not 252 present in Qt. 253 * [193738] Fixed a bug that would make QHttp continue reading the 254 HTTP server's response and emit a readyRead() signal even if 255 abort() had already been called. 256 257- QNetworkAccessManager 258 * When a http 302 location url is not an encoded url try QUrl's human readable parsing for more compatibility with websites. 259 260- QPainter 261 * [211403] Fixed handling of negative target rect offsets and negative 262 source offsets in QPainter::drawPixmap()/drawImage(). 263 264- QPixmap 265 * [202903] Fix an infinite recursion in QPixmap::fromImage() that occured 266 when converting mono images. 267 * [206174] Reverse the order of the tests done in QPixmap::hasAlpha() 268 in order to speed it up. 269 * [210275] Fixed a crash in QPixmap::resize(). 270 271- QSharedMemory 272 * Compile fix on QNX when QT_NO_SHAREDMEMORY was defined 273 274- QStyleSheetStyle 275 * [179629] Fixed SpinBox with gradient background. 276 * [188305] Respect the max-with property for more elements (such as QTabBar::tab) 277 * [189951] Fixed the align: property for QTabBar 278 * [194149] Fixed the background:transparent property 279 * [198926] Fixed the background:none property on some component of the scrollbar 280 * [206238] Fixed inconsistency with rules without selector applied to widget. They 281 now always applies to all childs 282 * [207420] Fixed the ~= attribute selector. 283 * [207819] Fixed few performences issues. 284 * [208001] Fixed crash crash with QMenu[title=...] in the stylesheet. 285 286- QHeaderView 287 * [207869] Fixed possible division by zero. 288 289- QTableView 290 * [207270] Painting errors in reverse mode and when there was spans. 291 * [210608] Fixed regression in the handling of spanning cells. 292 293- QTableWidget 294 * [213118] Fixed a bug where moving the first or the last row triggered an assert. 295 296- QTreeView 297 * [213737] Fixed regression where ctrl+a would select all items regardless of the selection mode. 298 * [202355] Fixed issue where items inserted in a view with all header sections hidden did not show 299 themselves properly later. 300 * [211296] When a column is hidden QItemSelectionModel::selectedRows and QItemSelectionModel::selectedColumns returns the wrong values. 301 302- QTreeWidget 303 * [305084] Fixed duplicate items that may appears when programaticaly 304 expanding items. 305 * [209590] itemSelectionChanged was being emited before item selection was updated 306 307- Q3DragObject 308 * [203288] Fixed regression against Qt 3 so that the drag() function now correctly uses 309 MoveAction (and not CopyAction) as the default action. 310 311- Q3TextBrowser 312 * [197836] Fix assert when zooming out. 313 314- QTextDocument 315 * [204965] Fix html export to use indent as textIndent 316 317- QTextBrowser 318 * [192803] Fix loading of files from resources with a resource prefix. 319 320- QTextEdit 321 * [211617] Fixed crash when moving the first paragraph by drag and Drop 322 323- QTextTable 324 * [194229] Fix removing of a row with merged cells causing a crash. 325 * [194253] Fix calling removeColumn on a Column with selectedCell causing an assert. 326 * Fix assert on selecting the whole table after an insert/remove of column. 327 * [175676] Fix calling of resize() making updates in layouting fail. 328 329- QSpinBox 330 * [213137] Fixed thousand-delimiters to not show for value = INT_MIN. 331 332- QScrollArea 333 * [210567] Fixed issues when scrolling a native widget. 334 335- QScrollBar 336 * [209492] Fixed a bug causing the scroll bar actions to be invoked twice. 337 338- QToolbBarLayout 339 * [207946] Prevented a crash caused by assuming that the parent widget always exists. 340 341- QThreadPool 342 * Fixed issues with thread termination during dll unloading on windows. QThreadPool:: 343 waitForDone() now completely stops all threads, on all platforms. In addition, the 344 QCoreApplication destructor now calls waitForDone() to make sure all threads are 345 stopped before the Qt dlls are unloaded. 346 347- QNetworkReply 348 * [207283] Fixed support for HTTP 101 responses. 349 * Fixed parsing of cookies with special timezone specifiers. 350 351- QWebHistory 352 * Fixed a bug where calling forward() would go backwards and not forwards. 353 354- QFontMetrics 355 * [212485] Fixed boundingRect() returning the proper size when there is a tab. 356 357- QItemDelegate 358 * [206762] Fixed painting when using a QBrush() for the text. 359 360- QtXmlPatterns 361 * [207584] When using the same QXmlQuery for a new query then evaluateTo() 362 can return false even if the query is valid. 363 * [214180] Fixed fn:replace fails when inside function. 364 * Fixed crash when unary operator has empty sequence as operand. 365 * Fixed that axis preceding or descendant-or-self when combined with 366 function last() on a custom node model crashes. 367 * Fixed that xml:id is not whitespace normalized. 368 * Fixed that QXmlFormatter produces no output on single top-level text nodes. 369 * Fixed infinite loop triggered by fn:matches(). 370 * Fixed crash when compiling one of the FunctX queries. 371 372- VideoPlayer 373 * [210170] Fixed an issue that prevented VideoPlayer::play to start when 374 called with an argument. 375 376- Accessibility 377 * [199241] Fix an issue where the screen reader would read the content of 378 a password line edit. The screen reader will now only read it if its Normal. 379 380- QLocalSocket 381 * [210886] Fixed a bug that would cause QLocalSocket to overrun 382 its buffers on very long socket names. 383 384**************************************************************************** 385* Database Drivers * 386**************************************************************************** 387 388 389**************************************************************************** 390* Platform Specific Changes * 391**************************************************************************** 392 393X11 394--- 395 * [208354] Fixed a crash in Qt's XIM implementation when exiting 396 applications after using the skim input method. 397 * [207800] Fixed a regression from 4.3 to 4.4 where putting a 398 QX11EmbedContainer into a QWidgetStack would case the container 399 stay visible permanently. 400 * [207423] In QDesktopWidget, workaround a change in behavior in 401 newer X.Org X servers where Xinerama would always be used even 402 when using a multi-screen setup. 403 * [206139] Fixed a bug where Qt could incorrectly recurse into the 404 Xlib error handler (causing Xlib to assert). 405 * [207057] Fixed a regression from 4.3 to 4.4 where 406 QX11EmbedContainer would sometimes destroy the embedded client's 407 window. 408 * [209057] Fixed a Q3Process which triggered a "Do not delete 409 object" warning. 410 * QPrintDialog crashed on unix in some cases. 411 * [214103] Fixed a regression with string to double conversion 412 becoming locale-aware in QTextStream. 413 * [210922] Fix crash in input methods when toggling the InputMethodEnabled 414 attribute. 415 * [210831] Fixed a problem where preview pages in the QPrintPreviewDialog 416 would not appear or be drawn correctly on X servers without 417 Xrender support. 418 * [206165],[213457] Fixed bugs which show the wrong cursor on some widget. 419 * Fixed bug regarding the usage of encoded URLs in Phonon 420 421 422Windows 423------- 424 425 * [207888] Fixed a regression from 4.3 which caused crashes in 426 Assistant and Designer when an accessibility client is running 427 (this includes applications that query for accessibility 428 features, like Notepad++). 429 * Several fixes related to crashes and hangs when the user has an 430 accessibility client running in the background. 431 * [208782] Fixed a problem with non-cosmetic lines with widths < 2 432 not being printed correctly with certain printer drivers. 433 * [208859] Fixed a problem with strokes not being printed correctly. Both 434 the stroke offsets and thinkness of the stroke were sometimes printed 435 incorrectly. 436 * [206473] Entering UNC paths is slow in the Qt file dialog. 437 * [309241] Trying to stream mp3 content with phonon would cause a crash. 438 * [210115] Fixed a problem causing "mailto" links not to work when the 439 mail application path contains unexpanded environment variables. 440 * [203012] Fixed a problem where "WriteOnly named pipes" failed to 441 open using QFile. 442 * [205685] Fixed the handling of TranslateAccelerator for windows key messages. 443 * Add support for (not) embedding manifests in plugins, on Windows. 444 * [211893] Fixed a crash related to using QtDotNetStyle. 445 446 447Mac OS X 448-------- 449 * Fix a regression where inserting widgets into native menus would cause 450 the program to crash. 451 * [209785] Fixed a regression from 4.3 to 4.4 in DeferredDelete 452 event handling. 453 * The "debuglibraries" binary package now includes dSYM bundles, which 454 makes it possible to debug with them. 455 * [207371] The CoreGraphics paint engine ignored the transform set 456 on a QBrush with QBrush::setTransform(). 457 * Fixed insertation of 'space' char in QLineEdit when EISU key is being held down 458 * Fixed fullscreen widget not regaining full focus after a dialog has been shown 459 * Fixed bug regarding the usage of encoded URLs in Phonon 460 * [212719] Fixed a bug that could cause text drawn into a QImage to be clipped 461 incorrectly. 462 * [216563] Fixed a case where failing to get the display's colorspace 463 would result in many widget being painted all black. 464 * [216544, 213316] Fixed several accessibility-related crashes. 465 * [210401] Fixed memory leak in QWidget::setWindowIcon(). 466 * [211195] Fixed problem that caused crashes with the Mac binary package 467 when entering long licensee names during the installation. 468 469Qt for Embedded Linux 470--------------------- 471 472- QWSEmbedWidget 473 * Fixed propagation of the Qt::WindowStaysOnTopHint window property. 474 475- QDirectPainter 476 * [209068] Fixed region coordinates for QDirectPainter when used on a 477 rotated screen. 478 479- DirectFB screen driver 480 * Fixed window placements of windows with initial top-left coordinate (0,0). 481 * Improved deallocation of resources when an application exits unexpectedly. 482 * Fixed bug in QPixmap::rotate(). 483 * Fixed QPixmap::fromImage() with an image of format QImage::Format_Indexed8 484 when compiling with QT_NO_DIRECTFB_PALETTE. 485 * Fixed small memory leak in QPainter::drawImage() 486 487- LinuxFB screen driver 488 * Added a workaround screen driver when the kernel fails to report the 489 length of the color components. 490 * Improved performance of the non-accelerated screen cursor. 491 * Disable the console cursor in graphics mode. 492 493- Tslib mouse driver 494 * [200995] Fixed crash when initialization fails. 495 * [207117] Improved filtering during calibration. 496 497- Ahi screen driver 498 * Fixed link issue. 499 * Fixed QScreen::setMode(). 500 * Improved support for different screen modes. 501 502Qt for Windows CE 503----------------- 504 505 * Support for Visual Studio 2008 added 506 * Improved QRegion to perform faster 507 508**************************************************************************** 509* Compiler Specific Changes * 510**************************************************************************** 511 512- [212852] Fixed GCC 4.3 compiler warnings. 513 514 515**************************************************************************** 516* Tools * 517**************************************************************************** 518 519- Build System 520 * [209866, 213084] Fix compilation errors in QtWebKit when using 521 GCC 3.4 with precompiled headers. Precompiled header support is 522 documented as experimental in the GCC 3.4 documentation, and as 523 such, precompiled header support is disabled by default with 524 this compiler. 525 * [212330] Correct Makefile generation for src/corelib, which 526 would sometimes include multiple qatomic.o targets. 527 * [210016] Fix a build failure on 64-bit Linux when using the 528 linux-*-32 mkspecs. 529 * [206966] Fixed compilation errors on Linux when building for the 530 MIPS architecture. 531 * [212132] Workaround compiler crash bug for Linux on 532 SPARC64. This is a generalization of a similar change done for 533 Solaris in the 4.3 series. 534 * [211326, 211703] Fixed compilation errors when using the Intel 535 C++ Compiler for Linux on IA-64 (Itanium) hardware. 536 * [171222] Ignore duplicate -L<path> options 537 538- Assistant 539 * [212875] Don't sort the entries in the contents view according to the 540 help files names. 541 * [212444] Use the default help collection when registering or unregistering 542 help files without having a collection file specified. 543 * [210704] Make sure the sql-plugin is correctly used when building 544 Qt statically. 545 * [208834] When highlighting a find result, ensure that the active 546 highlighting color is used. 547 * Introduced the -assistant-webkit configure flag to make use of WebKit as 548 html renderer in Qt Assistant. 549 550 551- Designer 552 553 * [213481] Fixed crash that occurs when encountering an invalid .ui file. 554 * [211422] Fixed a crash resulting from a conflict between the newly added 555 support for QScrollArea and custom widgets derived from QScrollArea. 556 * [209995] Fixed a bug in the property editor that caused it not to 557 select values in spin boxes on editing. 558 * [205448] Fixed a bug related to drag and drop and Windows accessibility. 559 * [205899] Removed the windowModality property for non-form children to 560 prevent it from locking up the form preview. 561 * [212077] Fixed retranslateUi call in case of combo box items 562 * [210866] Dynamic properties of type QByteArray are not converted anymore to type QString when reloading the form 563 * [207187] Designer's property editor has better colors in case of inverted color scheme 564 * [202257] The geometry of the resource dialog is saved in settings 565 * [211677] Remove a crash in case of reloading resources 566 567- Linguist 568 569- lupdate 570 * [209122] Fixed same-text heuristic missing existing plurals 571 * [212465] Standardize on the default context being empty, not "@default" 572 573- lrelease 574 575 576- rcc 577 578 579- moc 580 581 * [189996] Fixed a bug that caused inline slots with throw() 582 declarations to be parsed incorrectly. 583 * [192552] Fixed a bug that caused "< ::" to be parsed incorrectly 584 (e.g. "QList< ::Foo>"). 585 * [199427] Fixed the code generator so that it generates normal 586 spaces everywhere, no tabs. 587 * [204730] Fixed a skipt token after Q_PRIVATE_SLOT 588 589- uic 590 591 * [205439] Added a warning that is printed when encountering 592 non-obvious Qt3 dependencies (qPixmapFromMimeSource). 593 594- uic3 595 596 * [205834] Process non-ASCII filenames correctly. 597 598- qmake 599 600 601- configure 602 603 * Fixed auto-detection of the XKB library on old Unix systems 604 * Fixed auto-detection of getaddrinfo on old Unix systems 605 606**************************************************************************** 607* Plugins * 608**************************************************************************** 609 610 611**************************************************************************** 612* Important Behavior Changes * 613**************************************************************************** 614 615Unix 616---- 617 * [203063] Changed the behaviour of qFatal and Q_ASSERT to always 618 produce a SIGABRT signal in all build modes of Qt. (Previous 619 versions called the exit function if Qt was built in release mode) 620