Revision control

++ Qt 4.3.1 is a bug-fix release. It maintains both forward and backward
++ compatibility (source and binary) with Qt 4.3.0.
++
++ 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
++ --------------------
++
++ - Translations
++ * Updated the German translation to provide complete coverage of Qt.
++
++ - QDBusView
++ * Added icons for Mac OS X and Windows.
++
++ - Intel C++ Compiler for Linux
++ * Added support for version 10 of the compiler. See the Compiler
++ Notes documentation for known problems and work-arounds for this
++ compiler.
++ * Added linux-icc-32 mkspec, for building with the 32-bit compiler
++ on 64-bit hosts.
++
++ Third party components
++ ----------------------
++
++ - FreeType
++ * Security fix (CVE-2007-2754): Integer overflow in the
++ TT_Load_Simple_Glyph function in freetype 2.3.4 and earlier allows
++ remote authenticated users to execute arbitrary code via crafted BDF
++ fonts.
++
++ - SQLite
++ * File descriptors are not inherited during spawn() anymore.
++
++ Build System
++ ------------
++
++ * Fixed native builds on ARM architectures.
++
++ ****************************************************************************
++ * Library *
++ ****************************************************************************
++
++ General Improvements
++ --------------------
++
++ - QAbstractItemView
++ * [166605] Fixed regression causing keyboard modifiers to have no effect
++ during drag and drop operations.
++ * [169233] Fixed bug that would prevent text from being selected in
++ double spin box editors.
++ * [168917] Text would sometimes not be selected in the editor.
++
++ - QAbstractItemModel
++ * [166714] Fixed regression causing persistent indexes to not be
++ correctly updated.
++
++ - QAbstractPrintDialog
++ * [163000] Fixed bug on Unix where the PrintSelection option would not
++ be enabled unless PrintPageRange was also enabled.
++
++ - QApplication
++ * [166677] Windows only: Fixed an issue with alert() where windows
++ would keep flashing after being activated by the user.
++ * [168974] Fixed problems with compilation that could occur when
++ QT3_SUPPORT and QT_NO_CURSOR were defined.
++
++ - QComboBox
++ * [165130] Mac OS X only: Fixed bug that caused an editable combo box to
++ cut off list entries.
++
++ - QDesktopServices
++ * [165817] Fixed misleading documentation of
++ QDesktopServices::setUrlHandler().
++
++ - QDialog
++ * [166900, 166514] Fixed bug where a dialog could remain visible after
++ hide() had been called.
++
++ - QFile
++ * [167217] Fixed regression that prevented the sequential bit from being
++ reset when reopening a file.
++
++ - QFileDialog:
++ * [164947] Mac OS X only: Ensure that the parent of a native sheet dialog
++ is activated before a sheet is shown.
++
++ - QFSFileEngine:
++ * [163406] Ensured that QFile::readLine() works on all platforms when
++ QFile is opened on file descriptor 0.
++
++ - QGLWidget
++ * [162085] X11 only: Fixed usage of QGLWidget on multiple X11 screens.
++ * [164707] X11 only: Fixed the transparent overlay color usage to make
++ it possible to draw with a solid black color. Qt::transparent is now
++ always returned as the transparent color in an overlay.
++ * [162143] Fixed a crash that could occur when calling renderPixmap()
++ with extremely large sizes. It now gracefully fails instead.
++
++ - QGraphicsItem
++ * [163430] Improved precision of QGraphicsItem::ItemIsMovable move
++ operations, and fixed move support for
++ QGraphicsItem::ItemIgnoresTransformations.
++
++ - QGraphicsItemAnimation
++ * [164585] Fixed setTimeLine(0) to properly remove the existing timeline,
++ and also ensured that setting the same timeline twice works fine.
++
++ - QGraphicsScene
++ * [163555] Flat items (items whose bounding rect width or height is 0)
++ no longer cause a full viewport update when they are updated.
++
++ - QGraphicsView
++ * [160828] Fixed bug in QGraphicsScene/View::render() which could cause
++ nothing to be rendered for QPicture target devices.
++ * [163919] Scroll bar ranges are no longer reset to (0,0) when the
++ scroll bars are disabled (Qt::ScrollBarAlwaysOff).
++ * [163537] Scroll bar ranges are now correct also for styles with a
++ viewport frame only around the viewport itself (e.g., Motif and Mac
++ OS X style).
++ * [158245] Calling setScene(0) now recalculates the scroll bar ranges.
++ * [170619, 157400] Fixed rendering bugs that could occur when using a
++ semi-transparent foreground or background brush.
++ * [170619, 168885] Fixed a bug that would cause the rubber band to
++ appear after invoking a context menu.
++
++ - QHostInfo
++ * [168233] Ensured that all pending look-ups are terminated on
++ application exit to avoid a delayed application shutdown while waiting
++ for the look-ups to complete.
++ * [167487] Fixed support for Unix platforms that allow IPv6 look-ups
++ through getaddrinfo(), but that don't support IPv6 sockets.
++
++ - QImage
++ * [163727] Fixed artifacts in scaled images that could occur when using
++ Qt::FastTransformation.
++ * [169908] Fixed a crash that could occur when reading 4-bit
++ uncompressed BMP images.
++
++ - QLocale
++ * [167534] Fixed bug that would cause QLocale::toString() to return
++ garbage if passed an invalid time or date.
++
++ - QMainWindow
++ * [166004, 167651] Made the unified toolbar handle layout requests.
++ * Mac OS X only: Don't move the window's title bar when clicking on the
++ toolbar button.
++ * [164105] Made the unified toolbar handle showMaximized().
++ * [162555] Move OpenGL contexts when the toolbar button is pressed and
++ we are using the unified toolbar.
++ * [169063] Fixed a crash that could occur when setting a new menu bar
++ and the old one contained corner widgets.
++
++ - QMdiArea
++ * [162573] Improved switching between maximized subwindows (less
++ flickering).
++ * [162046, 164264] Improved activation behavior.
++ * [170770] Fixed inconsistent behavior with scroll bars when a subwindow
++ is maximized.
++ * [169873] Fixed incorrect positions of tiled subwindows.
++
++ - QMdiSubWindow
++ * [168129] Improved the way a default window icon is selected.
++ * [169859] Improved menu bar buttons for maximized subwindows.
++ * Improved support for size grips.
++ * [169543] Windows only (XP style): Fixed a problem where the frame
++ width was 1 pixel wider than it should have been.
++ * [168829] Fixed incorrect margins of maximized subwindows inside
++ QMainWindow.
++
++ - QMenu
++ * [166652] Fixed a regression where context menus could not be triggered
++ with the right mouse button.
++ * [161789] Fixed a bug that prevented tear-off handles from being
++ activated when they were dragged down from the menu bar item.
++
++ - QMenuBar
++ * [168892] Fixed bug that made the extension always appear when adding a
++ separator to a menu bar.
++ * [166181] Fixed bug that caused extensions to be misplaced.
++ * [166242] Fixed bug that could cause menus to be collapsed.
++
++ - QMessageBox
++ * Ensured that the default button isn't lost when the modality of the
++ message box is changed.
++
++ - QMacStyle
++ * Ensured that items with State_Focus actually get the focus ring drawn.
++
++ - QNetworkProxy
++ * [170549] Fixed a regression from 4.2.3 in the default constructor; if
++ used before any other proxy settings were applied, it would fail to
++ initialize the proxy handlers, effectively disabling support for
++ SOCKS5 and HTTP proxies.
++
++ - QOpenGLPaintEngine
++ * [166087] Fixed a memory leak caused by not releasing GL program
++ handles if they failed to compile.
++ * [166054] Ensured that push and pop operations are performed on the
++ texture matrix stack and the client state attributes when begin()
++ and end() are called.
++ * [161021] Fixed rendering of points with cosmetic pens with widths
++ greater than 0.
++
++ - QPainter
++ * [158815] Fixed rendering artifacts for extended composition modes with
++ semi-transparent or anti-aliased drawing.
++ * [163744] Fixed aliased ellipse drawing artifacts (horizontal lines)
++ in raster engine.
++ * [166623] Fixed bug where gradients with ObjectBoundingMode would be
++ drawn at an incorrect offset.
++ * [167497] Fixed color bleeding artifacts at the edges when drawing
++ images/pixmaps with SmoothPixmapTransform on X11.
++ * [168621] Fixed bug which would cause projective transformations to be
++ incorrectly applied for non-top-level widgets.
++ * [168623] Fixed drawing of gradients with projective transformations.
++ * [167891] Fixed an assert in QBezier::shifted() that occured when
++ drawing certain paths.
++
++ - QPlastiqueStyle
++ * [167145] Fixed a regression with combo and spin box text margins.
++
++ - QPrintDialog
++ X11 only:
++ * [142701] Fixed an assert which could occur on a system with CUPS
++ setup, but no printers available.
++ * [165957] Added support to allow printers to be chosen from the
++ NPRINTER and NGPRINTER enviroment variables.
++ Ensured that CUPS command line options are not used when not using
++ CUPS.
++ * [158807] Fixed page ordering when printing to a CUPS printer or to PDF
++ files.
++ * [155129] Fixed Landscape printing with CUPS version < 1.2.
++
++ Windows only:
++ * [166054] Fixed a crash which could occur when trying to use a
++ QPrintDialog to configure a printer set to use
++ QPrinter::PostScriptFormat as output format.
++ * [162729] Fixed an assert that could occur when entering an invalid
++ page range.
++
++ - QPrintEngine
++ * [166499] Windows only: Fixed a bug that could cause printing from a
++ QTextEdit to produce incorrect wrong results under certain
++ circumstances.
++ * [161915] Mac OS X only: Drawing vertical lines with a dot pattern now
++ work correctly on OS X 10.3.9.
++
++ - QProcess
++ * [161944] QProcess::setReadChannel() no longer affects the contents of
++ the stderr / stdout / unget buffers. QProcess::readAllStandardError()
++ and QProcess::readAllStandardOutput() no longer clear any unget data
++ or buffered data.
++
++ - QPixmap
++ * [167841] Fixed bug where filling a QPixmap with an alpha color would
++ fail to detach the pixmap, causing copies of the pixmap to be changed
++ as well.
++ * [157166] X11 only: Fixed problem with disappearing icons on 8-bit
++ TrueColor displays.
++ * [161307] Mac OS X only: Drawing bitmaps on pixmaps now works
++ correctly.
++
++ - QRasterPaintEngine
++ * [166710] Fixed bug that prevented Qt::OpaqueMode from being taken into
++ account under certain circumstances when QPainter::fillRect() was
++ called.
++ * [159538] Fixed drawing of a monochrome image into another monochrome
++ image.
++ * [166000] Fixed compilation of mmxext optimizations.
++ * [156925] Fixed performance bug in 3DNow! optimizations.
++
++ - QRegion
++ * [167445] Removed potential assert in QRegion::operator^ on Unix.
++
++ - QScriptEngine
++ * [165899] Fixed bug where calling an overloaded slot from a script
++ would pick the wrong overload when the argument is a QObject.
++ * [166903] Fixed crash when evaluating a call to a script function that
++ ends with an if-statement with a true-part that ends with a return
++ statement (and has no else-part).
++
++ - QScrollArea
++ * [167838] Use micro focus rectangle (if "active") instead of the entire
++ widget in ensureWidgetVisible().
++
++ - QSortFilterProxyModel
++ * [167273] Fixed regression that caused QSortFilterProxyModel to assert
++ when changing data in a QSqlTableModel source model with the
++ OnFieldChange edit strategy.
++
++ - QSqlQueryModel
++ * [166880] Fixed a bug where setQuery() could cause a crash by calling
++ hasFeature() on the wrong driver instance.
++
++ - QSqlRelationalTableModel
++ * [140782] Fixed a bug which caused insertRecord() to fail when record()
++ returns a record containing duplicate field names.
++
++ - QSslCertificate
++ * [168116] Don't crash when passing 0 to QSslCertificate::fromDevice();
++ issue a warning instead. This fix also removes warnings about
++ uninitialized symbols when accessing the static functions in
++ QSslCertificate before creating a QSslSocket.
++
++ - QSslSocket
++ * [164356] Fixed a crash that could occur when passing a string to
++ setCiphers().
++ * [166633] Fixed a memory leak that would occur with each established
++ connection.
++ * [165962] Fixed support for wildcard certificates.
++ * [167593] Fixed a bug that caused QSslSocket::protocol() to be ignored
++ and set to the default of SSLv3 under certain circumstances.
++ * [167380] Fixed a crash when assigning a null key for SSL servers.
++ * [169571] Fixed a crash that could occur after disconnecting from a
++ remote address.
++
++ - QTcpSocket
++ * [169183] Removed a qWarning() when reading from a closed socket
++ (regression from 4.2.3).
++
++ - QTemporaryFile
++ * [167565] Fixed a regression from 4.2.3; size() would always return 0.
++
++ - QTextEdit
++ * [161577] Fixed regression causing Shift-Backspace to be ignored.
++ * [165833] Fixed floating point overflow causing incorrect page heights
++ for text documents.
++ * [167377] Fixed performance regression when appending a lot of text in
++ NoWrap line break mode when there is a horizontal scroll bar.
++ * [163446] Fixed excessive emission of selectionChanged() signals when
++ moving the cursor.
++ * [167701] Fixed QTextEdit::setLineWrapMode to not change the
++ wordWrapMode property when called with NoWrap.
++
++ - QTextDocument
++ * [160631] Fixed missing HTML export of page break policies.
++ * [163258] Fixed bug that prevented text table borders from being drawn
++ in QLabels and tool tips.
++ * [166670] Fixed layout bug that caused the right margin property of
++ paragraphs inside table cells to be ignored.
++ * [168406] Fixed rendering bug which would cause incorrect background
++ fills for paragraphs with a left margin set.
++
++ - QTextLayout
++ * [166083] Fixed incorrect line breaking when breaking at a tab
++ character.
++ * [165861] Fixed support for QTextOption::NoWrap.
++
++ - QLabel
++ * [162515] Fixed bug that prevented QLabel's alignment from being
++ applied properly to rich text.
++
++ - QUrl
++ * Fixed a bug in QUrl::clear() which left some internal data uncleared.
++
++ - QWidget
++ * [165177] Fixed crash that could occur when deleting a focus widget from a
++ window with a non-null parent.
++ * [165654] Fixed issue with incorrect repainting that could occur when
++ deleting an opaque child widget.
++
++ - QWindowsVistaStyle
++ * [162730] Fixed the use of an incorrect font for item views on Windows
++ Vista.
++ * [157324] Improved the native appearance of indeterminate progress
++ bars.
++ * [170012] Fixed a bug which prevented the busy mode of a progress bar
++ from working when both its range and value were set to zero.
++
++ - QWindowsXPStyle
++ * [132695] Fixed a crash issue that could occur after multiple system
++ theme changes.
++
++ - QWizard
++ * [159684] AeroStyle: Fixed bug that caused the minimum height to be set
++ too low.
++ * [161670] AeroStyle: Fixed a problem that caused title bar buttons to
++ remaining glowing after the mouse had left the window.
++ * [161678] AeroStyle: Fixed a problem with incorrect vertical center
++ alignment of wizard buttons.
++
++ - Q3Header
++ * [167283] Fixed regression in painting of the header.
++
++ - Q3ListViewItem
++ * [165853] Fixed background coloring of a cell.
++
++ - Q3Socket
++ * [163563] Fixed regression in canReadLine(); it now properly searches
++ all internal buffers.
++
++ - Q3Table
++ * [168497] Fixed incorrect updates when using setUpdatesEnabled().
++
++ - Q3Wizard
++ * [168195] Fixed bug that could cause the wrong page to be shown when
++ reopening a wizard.
++
++
++ ****************************************************************************
++ * Database Drivers *
++ ****************************************************************************
++
++ - Interbase driver
++ * [149761] Added support for compiling Firebird 2.0 on 64-bit platforms.
++ * [165423] Fixed a regression causing an assert when calling a stored
++ procedure without out-parameters.
++ * [166238] Fixed a bug that caused only the first segment of multi-
++ segmented BLOBs to be retrieved in some cases.
++
++ - ODBC driver
++ * [167167] Fixed a regression that caused a crash when checking DBMS
++ general information when connecting to a database.
++
++ - SQLite driver
++ * Use new sqlite3_prepare16_v2 instead of sqlite3_prepare16 when
++ possible.
++ * [167665] Fixed a regression that caused field names to be escaped
++ multiple times when selecting from views.
++
++ ****************************************************************************
++ * Examples *
++ ****************************************************************************
++
++ - Secure Socket Client
++ * New example, showing how to use QSslSocket to communicate over an
++ encrypted (SSL) connection.
++
++ - Accelerated Screen Driver
++ * Ensured that the example does not crash if it is unable to get a
++ pointer to the frame buffer.
++
++ ****************************************************************************
++ * Platform Specific Changes *
++ ****************************************************************************
++
++ X11
++ ---
++
++ * [163862] Fixed a bug where QClipboard would escape all non-ASCII
++ characters that were copied from GTK+ applications.
++ * [165182] Fixed building with the Intel C++ Compiler for Linux on
++ IA-64 (Itanium) (missing functions in qatomic_ia64.h)
++ * [163861] Fixed building on AIX 5.3 where the _POSIX_MONOTONIC_CLOCK
++ macro was accidentally redefined.
++ * [166650] Fixed a regression from 4.2.3 where calling QWidget::move()
++ in a reimplementation of QWidget::showEvent() did not work.
++ * [166097] QWidget::show() no longer overwrites the _NET_WM_STATE
++ property. Instead, QWidget now merges any existing _NET_WM_STATE
++ property together with its own state.
++ * Fixed the QAtomic implementation on the Alpha, which previously
++ caused all applications to hang on start-up.
++ * [165229] Changed the linux-lsb-g++ specification to avoid linking with
++ libGLU (which is not part of the LSB specification).
++ * [155083, 146833] Ensure that all font substitutions from fontconfig
++ are obeyed by using a strong binding for QFont's family with
++ fontconfig.
++
++ Windows
++ -------
++
++ * [169105] Fixed a regression where calling resize() on a minimized
++ window did not work.
++ * [169376] Fixed a race condition that would cause a crash when
++ stopping timers in a thread.
++ * [165440] Fixed a crash that could occur when using Google's Pinyin
++ input method with Qt.
++
++ Mac OS X
++ --------
++
++ * QMake's Xcode generator is now more robust when determining which
++ version of Xcode projects it should generate. It also uses launch
++ services to determine Xcode's location as well.
++ * Small changes to be more Leopard compatible
++ * [167020] Ensured that the translations are really included in the
++ binary package.
++ * [164530] Ensured that the DPI for fonts don't change when the
++ resolution changes.
++ * [165530] Fixed a bug that caused Q_DECLARE_METATYPE() in a
++ precompiled header to interfere with the Objective-C 'id' keyword.
++ * [165659] Fixed bold/italic font rendering for some fonts.
++
++ Qtopia Core
++ -----------
++
++ * Fixed support for bitmap fonts.
++ * [164297] Fixed a potential crash in accelerated paint engines.
++ * [160970] Fixed support for 1-bit black and white screens.
++ * [164783] Fixed bug in 4-bit grayscale support which resulted in pink
++ colors under certain circumstances.
++ * [164955] Fixed painting error when using QWidget::move().
++ * [166368] Fixed bug in QWidget::setFixedSize() when using multiple
++ screens.
++ * [165686] Fixed bug in QPixmap::grabWindow() when using multiple
++ screens.
++ * [130925] Fixed use of QWSWindowSurface::move() when acceleration is
++ available.
++ * [143865] Implemented QWSCalibratedMouseHandler::getCalibration()
++ properly to fill all return values.
++ * [161820] Fixed incorrect detection of glib libraries when cross-
++ compiling.
++ * [152914] Improved the framebuffer test example.
++ * [171454] Fixed painting errors when zooming in QVFb.
++
++
++ ****************************************************************************
++ * Important Behavior Changes
++ ****************************************************************************
++
++ - QScrollArea
++ * [167838] Use micro focus rectangle (if "active") instead of the entire
++ widget in ensureWidgetVisible().