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