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.