Qt 2.2.1 is a maintainance release. It keeps backward binary compatibility
with Qt 2.1 and both forward and backward source compatibility with Qt 2.2.x.

Qt 2.2.0 had a binary compatibility problem with the following:

   bool QRect::contains( const QRect &r, bool proper=FALSE ) const

Qt 2.2.1 corrects this. Programs compiled with 2.1.x now continue
running with 2.2.1. Programs compiled with versions other than 2.2.0
may not run with 2.2.0, so upgrading to 2.2.1 is additionally important.


****************************************************************************
*			    General					   *
****************************************************************************

- Various compilation problems on particular platforms fixed

- Many improvments in QThread. More platforms supported
  (e.g. HPUX 11.x), uses native threads on Solaris rather than
  compatibility posix threads

- A few newly discovered memory leaks and free memory reads fixed

- As usual, many minor bugfixes, too small to be mentioned here.


****************************************************************************
*			   Designer					   *
****************************************************************************

- in KDE mode: don't show all KDE widgets in the toolbars, since we do
  not have icons for them (yet). They are accessible through the menu
  structure, though.

- Introduced concept of a global /etc/designerrc and a templatePath
  for the sake of Linux Standard Base (LSB) and the way Linux
  ditributors like to package the Qt Free Edition.

- Support for tab names in a QTabWidget, and page names in a QWizard.

- Support for button IDs in a button group, makes it possible to utilize
  one single slot for all buttons in a group.

****************************************************************************
*			   Library					   *
****************************************************************************

QClipboard: 	X11 only: fixed occasional crashes, possibly corrupted
		list of provided types and hangups of several seconds under
		certain circumstances.

QFileDialog:	Fixed update when renaming a file to an existing file
		Unix only: Reset error status after attempting to read an
		empty file
		Fixed magical resetting of the "Open" label
		Fixed duplicate entries in the history combobox

QFont:		Fixes for Hewbrew, Arabic and Thai encodings
		Added support for Ukrainian encodings
		X11 only: loading fonts for a locale other than the
		current now possible (allows displaying japanese characters
		in a latin1 application without relying on the existence of
		a unicode font)

QHeader:	removing labels fixed, important for QTable and QListView

QIconView:	drawing problem with missleading font metrices and
		bounding rectangles fixed

QInputDialog,
QMessageBox:	use the main widget's or parent's icon if available

QLayout:	synchronize the behaviour of sublayouts and subwidgets with
		layouts.

QLineEdit: 	Update cursor position if QValidator::fixup() truncates the
		string

QMainWindow:	Fixed calculated minimum size. Sometimes, the minimum width
		of the central widget was disregarded.

QMenuBar:	Sizing fixed for frameless menubars in toolbars in
		Motif-based styles

QMotifPlusStyle: correct drawing of triangular tabs

QMovie:		keep frameImage() during EndOfMovie signal

QDom:		add comments when reading a xml file into the dom

QPrinter:	MS-Windows only: Fixed invalidation when setup dialog was
		cancelled

QSgiStyle:	Small drawing problem with QTabBar fixed.
		Fixed drawing of special prefix in menu items

QSizePolicy:	setHeightForWidth() was broken, works now

QTextCodec:	significant speedups for latin1 conversion

QTextStream:	small speed improvements for readLine()
		Added codec for ukrainian (koi8-u) encoding

QWheelEvent:	Support for the MSH_MOUSEWHEEL extension on MS-Windows 95

QWidget:	X11 only: Fixed possible mouse lock-ups when re-entering
		the event loop on mouse events for widgets of type
		WType_Popup.
		X11 only: set input context when setting the active
		window
		X11 only: when dialogs were closed, the main window looked
		like it	lost focus with some window managers. This has been
		fixed now.

QWidgetStack:	potential flicker issue fixed

QWorkspace: 	normalize minimized children when they get focus
		removed occasional flashing (e.g. when maximizing child
		windows)
		Look and feel adjustments to emulate MS-Windows even
		closer
		Documented that the active window can be 0 if there is no
		active window
		Slightly modifed the button decorations to be more general
		and less KDE2 specific


****************************************************************************
*               Changes that might affect runtime behavior                 *
****************************************************************************

QLayout:

We synchronized the behaviour of sublayouts and subwidgets with
layouts. This shows great effect in the designer, were you usually
operate on container subwidgets in the design phase, but get a
complete layout in the preview mode or the generated code. For
example, the influence of a spacer item on a sublayout's size policy
has been reduced. The modifications may slightly affect the layout of
some dialogs.


****************************************************************************
*		    Qt/Embedded-specific changes		           *
****************************************************************************

- Rotated displays & fonts
- QCOP, a simple interprocess messaging system
- Threading support
- Auto-detected mouse
- VGA16 support
- Improved thick lines
- Optimize some double-painting
- Allow setting of custom 8bpp colors: QApplication::qwsSetCustomColors()
- Fix masked widget drawing and clicking
- Fix mouse grabbing for popups