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.