Update spec to build Qt 5.0
[profile/ivi/qtbase.git] / dist / changes-4.4.0
1 Qt 4.4 introduces many new features as well as many improvements and
2 bugfixes over the 4.3.x series. For more details, see the online
3 documentation which is included in this distribution. The
4 documentation is also available at http://qt.nokia.com/doc/4.4
5
6 The Qt version 4.4 series is binary compatible with the 4.3.x series.
7 The Qt for Embedded Linux version 4.4 series is binary compatible with the
8 Qtopia Core 4.3.x series. Applications compiled for 4.3 will continue to
9 run with 4.4.
10
11 Some of the changes listed in this file include issue tracking numbers
12 corresponding to tasks in the Task Tracker:
13
14   http://qt.nokia.com/developer/task-tracker
15
16 Each of these identifiers can be entered in the task tracker to obtain
17 more information about a particular change.
18
19 ****************************************************************************
20 *                           General                                        *
21 ****************************************************************************
22
23 General 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
114 New 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
151 Third 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 &current; 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
1680 MIPS Linux
1681     * [188320] Build Qt/X11 with FPU support, breaking binary
1682       compatibility; see "Important Behavior Changes" below.
1683
1684 X11
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
1790 Windows
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
1893 Mac 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
1973 Qt 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.