Merge "Merge remote-tracking branch 'origin/api_changes'" into refs/staging/master
[profile/ivi/qtbase.git] / dist / changes-4.3.1
1 Qt 4.3.1 is a bug-fix release. It maintains both forward and backward
2 compatibility (source and binary) with Qt 4.3.0.
3
4 The Qt version 4.3 series is binary compatible with the 4.2.x, 4.1.x and
5 4.0.x series. Applications compiled for Qt 4.0, 4.1 or 4.2 will continue to
6 run with Qt 4.3.
7
8 ****************************************************************************
9 *                           General                                        *
10 ****************************************************************************
11
12 General Improvements
13 --------------------
14
15 - Translations
16     * Updated the German translation to provide complete coverage of Qt.
17
18 - QDBusView
19     * Added icons for Mac OS X and Windows.
20
21 - Intel C++ Compiler for Linux
22     * Added support for version 10 of the compiler. See the Compiler
23       Notes documentation for known problems and work-arounds for this
24       compiler.
25     * Added linux-icc-32 mkspec, for building with the 32-bit compiler
26       on 64-bit hosts.
27
28 Third party components
29 ----------------------
30
31 - FreeType
32     * Security fix (CVE-2007-2754): Integer overflow in the
33       TT_Load_Simple_Glyph function in freetype 2.3.4 and earlier allows
34       remote authenticated users to execute arbitrary code via crafted BDF
35       fonts.
36
37 - SQLite
38     * File descriptors are not inherited during spawn() anymore.
39
40 Build System
41 ------------
42
43     * Fixed native builds on ARM architectures.
44
45 ****************************************************************************
46 *                           Library                                        *
47 ****************************************************************************
48
49 General Improvements
50 --------------------
51
52 - QAbstractItemView
53     * [166605] Fixed regression causing keyboard modifiers to have no effect
54       during drag and drop operations.
55     * [169233] Fixed bug that would prevent text from being selected in
56       double spin box editors.
57     * [168917] Text would sometimes not be selected in the editor.
58
59 - QAbstractItemModel
60     * [166714] Fixed regression causing persistent indexes to not be
61       correctly updated.
62
63 - QAbstractPrintDialog
64     * [163000] Fixed bug on Unix where the PrintSelection option would not
65       be enabled unless PrintPageRange was also enabled.
66
67 - QApplication
68     * [166677] Windows only: Fixed an issue with alert() where windows
69       would keep flashing after being activated by the user.
70     * [168974] Fixed problems with compilation that could occur when
71       QT3_SUPPORT and QT_NO_CURSOR were defined.
72
73 - QComboBox
74     * [165130] Mac OS X only: Fixed bug that caused an editable combo box to
75       cut off list entries.
76
77 - QDesktopServices
78    * [165817] Fixed misleading documentation of
79      QDesktopServices::setUrlHandler().
80
81 - QDialog
82     * [166900, 166514] Fixed bug where a dialog could remain visible after
83       hide() had been called.
84
85 - QFile
86    * [167217] Fixed regression that prevented the sequential bit from being
87      reset when reopening a file.
88
89 - QFileDialog:
90    * [164947] Mac OS X only: Ensure that the parent of a native sheet dialog
91      is activated before a sheet is shown.
92
93 - QFSFileEngine:
94    * [163406] Ensured that QFile::readLine() works on all platforms when
95      QFile is opened on file descriptor 0.
96
97 - QGLWidget
98     * [162085] X11 only: Fixed usage of QGLWidget on multiple X11 screens.
99     * [164707] X11 only: Fixed the transparent overlay color usage to make
100       it possible to draw with a solid black color. Qt::transparent is now
101       always returned as the transparent color in an overlay.
102     * [162143] Fixed a crash that could occur when calling renderPixmap()
103       with extremely large sizes. It now gracefully fails instead.
104
105 - QGraphicsItem
106     * [163430] Improved precision of QGraphicsItem::ItemIsMovable move
107       operations, and fixed move support for
108       QGraphicsItem::ItemIgnoresTransformations.
109
110 - QGraphicsItemAnimation
111     * [164585] Fixed setTimeLine(0) to properly remove the existing timeline,
112       and also ensured that setting the same timeline twice works fine.
113
114 - QGraphicsScene
115     * [163555] Flat items (items whose bounding rect width or height is 0)
116       no longer cause a full viewport update when they are updated.
117
118 - QGraphicsView
119     * [160828] Fixed bug in QGraphicsScene/View::render() which could cause
120       nothing to be rendered for QPicture target devices.
121     * [163919] Scroll bar ranges are no longer reset to (0,0) when the
122       scroll bars are disabled (Qt::ScrollBarAlwaysOff).
123     * [163537] Scroll bar ranges are now correct also for styles with a
124       viewport frame only around the viewport itself (e.g., Motif and Mac
125       OS X style).
126     * [158245] Calling setScene(0) now recalculates the scroll bar ranges.
127     * [170619, 157400] Fixed rendering bugs that could occur when using a
128       semi-transparent foreground or background brush.
129     * [170619, 168885] Fixed a bug that would cause the rubber band to
130       appear after invoking a context menu.
131
132 - QHostInfo
133     * [168233] Ensured that all pending look-ups are terminated on
134       application exit to avoid a delayed application shutdown while waiting
135       for the look-ups to complete.
136     * [167487] Fixed support for Unix platforms that allow IPv6 look-ups
137       through getaddrinfo(), but that don't support IPv6 sockets.
138
139 - QImage
140     * [163727] Fixed artifacts in scaled images that could occur when using
141       Qt::FastTransformation.
142     * [169908] Fixed a crash that could occur when reading 4-bit
143       uncompressed BMP images.
144
145 - QLocale
146     * [167534] Fixed bug that would cause QLocale::toString() to return
147       garbage if passed an invalid time or date.
148
149 - QMainWindow
150     * [166004, 167651] Made the unified toolbar handle layout requests.
151     * Mac OS X only: Don't move the window's title bar when clicking on the
152       toolbar button.
153     * [164105] Made the unified toolbar handle showMaximized().
154     * [162555] Move OpenGL contexts when the toolbar button is pressed and
155       we are using the unified toolbar.
156     * [169063] Fixed a crash that could occur when setting a new menu bar
157       and the old one contained corner widgets.
158
159 - QMdiArea
160     * [162573] Improved switching between maximized subwindows (less
161       flickering).
162     * [162046, 164264] Improved activation behavior.
163     * [170770] Fixed inconsistent behavior with scroll bars when a subwindow
164       is maximized.
165     * [169873] Fixed incorrect positions of tiled subwindows.
166
167 - QMdiSubWindow
168     * [168129] Improved the way a default window icon is selected.
169     * [169859] Improved menu bar buttons for maximized subwindows.
170     * Improved support for size grips.
171     * [169543] Windows only (XP style): Fixed a problem where the frame
172       width was 1 pixel wider than it should have been.
173     * [168829] Fixed incorrect margins of maximized subwindows inside
174       QMainWindow.
175
176 - QMenu
177     * [166652] Fixed a regression where context menus could not be triggered
178       with the right mouse button.
179     * [161789] Fixed a bug that prevented tear-off handles from being
180       activated when they were dragged down from the menu bar item.
181
182 - QMenuBar
183     * [168892] Fixed bug that made the extension always appear when adding a
184       separator to a menu bar.
185     * [166181] Fixed bug that caused extensions to be misplaced.
186     * [166242] Fixed bug that could cause menus to be collapsed.
187
188 - QMessageBox
189     * Ensured that the default button isn't lost when the modality of the
190       message box is changed.
191
192 - QMacStyle
193     * Ensured that items with State_Focus actually get the focus ring drawn.
194
195 - QNetworkProxy
196     * [170549] Fixed a regression from 4.2.3 in the default constructor; if
197       used before any other proxy settings were applied, it would fail to
198       initialize the proxy handlers, effectively disabling support for
199       SOCKS5 and HTTP proxies.
200
201 - QOpenGLPaintEngine
202     * [166087] Fixed a memory leak caused by not releasing GL program
203       handles if they failed to compile.
204     * [166054] Ensured that push and pop operations are performed on the
205       texture matrix stack and the client state attributes when begin()
206       and end() are called.
207     * [161021] Fixed rendering of points with cosmetic pens with widths
208       greater than 0.
209
210 - QPainter
211     * [158815] Fixed rendering artifacts for extended composition modes with
212       semi-transparent or anti-aliased drawing.
213     * [163744] Fixed aliased ellipse drawing artifacts (horizontal lines)
214       in raster engine.
215     * [166623] Fixed bug where gradients with ObjectBoundingMode would be
216       drawn at an incorrect offset.
217     * [167497] Fixed color bleeding artifacts at the edges when drawing
218       images/pixmaps with SmoothPixmapTransform on X11.
219     * [168621] Fixed bug which would cause projective transformations to be
220       incorrectly applied for non-top-level widgets.
221     * [168623] Fixed drawing of gradients with projective transformations.
222     * [167891] Fixed an assert in QBezier::shifted() that occured when
223       drawing certain paths.
224
225 - QPlastiqueStyle
226     * [167145] Fixed a regression with combo and spin box text margins.
227
228 - QPrintDialog
229     X11 only:
230     * [142701] Fixed an assert which could occur on a system with CUPS
231       setup, but no printers available.
232     * [165957] Added support to allow printers to be chosen from the
233       NPRINTER and NGPRINTER enviroment variables.
234       Ensured that CUPS command line options are not used when not using
235       CUPS.
236     * [158807] Fixed page ordering when printing to a CUPS printer or to PDF
237       files.
238     * [155129] Fixed Landscape printing with CUPS version < 1.2.
239
240     Windows only:
241     * [166054] Fixed a crash which could occur when trying to use a
242       QPrintDialog to configure a printer set to use
243       QPrinter::PostScriptFormat as output format.
244     * [162729] Fixed an assert that could occur when entering an invalid
245       page range.
246
247 - QPrintEngine
248     * [166499] Windows only: Fixed a bug that could cause printing from a
249       QTextEdit to produce incorrect wrong results under certain
250       circumstances.
251     * [161915] Mac OS X only: Drawing vertical lines with a dot pattern now
252       work correctly on OS X 10.3.9.
253
254 - QProcess
255     * [161944] QProcess::setReadChannel() no longer affects the contents of
256       the stderr / stdout / unget buffers. QProcess::readAllStandardError()
257       and QProcess::readAllStandardOutput() no longer clear any unget data
258       or buffered data.
259
260 - QPixmap
261     * [167841] Fixed bug where filling a QPixmap with an alpha color would
262       fail to detach the pixmap, causing copies of the pixmap to be changed
263       as well.
264     * [157166] X11 only: Fixed problem with disappearing icons on 8-bit
265       TrueColor displays.
266     * [161307] Mac OS X only: Drawing bitmaps on pixmaps now works
267       correctly.
268
269 - QRasterPaintEngine
270     * [166710] Fixed bug that prevented Qt::OpaqueMode from being taken into
271       account under certain circumstances when QPainter::fillRect() was
272       called.
273     * [159538] Fixed drawing of a monochrome image into another monochrome
274       image.
275     * [166000] Fixed compilation of mmxext optimizations.
276     * [156925] Fixed performance bug in 3DNow! optimizations.
277
278 - QRegion
279     * [167445] Removed potential assert in QRegion::operator^ on Unix.
280
281 - QScriptEngine
282     * [165899] Fixed bug where calling an overloaded slot from a script
283       would pick the wrong overload when the argument is a QObject.
284     * [166903] Fixed crash when evaluating a call to a script function that
285       ends with an if-statement with a true-part that ends with a return
286       statement (and has no else-part).
287
288 - QScrollArea
289     * [167838] Use micro focus rectangle (if "active") instead of the entire
290       widget in ensureWidgetVisible().
291
292 - QSortFilterProxyModel
293     * [167273] Fixed regression that caused QSortFilterProxyModel to assert
294       when changing data in a QSqlTableModel source model with the
295       OnFieldChange edit strategy.
296
297 - QSqlQueryModel
298     * [166880] Fixed a bug where setQuery() could cause a crash by calling
299       hasFeature() on the wrong driver instance.
300
301 - QSqlRelationalTableModel
302     * [140782] Fixed a bug which caused insertRecord() to fail when record()
303       returns a record containing duplicate field names.
304
305 - QSslCertificate
306     * [168116] Don't crash when passing 0 to QSslCertificate::fromDevice();
307       issue a warning instead. This fix also removes warnings about
308       uninitialized symbols when accessing the static functions in
309       QSslCertificate before creating a QSslSocket.
310
311 - QSslSocket
312     * [164356] Fixed a crash that could occur when passing a string to
313       setCiphers().
314     * [166633] Fixed a memory leak that would occur with each established
315       connection.
316     * [165962] Fixed support for wildcard certificates.
317     * [167593] Fixed a bug that caused QSslSocket::protocol() to be ignored
318       and set to the default of SSLv3 under certain circumstances.
319     * [167380] Fixed a crash when assigning a null key for SSL servers.
320     * [169571] Fixed a crash that could occur after disconnecting from a
321       remote address.
322
323 - QTcpSocket
324     * [169183] Removed a qWarning() when reading from a closed socket
325       (regression from 4.2.3).
326
327 - QTemporaryFile
328     * [167565] Fixed a regression from 4.2.3; size() would always return 0.
329
330 - QTextEdit
331     * [161577] Fixed regression causing Shift-Backspace to be ignored.
332     * [165833] Fixed floating point overflow causing incorrect page heights
333       for text documents.
334     * [167377] Fixed performance regression when appending a lot of text in
335       NoWrap line break mode when there is a horizontal scroll bar.
336     * [163446] Fixed excessive emission of selectionChanged() signals when
337       moving the cursor.
338     * [167701] Fixed QTextEdit::setLineWrapMode to not change the
339       wordWrapMode property when called with NoWrap.
340
341 - QTextDocument
342     * [160631] Fixed missing HTML export of page break policies.
343     * [163258] Fixed bug that prevented text table borders from being drawn
344       in QLabels and tool tips.
345     * [166670] Fixed layout bug that caused the right margin property of
346       paragraphs inside table cells to be ignored.
347     * [168406] Fixed rendering bug which would cause incorrect background
348       fills for paragraphs with a left margin set.
349
350 - QTextLayout
351     * [166083] Fixed incorrect line breaking when breaking at a tab
352       character.
353     * [165861] Fixed support for QTextOption::NoWrap.
354
355 - QLabel
356     * [162515] Fixed bug that prevented QLabel's alignment from being
357       applied properly to rich text.
358
359 - QUrl
360     * Fixed a bug in QUrl::clear() which left some internal data uncleared.
361
362 - QWidget
363     * [165177] Fixed crash that could occur when deleting a focus widget from a
364       window with a non-null parent.
365     * [165654] Fixed issue with incorrect repainting that could occur when
366       deleting an opaque child widget.
367
368 - QWindowsVistaStyle
369     * [162730] Fixed the use of an incorrect font for item views on Windows
370       Vista.
371     * [157324] Improved the native appearance of indeterminate progress
372       bars.
373     * [170012] Fixed a bug which prevented the busy mode of a progress bar
374       from working when both its range and value were set to zero.
375
376 - QWindowsXPStyle
377     * [132695] Fixed a crash issue that could occur after multiple system
378       theme changes.
379
380 - QWizard
381     * [159684] AeroStyle: Fixed bug that caused the minimum height to be set
382       too low.
383     * [161670] AeroStyle: Fixed a problem that caused title bar buttons to
384       remaining glowing after the mouse had left the window.
385     * [161678] AeroStyle: Fixed a problem with incorrect vertical center
386       alignment of wizard buttons.
387
388 - Q3Header
389     * [167283] Fixed regression in painting of the header.
390
391 - Q3ListViewItem
392     * [165853] Fixed background coloring of a cell.
393
394 - Q3Socket
395     * [163563] Fixed regression in canReadLine(); it now properly searches
396       all internal buffers.
397
398 - Q3Table
399     * [168497] Fixed incorrect updates when using setUpdatesEnabled().
400
401 - Q3Wizard
402     * [168195] Fixed bug that could cause the wrong page to be shown when
403       reopening a wizard.
404
405
406 ****************************************************************************
407 *                          Database Drivers                                *
408 ****************************************************************************
409
410 - Interbase driver
411     * [149761] Added support for compiling Firebird 2.0 on 64-bit platforms.
412     * [165423] Fixed a regression causing an assert when calling a stored
413       procedure without out-parameters.
414     * [166238] Fixed a bug that caused only the first segment of multi-
415       segmented BLOBs to be retrieved in some cases.
416
417 - ODBC driver
418     * [167167] Fixed a regression that caused a crash when checking DBMS
419       general information when connecting to a database.
420     
421 - SQLite driver
422     * Use new sqlite3_prepare16_v2 instead of sqlite3_prepare16 when
423       possible.
424     * [167665] Fixed a regression that caused field names to be escaped
425       multiple times when selecting from views.
426     
427 ****************************************************************************
428 *                               Examples                                   *
429 ****************************************************************************
430
431 - Secure Socket Client
432     * New example, showing how to use QSslSocket to communicate over an
433       encrypted (SSL) connection.
434     
435 - Accelerated Screen Driver
436     * Ensured that the example does not crash if it is unable to get a
437       pointer to the frame buffer.
438
439 ****************************************************************************
440 *                      Platform Specific Changes                           *
441 ****************************************************************************
442
443 X11
444 ---
445
446     * [163862] Fixed a bug where QClipboard would escape all non-ASCII
447       characters that were copied from GTK+ applications.
448     * [165182] Fixed building with the Intel C++ Compiler for Linux on
449       IA-64 (Itanium) (missing functions in qatomic_ia64.h)
450     * [163861] Fixed building on AIX 5.3 where the _POSIX_MONOTONIC_CLOCK
451       macro was accidentally redefined.
452     * [166650] Fixed a regression from 4.2.3 where calling QWidget::move()
453       in a reimplementation of QWidget::showEvent() did not work.
454     * [166097] QWidget::show() no longer overwrites the _NET_WM_STATE
455       property. Instead, QWidget now merges any existing _NET_WM_STATE
456       property together with its own state.
457     * Fixed the QAtomic implementation on the Alpha, which previously
458       caused all applications to hang on start-up.
459     * [165229] Changed the linux-lsb-g++ specification to avoid linking with
460       libGLU (which is not part of the LSB specification).
461     * [155083, 146833] Ensure that all font substitutions from fontconfig
462       are obeyed by using a strong binding for QFont's family with
463       fontconfig.
464
465 Windows
466 -------
467
468     * [169105] Fixed a regression where calling resize() on a minimized
469       window did not work.
470     * [169376] Fixed a race condition that would cause a crash when
471       stopping timers in a thread.
472     * [165440] Fixed a crash that could occur when using Google's Pinyin
473       input method with Qt.
474
475 Mac OS X
476 --------
477
478     * QMake's Xcode generator is now more robust when determining which
479       version of Xcode projects it should generate. It also uses launch
480       services to determine Xcode's location as well.
481     * Small changes to be more Leopard compatible
482     * [167020] Ensured that the translations are really included in the
483       binary package.
484     * [164530] Ensured that the DPI for fonts don't change when the
485       resolution changes.
486     * [165530] Fixed a bug that caused Q_DECLARE_METATYPE() in a
487       precompiled header to interfere with the Objective-C 'id' keyword.
488     * [165659] Fixed bold/italic font rendering for some fonts.
489
490 Qtopia Core
491 -----------
492
493     * Fixed support for bitmap fonts.
494     * [164297] Fixed a potential crash in accelerated paint engines.
495     * [160970] Fixed support for 1-bit black and white screens.
496     * [164783] Fixed bug in 4-bit grayscale support which resulted in pink
497       colors under certain circumstances.
498     * [164955] Fixed painting error when using QWidget::move().
499     * [166368] Fixed bug in QWidget::setFixedSize() when using multiple
500       screens.
501     * [165686] Fixed bug in QPixmap::grabWindow() when using multiple
502       screens.
503     * [130925] Fixed use of QWSWindowSurface::move() when acceleration is
504       available.
505     * [143865] Implemented QWSCalibratedMouseHandler::getCalibration()
506       properly to fill all return values.
507     * [161820] Fixed incorrect detection of glib libraries when cross-
508       compiling.
509     * [152914] Improved the framebuffer test example.
510     * [171454] Fixed painting errors when zooming in QVFb.
511
512
513 ****************************************************************************
514 *                   Important Behavior Changes
515 ****************************************************************************
516
517 - QScrollArea
518     * [167838] Use micro focus rectangle (if "active") instead of the entire
519       widget in ensureWidgetVisible().