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.