Adding auto-tests for commits a2fcc4a5 and 8d500381
[qt-netbsd.git] / dist / changes-4.3.2
blob2bec4e643f9d183056d7f53059aaa9d277afd042
1 Qt 4.3.2 is a bug-fix release. It maintains both forward and backward
2 compatibility (source and binary) with Qt 4.3.0 and Qt 4.3.1.
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.
8 ****************************************************************************
9 *                           General                                        *
10 ****************************************************************************
12 General Improvements
13 --------------------
15 - Legal
16     * This version adds the Academic Free License 3.0, Artistic License 2.0,
17       Zope Public License 2.1 and Eclipse Public License to the GPL
18       Exception for developers using the Open Source Edition of Qt.
19       See the Trolltech GPL Exception Version 1.1 page in the documentation
20       for more information.
22 Tools
23 -----
25 - Designer
26     * [175822] Fixed incorrect behavior of the widget editing mode that
27       could occur when a form was resized.
28     * [174797] Fixed a crash that could occur when several commands were
29       redone in one go.
31 Build System
32 ------------
34     * Enabled MSVC project generator for the Qt Open Source edition.
35     * Ensured that the QMAKE_CC and QMAKE_CXX variables are not defined in
36       the Xcode project generator to allow distributed (distcc) builds to
37       work again.
38     * [165183] Make DESTDIR work again in the Xcode generator.
39     * Fixed a bug in escape_expand() that could cause text to be corrupted.
40     * Updated the compiler notes for version 10.0.026 of the Intel C++
41       Compiler for Linux. Precompiled header support has been fixed in
42       this version of the compiler, so the -no-pch workaround is no longer
43       needed. Note that there is still one outstanding bug in the 64-bit
44       compiler that requires configuring and building Qt with -debug.
45     * Updated the compiler notes for HP-UX platforms and compilers.
46     * Introduced support for 32-bit builds on HP-UXi Itanium: hpuxi-acc-32.
47     * [163661] Fixed the dependency generator for ActiveQt server projects
48       and certain custom compilers
49     * [169756] Fixed mocinclude.tmp usage for Visual Studio 6.0 project
50       files for cases where the length of the includes exceeds the amount
51       allowed on the command line.
52     * [166407] Fixed the generated target rules when using YACCSOURCES.
53     * [156948] Ensured that QTPLUGIN libraries come before the Qt libraries
54       on the link line.
55     * Ensured that support for libtiff is not built if Qt is configured
56       without zlib support.
57     * [172629] Ensured that syncqt does not generate zero-size master
58       include files for modules that are not found.
59     * Fixed generation of dependencies for EXTRA_TARGETS.
60     * [159113] Ensured that the description for the Post Link build step in
61       VS 2003 does not contain any \n characters.
63 I18n
64 ----
65     * Fixed a crash in lupdate/lrelease that could occur if the XML parser
66       reported an error.
68 ****************************************************************************
69 *                           Library                                        *
70 ****************************************************************************
72 General Improvements
73 --------------------
75 - Qt Script
76     * QScriptEngine::evaluate() no longer throws a syntax error in the case
77       where the script contains no actual statements.
78     * [175714] Fixed parsing of octal numbers on Windows and Mac OS X.
80 - Style Sheets
81     * QMainWindow now respects the background-image style property.
82     * [171858] Ensured that QPushButton uses the correct color when the
83       text-align property is set.
84     * Fixed various bugs in QMenu styling.
85     * [168286] Fixed a bug that prevented the background from being clipped
86       correctly when the border-radius and background-clip properties were
87       defined.
88     * Fixed a QComboBox styling bug where the popup would show an extra row
89       when a style sheet was used.
90     * [177168] Fixed a memory leak where QStyleSheetStyle is never
91       destroyed.
92     * [172315] Fixed a stack-overflow when using the isActiveWindow
93       property as a selector.
95 - Text rendering
96     * [168625] Fixed rendering of text with perspective transforms on X11
97       and Qtopia Core.
98     * [173792] Fixed transformed rendering of non-scalable/bitmap Freetype
99       glyphs.
101 - QAbstractItemView
102     * [168493] Fixed drag and drop regression when a parent item in a tree
103       doesn't allow item to be dropped on it.
104     * [174848] Fixed a crash that could occur if the row currently being
105       edited was removed.
107 - QCalendarWidget
108     * [171532] Fixed keyboard navigation (pressing "w" doesn't select the
109       "Wed" cell anymore).
110     * [173852] Fixed SingleLetterDayNames mode for the Chinese language.
112 - QColorDialog
113     * [153436] Fixed a crash in QColorDialog that could occur when choosing
114       a color in the Gray colorspace.
116 - QColumnView
117     * Ensured that selectAll() selects all items in cases where the
118       selection range contained multiple items.
119     * [170751] Fixed incorrect selection behavior caused by clicking on a
120       previously selected folder.
121     * [170753] Prevented items from being reselected on deselection in some
122       cases.
123     * [170753] Ensured that the full path is selected when passing an index
124       to select.
125     * [170753] Fixed a bug that could occur when deselecting an item that
126       caused its parent to be deselected.
128 - QCoreGraphicsPaintEngine
129     * [170352] Fixed aliased strokes that were drawn 1 pixel too far to the
130       left on Mac OS X versions < 10.4.
131     * [172006] Fixed point drawing with a scaled painter on Mac OS X.
133 - QDataWidgetMapper
134     * [172427] Fixed a crash that could occur when submitting data from the
135       mapped widget to the model.
137 - QDateTimeEdit
138     * [118867] Fixed a bug that prevented valid values from being entered
139       when certain range restrictions were applied.
140     * [171920] Fixed a bug with parsing long day names.
142 - QDir
143     * [176078] Fixed a crash that could occur when entering directories with
144       very long path entries.
146 - QDirIterator
147     * [176078] Fixed a crash that could occur when entering directories with
148       very long path entries.
150 - QDockWidget
151     * [174249] Fixed bug where it was possible to dock into a minimized
152       QMainWindow.
154 - QFile
155     * [175022] Fix regression in handle() on Windows.
157 - QFileDialog
158     * Fixed possible deadlock.
159     * Ensured that selection changed signals are reconnected when setting a
160       filter on a dialog.
161     * [171158] Fixed a crash that could occur when using the Forward button
162       to navigate into a folder that was deleted.
163     * [166786] (Windows) Fixed bug that prevented some files from being
164       shown in certain cases.
165     * [165289] (Windows) Fixed issue that caused UNC paths to be ignored
166       when used as initial paths for a file dialog.
167     * [140539] (Windows) Dialog no longer accesses floppy drives
168       automatically when launched.
170 - QFontDatabase
171     * [176450] Added some missing tr() calls and made all strings
172       localizable.
174 - QFSFileEngine
175     * [177363] Fixed a bug in fileTime() that caused the time returned to
176       depend on whether or not it was called during a Daylight Saving Time
177       period.
179 - QGLPixelBuffer
180     * [179143] (Windows) Fixed a memory leak that would occur when a
181       QGLPixelBuffer was deleted. This would appear as a slowdown in
182       performance to the user.
184 - QGLWidget
185     * [169131] Fixed an issue with renderPixmap() where text drawn with
186       renderText() was clipped to the size of widget, not the resulting
187       pixmap.
188     * [175513] Fixed an issue with renderText() which would cause artifacts
189       when bitmap fonts were used.
190     * [172474] (Windows) Fixed an issue with disappearing text when using
191       renderText() together with renderPixmap().
192     * [173944] (Mac OS X) Fixed a crash that could occur when requesting a
193       GL context with an overlay.
195 - QGraphicsItem
196     * [174299] Fixed and improved bounding rect calculations for most
197       standard items.
199 - QGraphicsScene
200     * [174450] Flat items are now rendered correctly also when NoIndex is
201       set.
203 - QGraphicsTextItem
204     * [174429] This item now respects QGraphicsItem::ItemClipsParentToShape.
206 - QGraphicsView
207     * (X11) A workaround has been applied to resolve random clipping errors
208       that would sometimes leave trailing artifacts and horizontal/vertical
209       white lines in the viewport.
211 - QHeaderView
212     * [178483] Prevented crash that could occur when recomputing the layout
213       under certain conditions.
215 - QHttp
216     * [176822] Fixed a bug that caused POST requests to submit an empty body
217       after a proxy authentication request.
218     * [176403] QHttp no longer resets proxy settings on sockets set with
219       QHttp::setSocket() (regression from 4.2.3).
220     * [175170] Prevent live lock when response ends with a stray '\r'.
221     * [172763] Fixed a bug that caused QHttp to ask the proxy server to
222       connect to the wrong address when in SSL (non-caching) mode.
223     * [172775] Fixed the emission of the done() signal under some conditions
224       (mostly SSL only).
226 - QImage
227     * [176831] Fixed a bug that caused conversions to Format_RGB16 to give
228       incorrect colors.
229     * [169908] Fixed a crash that could occur when reading 4 bits per pixel
230       uncompressed BMP images.
232 - QItemDelegate
233     * [173969] QDoubleSpinBox editors now allow negative input.
234     * [179119] Item checkboxes were rendered without a margin.
236 - QLabel
237     * Fixed a crash that could occur when changing the contents of a label
238       in a slot connected to the linkActivated() signal.
240 - QLayout
241     * Fixed a performance regression from Qt 4.2 related to the introduction
242       of QStyle::layoutSpacing().
244 - QLibrary
245     * [178304] Fixed a bug that caused a crash if QLibrary::errorString()
246       was called before QLibrary had a file name associated with it.
248 - QListView
249     * [270837] Fixed assert that could occur when setting a root index with
250       no children in icon mode.
252 - QMainWindow
253     * [175479] Fixed unified toolbar handling on Mac OS X to prevent
254       assertions in the layout engine.
255     * [174575] Several crashes fixed.
257 - QMdiArea
258     * [173391] (Windows) Fixed bug where a subWindowActivated() signal was
259       not emitted when the top-level window was minimized.
260     * [173628] Fixed bug that could cause an endless resize loop when using
261       Qt::ScrollBarAsNeeded as the scroll bar policy.
263 - QMdiSubWindow
264     * [176769] Fixed bug where the title bar font was not updated on
265       QEvent::FontChange.
266     * [173087] Ensured that double-clicking the system menu closes the
267       window.
268     * [173363] Fixed bug where the title bar was not immediately updated
269       after changing the window title.
271 - QMenu
272     * [111348] QMenu now takes focus with the QPopupMenuReason.
273     * [176201] Fixed possible crash when clearing the menu from a triggered
274       signal.
276 - QPainter
277     * [168621] Fixed an offset bug in drawing with perspective transforms.
278     * [172017] (X11 and OpenGL) Fixed drawing of non-cosmetic points with
279       the FlatCap cap style.
280     * [175010] Fixed some bugs related to dash offsets.
281     * [170517] Fixed issue with missing tab stops when painting to a
282       printer.
284 - QPainterPath
285     * Fixed the behavior of addText() when used with italic fonts.
286     * [178515] Fixed QPainterPath::pointAtPercent() to work correctly on
287       line segments in a path.
289 - QPicture
290     * [168621] Ensured that the correct scale is used when rendering to a
291       device with different x and y resolutions.
293 - QPixmap
294     * Ensure that the proper color space is used in QPixmap::grabWindow() on
295       Mac OS X.
297 - QPlastiqueStyle
298     * [174104] Fixed a regression in Plastique that caused spin boxes to
299       have incorrect heights.
301 - QRasterPaintEngine
302     * [169997] Fixed aliased rendering of complex paths with a large number
303       of subpaths.
304     * [174914] Fixed use of QPainter::setOpacity() when drawing a pixmap
305       into a 16-bit buffer.
306     * [177919] Fixed a problem with drawing bitmaps.
307     * [177654] (Windows) Fixed an issue with transformed bitmaps being
308       returned as pixmaps.
310 - QSqlQuery
311     * [173710] Fixed a bug that caused value() to return null-variants
312       instead of real values after re-executing a prepared query.
314 - QSqlRelationalTableModel
315     * [176374] Fixed an unfortunate change in 4.3.0. Display column names
316       were aliased to prevent duplicate column names in records in order to
317       fix a bug in insertRecord().
318       However all display columns were always aliased - even when not
319       necessary. From now on, display column names will only be aliased when
320       there are name clashes, and only the conflicting columns will be
321       aliased.
323 - QSqlTableModel
324     * [170783] Fixed a bug that caused empty rows to be displayed in a
325       QTableView when a new model was set on the view. This was caused by
326       QSqlTableModel emitting the rowsAboutToBeInserted() and rowsInserted()
327       signals even when the new model was empty.
329 - QSslSocket
330     * [177198] Fixed the emission of the proxyAuthenticationRequired()
331       signal.
332     * [174625] Ensured that only one attempt is made to resolve OpenSSL
333       symbols.
334     * [173734] Removed two memory leaks.
335     * [172285] (Windows) Fixed link error that occurred when Qt was built
336       as a static library with OpenSSL enabled.
338 - QSvgGenerator
339     * [167921] Fixed a rounding error; improved precision.
340     * [167921] Allow rendering to a device that's not open; warn if the
341       device is not writable.
342     * [167921] Fixed a bug that caused QSvgGenerator to confuse 'cm' units
343       with 'mm' units.
345 - QSvgRenderer
346     * [172550] Fixed incorrect linear gradient parsing for certain SVGs.
347     * [175651] Fixed a crash that could occur when loading SVGs with
348       undefined URLs.
350 - QTableView
351     * [171128] Fixed painting problems caused by deleting hidden rows.
352     * [175462] Fixed a bug where the region for selection spanning items was
353       calculated incorrectly.
355 - QTcpSocket
356     * Fixed a crash that could occur when using SOCKS5 proxy before
357       constructing a QCoreApplication.
358     * [174517] (Windows) Prevented stalling when connecting to offline
359       hosts.
361 - QTextBrowser
362     * [173945] Fixed bug that could prevent scrolling to an anchor in an
363       HTML file from working successfully.
365 - QTextEdit
366     * [171130] Fixed bug that could occur when appending text lists to a
367       document, causing the first list element to be treated as normal text
368       instead of a list element.
369     * [172367] Fixed a bug that caused the result of setPlainText() to use
370       HTML attributes if preceded by a call to setHtml().
371     * [173574] Fixed a bug that prevented floating image links from being
372       clickable.
373     * [174276] Fixed resizing performance in cases where wrapping is
374       disabled.
375     * [172646] Fixed a bug that caused leading spaces in marked up text to
376       be lost when the text was copied and pasted.
378 - QTextLayout
379     * Fixed a regression in the line breaking algorithm that lead to wrong
380       results for justified text.
382 - QTextStream
383     * [174516] (Windows) Fixed a bug in readLine() when reading "\r\r\n"
384       from devices opened in QIODevice::Text mode.
386 - QToolBar
387     * [270967] Fixed the behavior of floating toolbars.
389 - QTreeView
390     * [171947] Fixed a bug that prevented alternate colors in an inactive
391       QTreeView from being painted with the correct inactive palette role.
392     * Prevented a number of possible crashes that could occur when there are
393       pending changes.
394     * [177165] Fixed a bug that caused minimum column widths to become
395       independent of the width of the text in the header.
396     * [177945] (Mac OS X) Fixed a crash that could occur when dragging over
397       an empty region.
398     * [174437] Fixed a bug that made it possible to interactively change
399       the check state of an item, even if it was disabled.
400     * [172426] Fixed a segmentation fault in QModelIndex that would occur
401       when showing QTreeView with QSortFilterProxyModel and delayed layout
402       changes were pending.
404 - QTreeWidget
405     * [174396] Fixed an issue that could cause setItemExpanded() to fail.
406     * [172876] Ensured that itemBelow() and itemAbove() return correct
407       values.
408     * [171271] Fixed a possible crash caused by updating items too quickly.
410 - QUtf8Codec
411     * [175794] Fixed an off-by-one buffer overflow bug.
413 - QWidget
414     * [157496] (Windows) Fixed a memory leak in setWindowIcon().
415     * [175114] Fixed issue with missing update after hiding a child of a
416       hidden widget.
417     * [176455] Fixed a regression that prevented a parent layout from being
418       invalidated in certain situations if the widget had a fixed size.
420 - QWizard
421     * [177716] Ensured that the commit button is enabled and disabled
422       correctly according to QWizardPage::isComplete().
424 - QX11PaintEngine
425     * [173977] Fixed drawing of tiled bitmaps into a bitmap when XRender is
426       used.
427     * [175481] Fixed a crash that could occur when performing complex
428       transformations with a QRegion.
430 - Q3Action
431     * [175536] Fixed a formatting error in the tool tip string
432       representation of actions with shortcuts.
434 - Q3ButtonGroup
435     * [177677] Fixed a application freeze that could occur when resetting
436       the ID of a button inside a button group.
438 - Q3FileDialog
439     * [165470] Fixed broken scrolling behavior that occurred after toggling
440       between detail/list view mode.
442 - Q3Header
443     * [176202] Fixed memory leak when replacing icons using setLabel().
446 ****************************************************************************
447 *                          Tools                                           *
448 ****************************************************************************
450 Build System
451 ------------
453 - Q3ToolBar
454     * [176525] Ensured that the tool buttons of a vertical tool bar are
455       center-aligned instead of left-aligned.
457 I18n
458 ----
459     * Fix crash in lupdate/lrelease that occured if the xml parser threw an error.
461 Linguist
462 --------
464     * [276076] Let Linguist show existing translations to other languages
465       as "auxillary sources" 
468 ****************************************************************************
469 *                           Library                                        *
470 ****************************************************************************
473 ****************************************************************************
474 *                          Database Drivers                                *
475 ****************************************************************************
477 - Interbase driver
478     * [175144] Fixed a build issue that prevented the QIBASE driver from
479       being built at the same time as the QODBC driver if Firebird header
480       files older than v2.0 were used.
481     * [177530] Fixed a regression introduced in Qt 4.3.0 that broke stored
482       procedure support for Interbase/Firebird. When executing a procedure
483       without parameters, the values were not retrievable.
485 ****************************************************************************
486 *                               Examples                                   *
487 ****************************************************************************
489 - Draggable Text Example
490     * Fixed usability bugs.
492 - Torrent Client Example
493     * Several stability fixes have been applied.
495 - Ported Asteroids Example
496     * Modifications to significantly improve performance.
498 - Ported Canvas Example
499     * [139392] Prevented a crash that could occur when adding items after
500       shrinking the canvas to zero width and zero height.
502 - Secure Socket Example
503     * [173550] Usability fixes.
505 ****************************************************************************
506 *                      Platform Specific Changes                           *
507 ****************************************************************************
511     * [169366] Fixed intermittent program hangs in the 64-bit PowerPC
512       implementation used on AIX.
513     * [176192] Fixed the behavior of show() followed by move() to correctly
514       place the window when called before the event loop is running.
515     * [133870] Fixed crashes in the 64-bit PowerPC implementation used
516       on Linux.
517     * [177143] Fixed a bug where the last activated QShortcut would be
518       incorrectly repeated when pressing a key with no KeySym defined.
519     * [171224] Fix copy and paste of non-ASCII text from Qt 3 to Qt 4
520       applications.
521     * Applied a workaround for a bug in gcc 3.4.2 that would cause 64-bit,
522       bootstrapped applications to crash on Solaris.
523     * [170792] Fixed subpixel anti-aliasing of fonts across X11
524       server/clients with different endianness.
526 Windows
527 -------
528     * [172621] Fixed an issue that caused large pixmaps to be printed
529       incorrectly.
530     * [170000, 171239, 173213] Fixed several issues with printing that
531       resulted in single and multipage printing being garbled.
532     * [168642] Fixed an issue with text disappearing when printing.
533     * [175517] Fixed a crash that could occur when calling setNumCopies() on
534       an invalid/non-existing printer.
535     * [173219] Fixed an issue that caused fonts to be incorrectly scaled
536       beyond 64 point font sizes.
537     * [276527] Fixed a memory leak in QWindowsVistaStyle.
539 Mac OS X
540 --------
541     * Note for Leopard pre-release builds: Qt 4.3.x applications running on
542       the August Leopard pre-release (build 9A527) will not show any windows
543       because of a regression in the Carbon library. This has been addressed
544       for a future OS X release. In the meantime, if you *must* test your
545       application against this Leopard build, please contact Trolltech.
546     * [178551] Fixed a regression that made it impossible to deliver mouse
547       move events to other widgets after a double-click on a widget that was
548       immediately hidden as a result of the double-click event.
549     * [172475] Ensured that OpenGL top-level widgets are not repainted when
550       another, independent, top-level widget is resized.
551     * Ensured that the maximized bit is removed when a window is resized by
552       user interaction.
553     * [170000] Fixed an issue that caused QPrinter::newPage() to incorrectly
554       reset the current QPainter state.
555     * [178531] Fixed an OpenGL text rendering issue that could cause garbled
556       text.
557     * [171173] Fixed a crash at application exit that could occur if
558       accessibility features had been used.
559     * [175164] Fixed a regression where font base lines for labels,
560       checkboxes and radio buttons were not properly aligned.
561     * [173007] Fixed a regression that prevented qt_mac_set_native_menubar()
562       from working.
563     * [130809] Ensured that bold fonts are used correctly when generating
564       PDFs.
565     * [164962] Improved support for Mac drawers in QMainWindow.
567 Qtopia Core
568 -----------
569     * Ensured that the font database cache is preserved across QWS server
570       restarts.
571     * Made some start-up time improvements for the server process.
572     * [272527] Fixed a bug in the internal crash handler that released
573       resources in some non-fatal incidents.
574     * [169569] Fixed a bug that caused uninitialized data to be blitted to
575       the screen when a window was shown and resized before the first paint
576       event.
577     * [274291] Added support for setting the QT_QWS_FONTDIR environment
578       variable to set the font installation path.
579     * [174264] Fixed synchronization of QDirectPainter::startPainting() to
580       be able to guarantee that QDirectPainter::allocatedRegion() returns
581       the correct result.
582     * [175994] Fixed missing updates in parent and sibling widgets when
583       using the QWindowSurface::buffer() and QWindowSurface::flush()
584       mechanism to paint outside a paint event.
585     * [170488] Implemented true synchronous behavior when creating a
586       QDirectPainter with the ReservedSynchronous flag.
587     * [275284] Fixed implementation of the Hybrid OpenGL integration.
588     * [178269] Fixed loading of the VNC screen driver when compiled as a
589       plugin.
590     * [178261] Fixed loading of the Transformed screen driver when compiled
591       as a plugin.
592     * [276651] Fixed mouse calibration in some configurations when using the
593       tslib mouse driver.
594     * [173037] Fixed re-entrancy problem that could cause
595       QClipboard::mimeData() to block in some situations.
596     * [174076] Added the QWS_CONNECTION_TIMEOUT environment variable to
597       allow the time out to be customized for client applications connecting
598       to the QWS server.
599     * [167661] Added support to enable some "broken" BMP images to be
600       rendered correctly.
601     * [176445] Added support for the Glib event loop; this is disabled by
602       default.
603     * Added livelock protection: events from the QWS server can no longer
604       starve local timer events or posted events.