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.