Qt 3.3.8 is a bug-fix release. It maintains both forward and backward
compatibility (source and binary) with Qt 3.3.7, Qt 3.3.6, Qt 3.3.5, 3.3.4, Qt 3.3.3,
Qt 3.3.2, Qt 3.3.1 and Qt 3.3.0.

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

Platforms
---------

- Oracle driver now builds on HP-UX

Compilers
---------

Linguist
--------

- Fixed a bug where the translation area was not changed when the context was changed.

Assistant
---------

- Fixed command line parsing when specifying the docPath option.

Translations
------------

- Added support for Catalan.

Third party components
----------------------

- libpng

  * Security fix (CVE-2006-3334): Buffer overflow allows context-dependent
    attackers to cause a denial of service and possibly execute arbitrary
    code via unspecified vectors related to chunk error processing.

  * Security fix (CVE-2006-5793): The sPLT chunk handling code
    uses a sizeof operator on the wrong data type, which allows
    context-dependent attackers to cause a denial of service (crash)
    via malformed sPLT chunks that trigger an out-of-bounds read.

  * Security fix: Avoid profile larger than iCCP chunk.
    One might crash a decoder by putting a larger profile inside the
    iCCP profile than is actually expected.

  * Security fix: NULL pointer dereference.

  * Disabled MMX assembler code for Intel-Mac platforms to work
    around a compiler bug.

  * Disabled MMX assembler code for x86_64 platforms.

- freetype

  * Security fix (CVE-2006-0747): Integer underflow allows remote
    attackers to cause a denial of service (crash) via a font file
    with an odd number of blue values, which causes the underflow
    when decrementing by 2 in a context that assumes an even number
    of values. 

  * Security fix (CVE-2006-1861): Multiple integer overflows allow
    remote attackers to cause a denial of service (crash) and possibly
    execute arbitrary code.

  * Security fix (CVE-2006-2661): A null dereference flaw allows
    remote attackers to cause a denial of service (crash) via a
    specially crafted font file.

  * Fixed memory leak.


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

General Fixes
-------------

- QAccessible
        Fixed a potential crash when a key object is destroyed.

- QApplication
        argc() no longer returns 1 if 0 was passed as argc to the constructor.

- QDateTime
        Made QDateTime::fromString(QString(), Qt::TextDate) work with locales
        that have two-digit day names (e.g. Di 16. Jan).

- QDns
        Stability fixes for networks with missing DNS settings.

- QFileDialog
        Ensured that files are not accidentally replaced or lost during drag 
        and drop operations.

- QFtp
        Fixed a crash when uploading data from a closed QIODevice.
        Fixed a potential crash when a FTP session gets deleted in a slot.
	
- QGLWidget
        renderText() no longer tries to convert the text passed in to
        a local 8 bit encoding (via local8Bit()). latin1() is used instead.

- QGridLayout
        Fixed incorrect minimum size with rich text labels in grid layouts.

- QHttp
        Fixed an overflow that could occur when chunked downloading caused
        erroneous allocations.

- QListBox
        Fixed a potential crash that could occur if a list box is deleted in
        a slot connected to the returnPressed() signal.

- QListView
        Set internal startDragItem pointer to 0 in clear(). This can prevent
        crashes during drag and drop operations.
        Fixed a documentation error in setSelectable.
        Fixed regression in activation of leaf-nodes of type QCheckBoxController.

- QTable
        Fixed a memory leak when F2 is pressed in an empty table.
        Ensured that the focus rectangle is painted correctly.
        Ensured that editors in cells spanning multiple rows or columns are
        closed correctly.
	
- QTextEdit
        setDocument() no longer crashes when 0 is passed as an argument.
        Fixed rendering of HTML tables with a fixed pixel width.
        Fixed a potential crash when using undo/redo functionality.
        Fixed a regression when searching for space using QTextEdit::find().

- SQL plugins
        Ensured that mysql_server_end() is only called once in the MySQL plugin.
        Fixed fetching of strings larger than 255 characters from a
        Sybase server through ODBC.
        Ensured that milliseconds are not stripped from ODBC time values.

- QWidget
        Fixed an issue where adjustSize() would incorrectly take the size of
        top-level widgets into account.


Platform-Specific Issues
------------------------

Windows:

- QAxServer
        Fixed a regression in how the server registers type libraries.

- Visual Studio 2005
        Fixed compilation issue with the x64 compiler.
        Fixed the behavior of qmake when executed with "qmake -tp vc".

- QFont
        Fixed crash that would occur when creating a font from an invalid string.
        Fixed metric problems.

- Fixed possible infinite loop when drawing text.
	
- Fixed an issue where flags specified by QMAKE_LFLAGS_RELEASE would not be
  included in generated Visual Studio project files.
	
- Fixed issue that caused wizards to use the wrong class in the QMsDev plugin

- Fixed an unexpected remote close in QSocket for Windows servers with a high
  load.

- Fixed crash in QFileDialog.

- Fixed a regression in QWindowsXPStyle where tab widget backgrounds were
  incorrectly propagated into child scroll views.
  
- Fixed issues related to using SJIS TextCodec with QSettings.

- Fixed issue where a fixed size widget could change size after changing screen
  resolution.

- Fixed support for the Khmer writing system.


Mac OS X:

- Made the endian preprocessor define dependent on the architecture. This means
  that it is possible to build a universal Qt library on one machine. However,
  qmake_image_collection.cpp is still dependent upon the machine it was
  generated on.

- QComboBox
        Fixed an issue where the popup would stay open after the window had
        been minimized.
  
- QFont
        Fixed support for QFont::setStretch().

- QMacStyle
        Fixed centering of items in large comboboxes.
        Fixed editable comboboxes so that they don't truncate text.
        Added support for Panther-style tabs for tabs on the bottom of a tab
        widget.

- QPrinter
        Fixed Intel endian bug in printing of pixmaps with a mask/alpha
        channel.
        Fixed regression where active tool windows would always be disabled

- QGLContext
        Fixed a tearing issue caused by incorrect vertical sync.

- Fixed a rendering issue with transparent cursors on Intel macs.

- Fixed a rendering issue with icons in the dock on Intel macs.

- Fixed a crash when playing back a file that does not exist.

- Fixed a regression where full keyboard access was not being honored.

- Fixed a regression preventing static file dialogs from being opened in a
  contextMenuEvent() handler.
 
- Fixed a regression in navigating nested popup menus.


X11:

- Fixed rendering of Japanese text with XLFD fonts.

- Fixed rendering of text with stacking diacritics.

- Rendering fixes for Indic scripts.

- Fixed problem with applications hanging while querying the clipboard. This is
  related to the KDE bug reported at http://bugs.kde.org/show_bug.cgi?id=80072.

- Fixed a crash that could occur when Qt uses a DirectColor visual.

- Fixed a rare crash in QPixmap::convertToImage() when XGetImage() fails.

- Fixed issue where events were not being processed by Qt when using the Qt
  Motif Extension.

- The X input method language status window is no longer shown for popup menus
  on Solaris.

- Fixed incorrect use of colors when painting on the default (TrueColor) screen
  when running a Qt application on a multi-screen display where the default
  screen uses a TrueColor visual and the secondary screen a PseudoColor visual.

- Fixed a bug where calling newPage() directly before destroying the QPrinter
  caused the last page to be printed twice.

- Fixed a bug on older Unix systems where incorrect font sizes could get used
  when printing in HighResolution mode.

- Fixed a crash when trying to load huge font files.

- Ensured that fonts containing a '-' in the family name are correctly loaded.

- Ensured that the QFont::NoAntialias flag is always honored.

- Fixed incorrect shaping of some character combinations when writing Bengali.

- Introduced workaround for some Arabic fonts with broken OpenType tables.

- Fixed a bug where the wrong braces would get used when using the Hebrew Culmus
  fonts.

- Fixed crash in qtconfig when removing or shifting font substitution families.
