Qt 4.3.3 is a bug-fix release. It maintains both forward and backward compatibility (source and binary) with Qt 4.3.0 through Qt 4.3.2. The Qt version 4.3 series is binary compatible with the 4.2.x, 4.1.x and 4.0.x series. Applications compiled for Qt 4.0, 4.1 or 4.2 will continue to run with Qt 4.3. **************************************************************************** * General * **************************************************************************** General Improvements -------------------- - Legal * This version adds the Common Development and Distribution License (CDDL) to the GPL Exception for developers using the Open Source Edition of Qt. See the GPL Exception Version 1.1 page in the documentation for more information. * This version upgrades the Qt Commercial License to version 3.4, the Qtopia Core Commercial License to 1.2 and the Qt Academic License to 1.4 Build System ------------ * [177865] Fixed the Unix configure script to correctly identify g++ 4.3.0 as "g++-4" in the build key. * [186588] Added the missing QSsl forwarding header file. * [181414] Fixed an issue that caused moc to bail out on C++0X >> as used in some templates. **************************************************************************** * Library * **************************************************************************** - QDir * [186068] Fixed documentation for QDir::CaseSensitive. * [177988] Fixed a regression from 4.2.3 causing entryList() to ignore QDir::System. - QDirIterator * [185502] Fixed fileInfo() which could return an incorrect value for some paths. - QDockWidget * Fixed an issue that caused close buttons of dock widgets to be hidden when they were resized to their minimum sizes. * [180199] Dock widgets with vertical title bars can now be re-docked on Mac OS X. * [184668] Fixed crash that could occur when setting the title bar widget twice. - QFileDialog * [178894] Fixed a bug that prevented the OK button from being enabled when there were files selected, but no current file. * [179146] Fixed abug in selectFile() that prevented the selection from being cleared when called with an empty string. * [279490] Ensured that filesSelected() is emitted in AnyFile mode and directoryEntered() is emitted when the sidebar is clicked. * [277161] Fixed a bug that caused incorrect permissions for files to be obtained, resulting in the Delete action being incorrectly enabled. * [184314] Fixed an assertion in completer on Windows and fixed top- level completion on all platforms. - QGLWidget * [177996] Fixed a crash that could occur when drawing QImages created outside of the GUI thread. * [180832] Fixed potential crashes in renderText(). - QGraphicsScene * [182442] Fixed regression from 4.2 that could cause a crash when deleting a scene being viewed by more than one view. - QGraphicsTextItem * [181027] Fixed regression from 4.3.0 that caused movable text items to jump around. - QHeaderView * [178483] Fixed crash that would occur when attempting to compute a visual index for an invalid model index. * [182501] Fixed regression that caused stretched sections to use the minimum size when not visible. - QTableView * [175328] Fixed grid drawing errors in table views containing spanned items. - QListView * [184204] Fixed broken layout in right-to-left mode with no horizontal scroll bar. - QTreeView * [182041] Fixed problem with drag and drop in cases where the columns were swapped. * [186624] Fixed branch expanding animation. - QItemDelegate * [181221] Fixed problem with the rectangle that was used to check the mouse coordinates when clicking on the check box. - QHttp * [178715] Fixed a problem where QHttp would not correctly parse the server response if Content-Length was 0 and authentication was required. * [170860] Fixed a problem where QHttp would emit the done() signal if the HTTP proxy server closed the connection after requesting authentication. - QLabel * [173188] Fixed QLabel::setAlignment(Qt::AlignJustify) to have the desired effect. - QMainWindow * [154834] Fixed restoreState() to be able to load data from previous minor releases. * [179713] Fixed failed assertions when inserting toolbars. * [180824] Fixed a crash when removing a toolbar on a main window with the unifiedTitleAndToolBarOnMac property set. - QMdiArea * [185281] Fixed a bug where closing a modal dialog caused a different sub-window to be activated. - QMdiSubWindow * [183647] Improved WindowBlinds support. * [188849] Fixed a crash that occurred when using a regular QWidget as the menu bar in a QMainWindow. - QMenuBar * [173556] Fixed a bug where the corner widgets did not swap sides when changing layout direction. - QProcess * [180836] Fixed issue with defunct processes on Unix. - QPainter * Made the QPainter::drawText() overload with the QTextOption argument support justified text. * [179726] Fixed a problem with the bounds calculation for handling fallback in certain painting operations. This could be perceived as a clipping bug on some platforms. - QPainterPath * [169280, 170046, 173034] Fixed cases where calling QPainterPath::united(), QPainterPath::intersected(), or QPainterPath::subtracted() would cause infinite loops or would not produce the expected result. * [178260] Fixed a bug in the stroking of painter paths which could cause uninitialized data access for paths with extreme curvature. * [183725] Fixed a bug where intersecting a path against itself would return an empty path. - QPixmap * [178986] Fixed a regression from 4.2: image/pixmap scaling caused the sampling to be shifted by half a pixel. - QRasterPaintEngine * [177919] Fixed a problem with drawing bitmaps. - QScriptEngine * Fixed the parsing of large numbers (larger than 2^32). - QStyle * [186511] Fixed the default QStyle() constructor to create a QStylePrivate object, which is required by QStyle::layoutSpacing(). - QStyleSheet * [178598] Fixed a memory leak when using border images. * [175722] Fixed a bug which broke mouse handling in checkbox items when styling the check mark. - QStyleSheetStyle * [182862] Setting a stylesheet with background-image on QMenu::item now works. - QSvgGenerator * [176705] Fixed a bug which caused radial gradients to produce malformed XML output. * [182196] Fixed a regression which caused gradient fills to be stored as image data instead of native data. * [182244] Fixed a bug in SVG export of ObjectBoundingMode gradients. - QStringListModel * [180184] Fixed a bug that prevented sorting from updating persistent model indexes. - QTableView * [182210] Fixed a bug which caused the table view to hang when it had views with 100,000,000 rows. - QTextBrowser * [176042] Fixed incorrect behavior with selectAll() that caused it to select all links if a link had the focus. - QTextDocument * [177489] Fixed a bug in page breaking of text frames which could cause missing page breaks and overdrawing. - QTreeView * Fixed a possible crash that could occur when setting scrollPerPixel while height was 0. * [178771] Fixed an assertion that could occur when pressing the left or right arrow key when the root index had no children, but when the current index had not been set to invalid. * [182618] Improved the performance of adding expanded or spanned items. * [184072] Improved the performance of hiding rows. - Q3DockWindow * [176167] Fixed an issue that made it impossible to move a Q3DockWindow with the mouse if it did not have a title. - Q3ToolBar * [182657, 185381] Fixed crashes caused by calling clear() and then re-adding items. - Q3Wizard * [176548] Fixed a crash caused by calling removePage() before a wizard is shown. **************************************************************************** * Platform Specific Changes * **************************************************************************** X11 --- - QApplication * Fixed a bug that could cause a programmer specified application font to be overridden by the automatically-detected system font. - QCUPSSupport * [180669] QCUPSSupport::QCUPSSupport() no longer crashes when the CUPS library cannot be loaded. - QPrintDialog * Fixed a bug that caused the selected file to be truncated before the overwrite dialog was shown. - QWidget * Fixed a bug that caused QWidget::windowState() to return an incorrect state after restoring a maximized window. - QX11EmbedContainer * [186819] Fixed embedClient() to not cause an X server lock-up when passed an invalid window ID. HP-UX ----- * [179538] Fixed a bug that caused uic3 to hang in q_atomic_lock() on PA-RISC based HP-UX machines. * [177397] Fixed a QGL module compile problem on HP-UX systems. Windows ------- - QFileDialog * Fixed occasional crashes when dealing with the system icons. * [175041] [181912] Ensured that shortcuts are handled correctly. * Fixed a crash that could occur when opened with QDir::temp() as the initial path. - QGLPixelBuffer * [177154] Fixed support for floating point buffers with NVIDIA hardware through the GL_NV_float_buffer extension. * [179143] Fixed a memory leak that could occur when deleting a QGLPixelBuffer. - QPixmap * [185715] Fixed an assertion that could occur when reading icon information for file types. - QPixmapCache * [182363] Fixed a crash that could occur when inserting a null pixmap. Mac OS X -------- - Fixed multiple issues preventing binaries built on Leopard from being deployed on Tiger and Panther systems. - QCoreGraphicsPaintEngine * [170352] Fixed a problem where all aliased strokes were offset by 1 pixel to the left on Mac OS X < 10.4. * [172006] Fixed a problem with drawing points when FlatCap or SquareCap was set as the pen style. - QGLWidget * [181819] Fixed a bug that caused the contents of QGLWidgets not to be moved or updated. - QCheckBox * [182827] Fixed a crash caused by deleting a QCheckBox in an event posted from the toggled() slot. - QDialog * [281331] Fixed a bug that caused a QDialog with a modal parent to not be modal. * [279513] Fixed a bug that could occur when using the Qt::WindowStaysOnTopHint flag on dialogs that would cause the drop down menu to be hidden. - [180466] Ensured that an Embedded HIWebView in a floating window will receive an activation. - Fixed brushed metal windows on Leopard. - Made QMenus have proper rounded edges on Leopard. - Fixed a regression that caused text to always be rendered with anti- aliasing in OpenGL. - [179882] Fixed a regression where applications with both full-screen and non-full-screen windows could get into an indeterminate state. - [182908] Fixed a crash on PPC which was caused by using a static Qt in a plugin in another application. Qtopia Core ----------- * [179060] Fixed a potential crash when Qtopia Core is compiled without FreeType support. * [187589] Fixed a problem that caused windows not to appear on screen when using gcc 4.1.1 ARM EABI toolchains. * [179533] Fixed temporary blitting of uninitialized data to the screen areas of some windows when they are shown for the first time. * [180487] Fixed the use of FreeType fonts for unprivileged processes in a LIDS environment. * [179883] Fixed the use of -D QT_QWS_DEPTH_GENERIC configure options when using a transformed screen driver. * [182150] Fixed the use of incorrect colors that resulted from using the VNC driver on top of the Linux framebuffer driver on big-endian systems. * Optimized drawing of images on 16-bit screens when using a painter with an opacity value of less than 1.0. * [183118] Updated the framebuffer test application to work on 18 bit screens. * [184181] Ensured that the QDesktopWidget::workAreaChanged() is emitted when the available screen geometry is changed. * [185508] Fixed missing mouse move/press event on touch screens when pressing on a newly-activated window. * [185301] Fixed a crash in QImage::convertToFormat() that could occur when converting an image having a stride that is not a multiple of 4. * [186266] Fixed a race condition which could result in painting errors around the window decoration under certain circumstances. * [186409] Fixed string to number conversions in QtScript when configured with -D QT_QLOCALE_USES_FCVT. * [186611] Fixed color conversion in QScreen::solidFill() (used when drawing the screen background) when configured with -D QT_QWS_DEPTH_GENERIC. * [125481] Fixed a painting error with RGBA framebuffers and partially transparent windows. * Fixed inconsistency in 16-bit alpha blending which caused the leftmost/rightmost pixels to be calculated differently due to rounding errors.