Qt 3.3.2 is a bugfix release. It maintains both forward and backward
compatibility (source and binary) with Qt 3.3.1 and Qt 3.3.0.
****************************************************************************
* General *
****************************************************************************
Compilers
---------
MinGW: It is now possible to build the WinXP style on MinGW.
FreeBSD: Enable DragonFly to build Qt with its native compiler.
Mac: Assistant builds with Professional edition when Fink is installed.
AIX: Fixed compile problem with OpenType.
Tru64: Correctly detects the Compaq C++ compiler.
HP-UX 64: Fixed link failure for Designer.
Intel: Fixed compile failure on icc version 8.0 p42+.
Qt/Embedded: Compiles with gcc 3.4.0 (prerelease).
Added macro QT_QLOCALE_USES_FCVT for systems with non-IEEE-compliant
floating point implementations (notably some versions of ARM
Linux). These systems are not autodetected; use
"-DQT_QLOCALE_USES_FCVT" as a parameter to ./configure.
Qt Designer
-----------
Allows saving of the column and label information for QDataTable, even
when Qt is compiled without the SQL module.
Fixed data corruption in .pro files with whitespace.
Fixed crash on closing a new, modified, unsaved C++ file.
Fixed crash with QicsTable.
Fixed corrupted .ui files caused by '<' or '>' in the object name.
Fixed freeze when opening a modal Wizard Dialog from file.
Fixed crash when adding a new separator using drag and drop.
Qt Assistant
------------
Fixed the Settings font combobox to not re-add font entries.
****************************************************************************
* Library *
****************************************************************************
General Fixes
-------------
- QAction
Fixed bug when adding invisible/disabled actions to
visible/enabled action groups.
- QCanvas
Cleans up old animations in setCanvas().
- QClipboard
Fixed potential double deletion in clean up.
- QColorDialog
Fixed crash when running on very small screens (less than
480x350).
- QDateEdit
Fixed bug that would accept invalid dates when losing focus.
- QDialog
Made showMaximized() and showFullScreen() work for dialogs
again.
- QDns
Improved handling of literal IP addresses for both IPv4 and
IPv6.
Improved handling of disappearing/reappearing name servers.
- QFont
Fixed handling of Oblique fonts.
- QImage
Fixed crash when loading MNG animations.
- QLabel
Fixed bug with labels without buddies that have '&' in the
text.
- QLineEdit
Handles input method events according to the specification,
fixing severe problems with Korean input on Windows. This
change could show up problems with buggy input methods.
Fixed disappearing cursor for right-aligned text and Xft1.
- QListBox
Fixed bug in itemAt() when listbox has wide line/framestyle.
- QListView
Fixed problem with editor sometimes having zero width.
- QLocale
Fixed crash on FreeBSD/Alpha.
- QPainter
Fixed QPicture transformation bug.
- QPopupMenu
Fixed crash-on-exit bug when using floating menus.
- QRegExp
Fixed bug with patterns of the form "^A|B".
- QSocket
Fixed bug where connecting two QSockets simultaneously would
cause both to connect to the same address.
Fixed bug where ErrConnectionRefused would not be emitted in
rare cases.
- QSql
Fixed data corruption in OCI driver.
Fixed data corruption with SQLite driver when using non-UTF-8
databases with special characters.
Updated to work with SQLite version 2.8.13.
- QString
Made string-to-number conversions interpret strings according
to the current locale.
Fixed the format of the %p sprintf flag.
Perform sanity check on the length parameter to fromUtf8().
Fixed toDouble() to again return a value even when failing on
trailing whitespace.
Performance optimization for startsWith()/endsWith().
- QTable
Fixed crash caused by calling addLabel() on a horizontal header
when there are no columns in the table.
Fixed crash that occurs when deleting a QTable while editing
a cell.
Made it possible to override the grid line color.
Fixed selectionChanged() to be emitted correctly when dealing
with selections of multiple items.
- QTabWidget
Fixed setAutoMask().
- QToolButton
Icon and label now move the same distance when pressed.
- QTextEdit
Does not override Ctrl+Alt+key accelerators.
Performance optimization: do not call ensureCursorVisible() when
isUpdatesEnabled() is not true.
Fixed crash when using removeParagraph() to remove QTextTable
items.
Fixed data corruption when saving documents with overline or
strikeout.
- QTextBrowser
Fixed Purify warning about array-bound reads.
- QVariant
Fixed bug in detaching LongLong and ULongLong values.
- QWidget
Made showMaximized()/showFullScreen()/showMinimized() work
correctly again.
Posts events from the windowing system as before.
- QWizard
Does not show enabled Next button on the last page if the
Finish button was enabled on an earlier page.
- QWorkspace
Scales down maximize icon correctly.
Fixed active window/focus bug.
Ensured that children added to invisible workspaces are
painted correctly.
Fixed flicker with tooltips for maximize, minimize and close
buttons.
- QXml
Fixed bug causing data corruption when reading invalid XML
files.
Platform-Specific Issues
------------------------
Windows:
- QApplication
Does not handle GUI messages for non-GUI appliations.
Disabled MenuItem highlight color for XP in non-themed
Classical Style.
- QContextMenuEvent
Made right mouse button send menu event also for popup widgets
such as the QListBox in QComboBox.
- QDesktopWidget
Made qApp->desktop()->size() give the correct size after a
display resolution change.
- QFont
Loading a Japanese font using the English name now works when
running in a Japanese locale.
- QLineEdit
Fixed drawing problems that affected very long strings and the
handling of trailing spaces when using Uniscribe.
- QPainter
Fixed possible crash in setBrush().
Draw bitmaps using painter's foreground color when painter is
using a complex transformation.
Fixed inter-letter spacings for scaled fonts.
- QPrinter
Fixed crash when using buggy printer drivers.
- QSound
Made setLoops(-1) work again (plays the sound in a loop).
Made setLoops(0) play no sound.
Made setLoops(1) set isFinished() correctly.
Fixed memory leak.
If a new sound is started then stop the existing one, and play
the new one.
- QTextEngine
Performs auto-detection of Asian scripts even if Uniscribe is
not installed.
- QWidget
Returns correct isMinimized/isMaximized state if an application
is started through a shortcut using "Minimized" or "Maximized".
Mac:
- QAccel
Solved the problem where we received two accel override events
for each keypress.
- QApplication
Uses better technique for obtaining applicationFilePath().
Allows non-GUI applications to run without the GUI.
Stopped using EnableSecureEventInput() because of
Jaguar/Panther compatibility problems.
Updates the text highlight color when the system changes it.
- QClipboard
Fixed posting to the clipboard and access rights.
- QComboBox
Ensures that the item list stays within the screen size.
- QCursor
Uses native splitter cursors when available.
- QFontMetrics
Fixed fontmetrics for Asian fonts.
- QLineEdit
Uses secure keyboard input in Password mode, so that keyboard
events cannot be intercepted.
- QMacStyle
Fixed painting of radio buttons to be perfectly circular.
- QMenuBar
Fixed bug when using pixmaps without an alpha channel.
- QPainter
Improved raster operations.
Made custom bitmap brushes work.
Draws text using painter's foreground color.
- QPrinter
Ensures that the printer name and page range are correct after
setup.
Always uses the native print dialog.
Implemented setPageSize() and pageSize() properly.
Made QPrinter work when no printer is installed.
Fixed font width bug in postscript when font embedding is
disabled.
- QSettings
Returns correct value for global settings when scope is User.
- QSlider
Fixed drawing of tickmarks when minimum value is non-zero.
- QStyle
Does not change pixmap of QToolbutton if the button is not
auto-raised.
- QWidget
Fixed bug where the toolbar is partially hidden when showing a
mainwindow in fullscreen mode.
Made WStyle_StaysOnTop work in the same way as on the other
platforms.
Fixed bug in maximizing windows with a maximum size.
- QWorkspace
Fixed bug giving frozen child windows when maximizing and
restoring.
X11:
Fixed crash bug when using X Input Method Chinput.
- Drag and Drop
Ignores accelerator events when dragging.
- QClipboard
Fixed bug where data()->format() would return the wrong value.
Fixed potential crashes with regards to iterators.
- QFont
Avoids badly scaled fonts, and prefers exact matches.
Made sure symbol fonts get loaded correctly.
Made it possible to load Latin fonts that do not contain the
Euro symbol.
Fixed glyph width bug observed with some Khmer fonts.
Fixed crash with misconfigured Xft.
Fixed problem with font selection for Xft2 when having Latin
text with non-Latin locale.
Respects custom dpi settings for Xft.
Does not use Xft if we have FreeType1 but no XRender.
Fixed memory leak in the font engine when drawing transformed
fonts.
- QGL
Fixed crash when rendering text in GL widgets.
- QLocale
Tru64: Fixed crash when INFINITY is compared to another double.
Tru64: Uses DBL_INFINITY for Compaq C++ compiler.
- QMimeSource
Does not re-enter the event loop in provides().
- QPainter
Fixed rendering of anti-aliased text on non-XRender enabled
displays.
- QPrinter
Fixed setFromTo().
Fixed printing of Arabic text with XLFD fonts.
- QTextEdit
Fixed bug with extremely long lines.
- QThread
Fixed bug that made program require superuser privileges on
some Linux machines.
- QWidget
Fixed showFullScreen() and showMaximized() for window managers
that do not support extended window manager hints (EWMH).
Embedded:
- QFontInfo
Made QFontInfo work properly on Qt/Embedded.
- QGfxVNC
Fixed crash if VNC viewer is closed while Qt/E is painting.
- QWidget
Uses correct focus handling if the focus widget is hidden or
deleted while a popup is open.
Linux virtual console switching:
Fixed race condition in handling of virtual console switching
that could cause a deadlock in some cases.
Switch consoles on key press event.
Fixed QWSServer::hideCursor()/showCursor() display locking bug
which could block client processes.