Qt 3.3.3 is a bugfix release. It maintains both forward and backward compatibility (source and binary) with Qt 3.3.2, Qt 3.3.1 and Qt 3.3.0. **************************************************************************** * General * **************************************************************************** Compilers --------- Added support for GNU gcc on AIX 64-bit. Fixed the issue of some compilers that produced bad output when compiling qlocale.cpp with -O2. Fixed include path problem with MinGW. Meta Object Compiler (moc) -------------------------- Allow classnames containing the substring 'const' in signal parameters. Qt Assistant ------------ Fixed crash when an empty file is part of the profile. Qt Designer ----------- Fixed occasional crash when closing the form window. Fixed bug that removed '@' characters from .pro files. Fixed bug resulting in invalid code for radio buttons with strong focus. Fixed crash when custom widget plugins based on QComboBox were edited or previewed in certain styles. Fixed bug in loading enum properties (e.g. slider tickmarks). Handle comments of the form '# {' correctly. Handle '$${}' variable expansion correctly. Fixed missing actions in drop down action groups created with the menu editor. Made sure that the item labels for toolboxes can be translated. Added CTRL + Key_Q as a shortcut to quit. Do not add unnecessary blank lines in .pro files. **************************************************************************** * Library * **************************************************************************** General Fixes ------------- - Drag and drop Handle filenames with '#' characters properly. - QAccel Fixed bug where Alt + non-ASCII letter would require an additional Shift. - QButtonGroup Don't navigate out of the button group with the arrow keys. - QComboBox Don't close the combobox when holding space down while clicking. (Fixes GUI lock-up on Windows.) - QDateTimeEdit Propagate enabled state correctly when adding a QDateEdit/QTimeEdit to a disabled parent. - QDataStream Fixed bug involving the output of doubles/floats in printable mode. - QFileDialog Fixed crash when calling setContentsPreview() twice. - QFontDatabase Made Tibetan text work even without OpenType tables. When using XLFD fonts, make sure that the size selected actually supports the script. Fixed bug that caused fixed-pitch XLFD fonts to be reported as variable pitch. Fixed some issues in the CJK compatibility area, where we did not always pick the correct CJK font. Made isSmoothlyScalable() work when a font only exists in bold. Fixed bug where font metrics for Asian fonts were wrong in some circumstances. Fixed bug involving certain open source Arabic fonts. - QFontDialog Resize OK/Cancel buttons properly with large font sizes. - QFtp Allow connection to FTP servers that return lower-case month names. - QImage Included fix for buffer overflow in libPNG. Fixed bug that made copy constructor not copy the entire image. Allow XPM images with colors that have more than one word in the name. Fixed crash when trying to load a corrupt/invalid BMP image. Fixed crash when trying to load a corrupt/invalid GIF image. Fixed crash when trying to load a JPEG image that is too big. Fixed bug that caused dotsPerMeter() to be ignored when saving JPEG images. - QLineEdit Fixed memory leak for line edits with masks. Fixed bug where QLineEdit::text() would return a null QString when an input mask was set on an empty line edit. Don't scroll when the text is wider than the widget. - QListView Don't select a non-visible item when Right arrow key is pressed. Fixed crash in setOpen(QListViewItem*, bool). - QLocale Now supports string-to-int conversions with base up to 36. Handle space as a separator for large numbers in toDouble(). - QMovie Fixed offset bug. - QPainter Don't crash if setWorldMatrix() is called on a painter that is not active. - QPicture Fixed bounding rect calculation. - QPixmap Fixed rounding errors in xForm(). - QPopupMenu Fixed updateSize(). Fixed a crash when clearing and inserting new items while the tear off is visible. - QRichText Clear the focusIndicator paragraph when clearing the text. Fixed bug with <td valign="middle">. - QSemaphore Fixed possible starvation in operator-=(). - QSlider Fixed mouse handling for vertical sliders in reverse mode. - QSocket Preserve readBufferSize() when doing connectToHost(). - QSql Fixed crash in ODBC-Driver in connection with Informix SE. - QSqlCursor Fixed bug in del(true) - QSqlQuery Fixed thread reentrancy bug. - QString Made toFloat() fail if the number is too large for a float. Fixed crash in fromUtf8 when argument is not 0-terminated. Don't end up in an endless loop when setLength() is called with a ridiculously large value (> 2^31). - QSvgDevice Fixed some clipping issues. - QTable Fixed memory leak in key event handling. Fixed bug where calling setNumRows() or setNumCols() would not change the sizeHint(). Improved speed of deleting rows/columns in big tables. - QTextEdit Hide the cursor again when a drag leaves the text edit. Don't crash if the text edit is deleted while the popup menu is active. Fixed undo/redo bug in overwrite mode. Fixed crash when entering text in overwrite mode when entire text is selected, on a single line, and the cursor is at the start of the text. - QTextEngine Fixed a small bug in the bidi engine. Fixed two small issues with Bengali rendering. Fixed small issue with Khmer rendering. Fixed an issue with ideographic space (U+0x3000). - QThread Fixed bug on HP-UX when starting a thread with LowPriority. Provide a safety mechanism when trying to use QThreadStorage from non-QThread threads: spit out a warning and do nothing. - QToolBar Create a disabled popup menu when a disabled combobox is added to the extension menu. - QWidget Fixed bug that would sometimes make showMaximized() fail. - QWidgetStack Set background properly when the current page has a maximum size that is less than the size of the QWidgetStack. - QWorkspace Fixed problems involving widgets with size constraints. Don't normalize minimized widgets when cascading and tiling. - QXml Speed optimizations. Platform-Specific Issues ------------------------ Windows: - Drag and drop Ignore drag and drop events for modally shadowed windows. - Build system Fixed qmake problem with QMAKE_EXTRA_WIN_TARGETS. - QApplication Fixed restoring of windows when minimized using something other than the window menu. When restoring a modally blocked application after using "Minimize All Windows" from the task bar, activate the modal dialog rather than the blocked window. Support Unicode application directories in applicationFilePath() independently of the current locale. Fixed accelerators with Ctrl+@ and Ctrl+[ to Ctrl+_ instead. - QAxWidget Fixed bug that could lead to windows no longer responding to mouse events. Fixed bug that would eat a mouse release event in some cases. - QFileDialog Don't let getOpenFileName() fail immediately, even if passed invalid characters. Fixed bug that gave spurious mouse move events to other widgets when closing a file (or printer) dialog. - QFontDatabase Select correct font when family is empty and style hint is set. Fixed problem where Chinese fonts were a pixel smaller than with older Qt versions. - QFtp Improved performance by increasing buffer sizes. - QLocale Obtain correct locale information on Win95, so that QTextCodec::locale() works properly. - QPixmap Fixed problems when alpha blending in 32bpp depth. - QPrinter Fixed problems caused by printing without first calling setup() when using certain printers. - QSettings Fixed bug that would add unnecessary size to the registry on Win98 in some circumstances. - QSocket Worked around Windows bug which caused bytesAvailable() to be 1, even if no data was available. - QSound Removed race condition. - QTextEngine Draw CJK compatibility characters in the 0xffxx range correctly. Fixed crash on invalid UTF-8 when using the newest Uniscribe library on XP. - QWidget Don't clear the maximized state when moving a maximized window. Don't move the widget to a silly position when showMinimized() is called on a visible widget. Let the size grip respect the same size limits as the window manager. Fixed bug where a widget with an empty region as mask would still have one visible pixel. - QWindowsStyle Always underline accelerator cues on Windows 98. - QWindowsXPStyle Draw up/down buttons of QDateTimeEdit disabled when the widget is disabled. Draw toggle-toolbuttons as toggled even if they are not in a toolbar. Mac: - Drag and drop Fixed bug that would disrupt drag and drop when toggling full-screen status. Ignore drag and drop events for modally shadowed windows. Show the correct cursor when copying. - QApplication Fixed bug that could cause crash when allocating and deleting QApplication repeatedly. Properly animate the toolbar button. - QAquaStyle Made sure that OK and Cancel buttons are big enough when icons are added. Fixed bug that would show focus rectangles around hidden widgets in a QScrollView. Fixed drawing errors in QComboBox and QSpinBox when building on Panther and deploying on Jaguar. Fixed bug that caused artifacts on the focus widget when embedded inside a widget with a background pixmap. - QComboBox Fixed crash when calling setListBox() and later popping up the popup list. Fixed size hint problems. - QFileDialog Made the filter functionality work in getSaveFileName(). - QFontEngine Fixed bug showing strikeout text. - QHeader Fixed drawing errors when moving columns. - QListView Don't draw the disclosure triangle for items that aren't visible. - QMenuBar Disable the quit option when there is a modal dialog. - QPixmap Made copyBlt() copy the alpha channel properly again. - QPrinter Fixed page range bug. - QProgressBar Show something for indeterminate progress bars. - QScrollView Fixed colors for the scrollview frame. - QSettings Fixed bug that caused settings files to end up in the wrong place. - QTableHeader Fixed sizing bug. - QWidget Don't disable children of WStyle_Tool widgets. The window proxy icon is only set for document windows. X11: - QApplication Made the '-inputstyle' command line option override the ~/.qt/qtrc setting. Fixed crash when using the QApplication( Display *,...) constructor without any settings file in ~/.qt/. Fixed bug when passing a Tk Visual* to the QApplication constructor. - QClipboard Fixed race condition in clear(). - QFontDatabase Fixed bug that caused some special TTF fonts to display incorrectly. Fixed bug where Qt would not find some non-scalable fonts. - QFontEngine Fixed bug that caused incorrect metrics and drawing in some cases when a painter scales down very large fonts for display. - QMotif Fixed crash when passing X11 command line parameters. Fixed GUI freeze when using the system close menu on a QMotifWidget window with some window managers. - QPainter Fixed memory leak when more than 256 GCs are allocated. - QPrinter Allow multiple space-separated options in setPrinterSelectionOption(). Fixed printing to A3 sized paper. Fixed printing using certain PFB fonts (e.g. the ones generated from TeX). - QWidget Fixed restoration from fullscreen/maximize on non-EWMH supporting window managers. Do not clear the fullscreen/maximize state if the window manager ignores a resize request from Qt. Worked around bugs in window placement for the SGI 4Dwm window manager. Embedded: Makeqpf tool Use the same way of finding the font directory as the rest of Qt. - QVNCServer It is now possible to have several different VNC servers active on the same machine (and even in the same process). Fixed bug connecting a little-endian client to a big-endian server. - QPainter Fixed bug making thick vertical lines one pixel too wide. Worked around compiler bug in gcc 3.3.1 and 3.3.3 (but apparently not in 3.3.2), causing artifacts when drawing anti-aliased text on 16-bpp displays in release mode. - QWidget Avoid creating a paint event in setMask() if the new mask is the same as the old. - QWSManager Fixed crash when widget is deleted during a window system mouse grab. Only move window on left mouse press. - QWSServer Avoid possible race condition in sendPropertyNotifyEvent() when client quits.