1Qt 4.3.2 is a bug-fix release. It maintains both forward and backward
2compatibility (source and binary) with Qt 4.3.0 and Qt 4.3.1.
3
4The Qt version 4.3 series is binary compatible with the 4.2.x, 4.1.x and
54.0.x series. Applications compiled for Qt 4.0, 4.1 or 4.2 will continue to
6run with Qt 4.3.
7
8****************************************************************************
9*                           General                                        *
10****************************************************************************
11
12General Improvements
13--------------------
14
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 GPL Exception Version 1.1 page in the documentation
20      for more information.
21
22Tools
23-----
24
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.
30
31Build System
32------------
33
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.
62
63I18n
64----
65    * Fixed a crash in lupdate/lrelease that could occur if the XML parser
66      reported an error.
67
68****************************************************************************
69*                           Library                                        *
70****************************************************************************
71
72General Improvements
73--------------------
74
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.
79
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.
94
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.
100
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.
106
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.
111
112- QColorDialog
113    * [153436] Fixed a crash in QColorDialog that could occur when choosing
114      a color in the Gray colorspace.
115
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.
127
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.
132
133- QDataWidgetMapper
134    * [172427] Fixed a crash that could occur when submitting data from the
135      mapped widget to the model.
136
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.
141
142- QDir
143    * [176078] Fixed a crash that could occur when entering directories with
144      very long path entries.
145
146- QDirIterator
147    * [176078] Fixed a crash that could occur when entering directories with
148      very long path entries.
149
150- QDockWidget
151    * [174249] Fixed bug where it was possible to dock into a minimized
152      QMainWindow.
153
154- QFile
155    * [175022] Fix regression in handle() on Windows.
156
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.
169
170- QFontDatabase
171    * [176450] Added some missing tr() calls and made all strings
172      localizable.
173
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.
178
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.
183
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.
194
195- QGraphicsItem
196    * [174299] Fixed and improved bounding rect calculations for most
197      standard items.
198
199- QGraphicsScene
200    * [174450] Flat items are now rendered correctly also when NoIndex is
201      set.
202
203- QGraphicsTextItem
204    * [174429] This item now respects QGraphicsItem::ItemClipsParentToShape.
205
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.
210
211- QHeaderView
212    * [178483] Prevented crash that could occur when recomputing the layout
213      under certain conditions.
214
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).
225
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.
231
232- QItemDelegate
233    * [173969] QDoubleSpinBox editors now allow negative input.
234    * [179119] Item checkboxes were rendered without a margin.
235
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.
239
240- QLayout
241    * Fixed a performance regression from Qt 4.2 related to the introduction
242      of QStyle::layoutSpacing().
243
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.
247
248- QListView
249    * [270837] Fixed assert that could occur when setting a root index with
250      no children in icon mode.
251
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.
256
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.
262
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.
270
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.
275
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.
283
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.
288
289- QPicture
290    * [168621] Ensured that the correct scale is used when rendering to a
291      device with different x and y resolutions.
292
293- QPixmap
294    * Ensure that the proper color space is used in QPixmap::grabWindow() on
295      Mac OS X.
296
297- QPlastiqueStyle
298    * [174104] Fixed a regression in Plastique that caused spin boxes to
299      have incorrect heights.
300
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.
309
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.
313
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.
322
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.
328
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.
337
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.
344
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.
349
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.
354
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.
360
361- QTextBrowser
362    * [173945] Fixed bug that could prevent scrolling to an anchor in an
363      HTML file from working successfully.
364
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.
377
378- QTextLayout
379    * Fixed a regression in the line breaking algorithm that lead to wrong
380      results for justified text.
381
382- QTextStream
383    * [174516] (Windows) Fixed a bug in readLine() when reading "\r\r\n"
384      from devices opened in QIODevice::Text mode.
385
386- QToolBar
387    * [270967] Fixed the behavior of floating toolbars.
388
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.
403
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.
409
410- QUtf8Codec
411    * [175794] Fixed an off-by-one buffer overflow bug.
412
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.
419
420- QWizard
421    * [177716] Ensured that the commit button is enabled and disabled
422      correctly according to QWizardPage::isComplete().
423
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.
429
430- Q3Action
431    * [175536] Fixed a formatting error in the tool tip string
432      representation of actions with shortcuts.
433
434- Q3ButtonGroup
435    * [177677] Fixed a application freeze that could occur when resetting
436      the ID of a button inside a button group.
437
438- Q3FileDialog
439    * [165470] Fixed broken scrolling behavior that occurred after toggling
440      between detail/list view mode.
441
442- Q3Header
443    * [176202] Fixed memory leak when replacing icons using setLabel().
444
445
446****************************************************************************
447*                          Tools                                           *
448****************************************************************************
449
450Build System
451------------
452
453- Q3ToolBar
454    * [176525] Ensured that the tool buttons of a vertical tool bar are
455      center-aligned instead of left-aligned.
456
457I18n
458----
459    * Fix crash in lupdate/lrelease that occured if the xml parser threw an error.
460
461Linguist
462--------
463
464    * [276076] Let Linguist show existing translations to other languages
465      as "auxillary sources"
466
467
468****************************************************************************
469*                           Library                                        *
470****************************************************************************
471
472
473****************************************************************************
474*                          Database Drivers                                *
475****************************************************************************
476
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.
484
485****************************************************************************
486*                               Examples                                   *
487****************************************************************************
488
489- Draggable Text Example
490    * Fixed usability bugs.
491
492- Torrent Client Example
493    * Several stability fixes have been applied.
494
495- Ported Asteroids Example
496    * Modifications to significantly improve performance.
497
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.
501
502- Secure Socket Example
503    * [173550] Usability fixes.
504
505****************************************************************************
506*                      Platform Specific Changes                           *
507****************************************************************************
508
509X11
510---
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.
525
526Windows
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.
538
539Mac 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 us.
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.
566
567Qtopia 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.
605