Revision control

++ Qt 4.5.1 is a bug-fix release. It maintains both forward and backward
++ compatibility (source and binary) with Qt 4.5.0. For more details,
++ refer to the online documentation included in this distribution. The
++ documentation is also available online:
++
++
++ The Qt version 4.5 series is binary compatible with the 4.4.x series.
++ Applications compiled for 4.4 will continue to run with 4.5.
++
++ Some of the changes listed in this file include issue tracking numbers
++ corresponding to tasks in the Task Tracker:
++
++
++ Each of these identifiers can be entered in the task tracker to obtain more
++ information about a particular change.
++
++ ****************************************************************************
++ * General *
++ ****************************************************************************
++
++ General Improvements
++ --------------------
++
++ - Documentation and Examples
++ * Added printing feature for the Spreadsheet demo.
++ * [245675] Clarified the differences between QItemDelegate and
++ QStyledItemDelegate.
++ * [248752] Marked QPrintDialog::printer(), setPrinter() and addButton()
++ as Unix only functions, part of Qt3Support.
++
++ - Embedded Dialogs demo
++ * [246517] Fixed warnings and bugs in hover handling on Mac OS X
++
++
++ Optimizations
++ -------------
++
++ - Graphics View Framework has been optimized in several areas
++ * Improved the performance of QGraphicsItem::clipPath().
++ * Improved the performance of QGraphicsItem::setPos().
++ * Improved the performance of QGraphicsItem::effectiveOpacity().
++ * Improved the performance of QGrahicsScene::items(*).
++ * Improved handling of updates.
++ * Reduced the number of floating point operations.
++ * Reduced QVariant overhead.
++
++ Third party components
++ ----------------------
++
++
++ ****************************************************************************
++ * Library *
++ ****************************************************************************
++
++ - QAbstractItemModel
++ * Clarified some warning messages printed if the model is invalid.
++
++ - QAbstractEventDispatcher
++ * [248805] Duplicate timerids could occur if a timer is running while the
++ QObject is moved to another thread, stopping timers from working.
++
++ - QAbstractSocket
++ * [192037] Emit the disconnected signal only if we were connected before.
++
++ - QAccessible
++ * [221731] Fixed a bug where the accessibility plugin could crash if
++ there was an "&" at the end or spin forever if a label had a sequence of
++ "&&".
++ * [241161] Fixed a bug in browsing menus with the keyboard.
++
++ - QAtomicInt
++ * [216492] Fixed compilation on 64-bit PowerPC machines with gcc 4.3.
++
++ - QAuthenticator
++ * [237979] Fixed implementation of md5-sess.
++
++ - QByteArray
++ * [246233] QByteArray::fromHex() fails with input of size 1.
++
++ - QColorDialog
++ * [247349] Fixed a bug causing the wrong alpha value to be returned.
++
++ - QCombobox
++ * [248094] Fixed scrollbar from appearing when not required.
++
++ - QCompleter
++ * [246056] Fixed an assertion failure in setCompletionPrefix().
++ * [250064] Fixed a regression in focus policy propagation.
++
++ - QtConcurrent
++ * [244718] Reduced the number of calls to QThread::idealThreadCount().
++
++ - QDirIterator
++ * [247645] Fixed a bug that may loose all cached data inside QFileInfo.
++
++ - QFile
++ * [244485] Renaming a file does not change QFile::fileName().
++ * [244500] QFile::rename() does not always return false when the method
++ fails
++
++ - QFileInfo
++ * [205244] Return valid file info also for relative UNC paths.
++
++ - QFileDialog
++ * [221323] Fixed a bug in QFileDialog's programmatical file selection.
++ * [248332] QFileDialog is slow after visiting a large directory.
++ * [250194] Fixed an issue with QFileDialog and QSortFilterProxyModel
++ index mapping.
++
++ - QGLFramebufferObject
++ * Framebuffer object extension resolution now works with OpenGL/ES 2.0.
++
++ - QGraphicsItem
++ * Fixed a slow down regression in QGraphicsItem::ItemCoordinateCache.
++ * [247890] Cached QGraphicsItems are not updated if update() is called
++ when they are hidden.
++ * [250272] Fixed a crash that could occur when an item is deleted but
++ it does not get removed from the sceneeventfilters.
++
++ - QGraphicsGridLayout
++ * [242472] Fixed a bug where the calculation of the maximum width of a
++ column was incorrect.
++
++ - QGraphicsScene
++ * [243707] Fixed a crash when adding a child before a parent to the
++ scene.
++
++ - QGraphicsView
++ * [245766] Rubber Band drag mode does not update correctly when
++ scrolling.
++
++ - QGraphicsWidget
++ * [246215] Fixed a regression where we could cache the wrong size hint
++ because we called the virtual sizeHint() from the constructor.
++
++ - QHttp
++ * Compile fixes for QT_BEGIN_NAMESPACE being in the wrong place in some
++ private headers.
++ * [208445] Cancel request upon receiving unknown authentication method.
++
++ - QHostAddress
++ * [247330] Fixed compilation on MinGW by adding a missing QPair include.
++
++ - QLocalSocket
++ * Fixed a bug that would cause QLocalSocket to disconnect 30 seconds
++ after a succesful delayed connection on UNIX.
++
++ - QMacStyle
++ * Adjusted the opacity value for popups.
++ * [248769] Fixed a regression where QMacStyle would only draw tabs when
++ passed a QStyleOptionTabV3.
++
++ - QMainWindow
++ * [248048] Fixed a regression that would cause tooltips to disappear when
++ using the unified toolbar.
++
++ - QMetaType
++ * [248890] The detailed description of QMetaType no longer contradicts
++ the documentation of QMetaType::type()
++
++ - QMutex
++ * Fixed a performance regression for contended mutexes as reported on the
++ qt4-preview-feedback list.
++
++ - QPainter
++ * Compile fixes for OpenGL paint engine on OpenGL/ES 1.1 CommonLite and
++ OpenGL/ES 1.0.
++ * [246573] Fixed a very slow stroking of paths in the X11 paint engine.
++ * [247083] Fixed the scale applied to antialiased cosmetic pens in X11
++ paint engine.
++ * [247492] Fixed a rendering bug in the raster paint engine causing
++ * [247505] Fixed missing fills of rectangles with negative width/height
++ in raster paint engine.
++ one-pixel offset when drawing premultiplied ARGB32 images on RGB16
++ images.
++ * [249490] Fixed one-pixel offset between stroke and fills of ellipses in
++ the X11 paint engine.
++ * [249628] Fixed a crash in OpenGL paint engine when filling using
++ Qt::NoBrush.
++
++
++ - QPixmap
++ * [249175] Fixed QPixmap::fromImage() of monochrome images to result in
++ black/white pixels and not transparent/white pixels.
++
++ - QProcess
++ * [247865] Fixed a crash when calling QProcess::start() and
++ startDetached() with an empty program string.
++
++ - QScrollBar
++ * [247985] Stylesheet: added the feature to style scrollbar menus.
++
++ - QSharedPointer
++ * [246843] Fixed a crash caused by using QSharedPointer in global statics.
++
++ - QSortFilterProxyModel
++ * [247867] Properly sort when calling appendRows().
++ * [248868] Re-sort when the model is reset if dynamicSort is enabled.
++ * [248868] Fixed QSortFilterProxyModel::sort() if dynamicSort was disabled.
++
++ - QSSlSocket
++ * [245668] Set also protocol, verifyMode and verifyDepth in
++ setSslConfiguration().
++
++ - QString
++ * [249517] Fixed a regression in replace(int, int, QChar) when the string
++ is empty.
++
++ - QStyleSheetStyle
++ * Improved support for setting background and foreground roles in styles
++ such as the text color in a combo box popup on Mac and Cleanlooks, or
++ the background of QScrollBar.
++ * Fixed a crash that occured while styling the title bar of a QMdiArea.
++ * [188195] Fixed the background of QAbstractScrollArea losing its color
++ if styled with pseudo-class.
++ * [246542] Fixed a bug in QToolButton::hover{ color:.... }.
++
++ - QThread
++ * [249997] Added documentation indicating that the priority set by the
++ programmer may be ignored, for example on Linux.
++
++ - QTreeView
++ * Fixed a crash that may occur when events are processed immediately
++ after a QSortFilterProxyModel is invalidated.
++ * [246025] Fixed auto-expand that occured when quickly collapsing an item
++ after clicking on a child.
++ * [248163] Fixed a possible crash in the paintEvent() when spans are used.
++ * [248805] Calling QTreeView::sortByColumn() programmatically was not
++ working if manual sorting was disabled.
++
++ - QWidget
++ * [250388] Fixed a potential crash in QWidget::scroll() when using the
++ raster graphics system.
++
++ - QWidget
++ * [246852] Improved handling of WindowMaximizeButtonHint for widgets with
++ layouts.
++
++ -QLocale
++ * String-to-number conversion functions will now ignore trailing and
++ leading whitespaces in all locales as documented.
++
++ - QWizard
++ * [248107] Fixed a bug on Windows Vista causing the Back button to
++ connect to the back() signal twice.
++
++ - Q3ListView
++ * [248689] Fixed a bug in Q3ListView that would not update under certain
++ conditions.
++
++ - QtWebKit
++ * Fixed a bug in cookie handling (WebKit Bugzilla 24062, Benjamin Meyer).
++ * Fixed a bug in calling from JavaScript into NPAPI plugins on Windows.
++ * Fixed the updating state of WebActions (Erik Bunce)
++ * Fixed a bug in HTML 5 Canvas clearRect() (Dirk Schulze)
++ * Fixed the theming of text fields with KDE 4 Oxygen style (Zack Rusin)
++ * Fixed path fill styles (Zack Rusin)
++ * Fixed pre-edit text handling with input methods.
++ * [248643] Fixed compiling with the "-pedantic" compile option.
++
++ - QSqlTableModel
++ * Made setTable() try and use the database's letter case (uppercase/
++ lowercase) of the given tablename.
++ * [189093] QSqlTableModel did not handle updates when one of the fields
++ had a NULL value.
++
++ ****************************************************************************
++ * Database Drivers *
++ ****************************************************************************
++
++ * Fixed the DB2 driver returning a double field as empty.
++ * Fixed a memory leak in the DB2 driver.
++ * Fixed the DB2 driver not quoting table/field names properly.
++ * Fixed an issue with ODBC & FreeTDS not accepting quotes in statements.
++ * Fixed a bug in the sqlite2 driver not returning false on failing to
++ execute a statement.
++ * PrecisionPolicy now works in the oracle driver.
++ * Fixed a bug in the ODBC driver returning a list of tables when
++ requested.
++ * Fixed Interbase retrieving scale/precision information on numeric/
++ decimal fields.
++ * Stopped drivers from quoting again when escapeIdentifier is called
++ twice.
++ * Fixed a bug in the sqlite2 driver not quoting fields correctly.
++ * [232769] Fixed a memory overflow issue on bound out strings in ODBC
++ Driver
++ * [249059] Fixed a bug that handled QPSQL datetime/time fields with
++ negative timezone offsets incorrectly.
++
++ ****************************************************************************
++ * Platform Specific Changes *
++ ****************************************************************************
++
++ Qt for Linux/X11
++ ----------------
++
++ * Ensured proper resetting for input contexts when switching between
++ multiple input context plugins.
++ * Input methods preedit strings are now reset properly when user switches
++ focus without commiting a string.
++ * Unicode conversion functions will handle Latin-1 character set only if
++ they are used before a QCoreApplication/QApplication is constructed.
++ * Improved handling of failed unicode conversion.
++ * Fixed clipboard handling when the user manually creates an instance of
++ the QDesktopWidget.
++ * [226048] Ensured that the QDesktopWidget::resized() signal is emitted
++ properly when a new screen appears or the screen geometry is changed
++ without affecting the whole desktop's geometry.
++ * [232632] Fixed a bug in reparenting widgets to a difference X11 screen.
++ * [241888] The background of the drag-n-drop cursor is now respected,
++ according to the stylesheet.
++ * [244337] Improved input method handling when a widget's native window
++ id is recreated.
++ * [244607] Current focus widget is properly set and input method is
++ properly initialized when showing a toplevel widget that accepts
++ keyboard input.
++
++ - Phonon/GStreamer
++ * [233188] Fixed a problem where the seek slider reset to 0 while being
++ dragged.
++ * [244259] Fixed a problem where the backend failed to indicate an error
++ when the streaming failed.
++ * [246097] Added support for the MediaController interface to allow audio
++ CD playback.
++ * [246189] Fixed a problem where the backend failed to correctly escape
++ certain file names casuing playback to not start.
++
++
++ - QGtkStyle
++ * The system palette is no longer strictly forced. Also improved behavior
++ related to system theme changes.
++ * Fixed palette and styling issues with the background color of combo box
++ popups.
++ * [238196] Allowed middle click to set scrollbar position, following GTK+
++ behavior.
++ * [239829] Disabled alt-key navigation for QGtkStyle following GTK+
++ behavior.
++ * [247653] Fixed a compilation issue on Solaris.
++ * [249363] QFrame is now styled as a GtkScrolledWindow.
++
++ - Font rendering
++ * Improved performance of subpixel antialiased text rendering by using a
++ mask in the calls to XRender's text compositing function.
++ * [248387] Properly respect the font config LCD filter settings for
++ subpixel antialiased text rendering when Freetype's native subpixel
++ rendering is disabled.
++ * [248498] Fix garbled rendering of subpixel antialiased text when using
++ Freetype's native subpixel rendering for vertical subpixel layouts.
++ * [248644] Fall back to Qt's subpixel rendering if Freetype's subpixel
++ rendering was available at compile-time but not at run-time.
++
++ - QEventDispatcherGlib
++ * Event posted to a thread before it is started are not processed until
++ others events are posted.
++
++ - QWidget
++ * [213512] Fixed a bug that caused wrong clipping when using the
++ Qt::WA_PaintOutsidePaintEvent attribute.
++
++
++ Qt for Windows
++ --------------
++
++ * [240891] Corrected the focus behavior of native file dialogs, when an
++ application has multiple toplevel widgets.
++ * [243583] Improved drag-and-drop handling when switching mouse buttons
++ quickly.
++ * [244875] The system menu will now be shown for a fullscreen window.
++ * [245330] Fixed a bug that caused mouse inputs to be ignored on modal
++ dialogs, when shown from an ActiveQt control.
++ * [249576] Fixed a crash when using a combobox with Qt::NoFocus.
++
++
++ - QCoreApplication
++ * [247401] Fixed a bug that caused a restarted timer to fire too early,
++ resulting in QtWebKit's Javascript consuming 100% CPU on Windows.
++ - QWindowsXPStyle
++ * [248036] Fixed an issue where tool buttons were hovering incorrectly
++ when disabled.
++
++ - QWidget
++ * [248391] Fixed a bug that made it impossible to dynamically switch from
++ QPainter-based graphics to native graphics API and back.
++
++
++ Qt for Mac OS X
++ ---------------
++
++ * Fixed a crash when showing a widget that is a modal window but has no
++ parent.
++ * Added QSysInfo::MV_10_6 as an enum to test against.
++ * Various compile fixes for the preliminary supported Snow Leopard.
++ * The uninstall-qt.py script included in the binary package no longer
++ complains about removing itself multiple times.
++ - * Improved the documentation for how qt_mac_set_dock_menu() works.
++ * Fixed an issue with the focus frame's transparency as it was difficult
++ to use the QWidget with stylesheets.
++ * [223525] Fixed a crash in the MacMainWindow Demo.
++ * [248803] Ensured that two dialogs shown at the same time will both not
++ have visible default buttons.
++
++ - QDesktopWidget
++ * [244004] Properly support multiple screens with different sizes.
++
++ - QDialog
++ * [195904] Parent dialog is displayed on top of its modal child.
++ * [218980] Modeless dialogs should be stacked above normal windows.
++ * [239155] QDialog(foo, Qt::Sheet) with QComboBox has non-native
++ behavior.
++
++ - QFileDialog
++ * [219844] Fixed a crash caused by QFileDialog::getOpenFileName()'s
++ search buttons (native version).
++ * [225705] QFileDialog::getSaveFileName()'s filter does not display
++ correctly.
++
++ - QMenu
++ * [228017] Ensured that QMenu closes when expanding a system menu.
++
++ - QTestLib
++ * Activate the test application when launched from the command line.
++
++ - Event system
++ * [210912] Fixed a bug where ShowEvent not sent when reshowing a window
++ after it was minimized.
++
++ - macdeployqt
++ * The binary packages now include this tool.
++ * macdeployqt now runs 'strip' on the deployed binaries.
++ * Fixed an issue that prevented the QtSvg module from being deployed.
++
++ - configure script
++ * Now supports "-arch i386" as an alias for "-arch x86".
++ * Detects invalid arch arguemnts and exits.
++
++ - Cocoa port
++ * Fixed a bug where actions in the native menubar were not disabled
++ properly.
++ * Made shortcuts work properly when using the Dvorak-QWERTY+CMD keyboard
++ layout.
++ * Fixed a bug where dialogs were positioned in the wrong place on the
++ screen.
++ * The build-key for Cocoa was changed in the unlikely case that a plugin
++ may make assumptions on how Qt was built. All Cocoa plugins built
++ against Qt 4.5.0 will NOT work with Qt 4.5.1; we do not foresee
++ changing this again.
++ * Fixed a bug where some windows did not get activation when they
++ normally should.
++ * Fixed a bug where key events sent to popups were not propagated
++ onwards.
++ * QFileOpenEvents will no longer be sent for items passed via command
++ line.
++ * Various fixes for determining the metrics of text and the ability to
++ disable kerning.
++ * Modified the Colliding Mice Example to work better with coalesced
++ updates.
++ * Fixed a bug where the drag cursor was not updated when modifier keys
++ were used.
++ * [239043] Fixed a bug that caused QGraphicsProxyWidget to shrink when
++ moved.
++ * [244369] Window flags on Cocoa windows should look similar to the
++ Carbon ones.
++ * [247947] Fixed a crash in drag and drop.
++ * [248918] Fixed color matching for themed text items.
++ * The command + h shortcut is now enabled. (Hides the current window.)
++ * [249296] Fixed a bug where line edits on a second page of a stack
++ widget were not getting key events.
++
++ Qt for Embedded Linux
++ ---------------------
++
++ - * Various improvements to the Qt DirectFB plugin.
++ * Fixed recreation of temporary EGL surfaces in the PowerVR QScreen
++ driver.
++ - * Document some necessary #define's for building the PowerVR QScreen
++ driver.
++
++ Qt for Windows CE
++ -----------------
++
++ * [246619] Fixed a tap and hold bug for QCheckbox.
++
++ ****************************************************************************
++ * Compiler Specific Changes *
++ ****************************************************************************
++
++
++ ****************************************************************************
++ * Tools *
++ ****************************************************************************
++
++ - Build System
++
++ - Assistant
++
++
++ - Designer
++ * [245503] Fixed redundant backslashes in string property in the property
++ browser.
++ * [245961] Restricted objectname-validation to known object name
++ properties only.
++ * [247995] Fixed a crash occurring after layout operations that caused
++ an instance of QGridLayout or QFormLayout to shrink.
++ * [248000] Fixed a crash ocurring when re-layouting empty grid layouts.
++ * [249097] Fixed a crash related to undoing a QGridLayout re-layout
++ operation.
++
++ - Linguist
++
++ - Linguist GUI
++
++ * [248076] Fixed a crash caused by opening files for which we have no
++ plural rules.
++ * [249519] Fixed a crash upon dropping text into a non-focused line
++ edit.
++
++ - Entire Linguist toolchain
++
++ * [244035] Fixed an infinite loop in PO writer.
++ * [247738] Improved handling of duplicated messages.
++ * [248849] Fixed the encoding in XLIFF writer.
++ * [249022] Fixed TS' and QM's handling of messages which appear in
++ multiple encodings.
++
++ - lupdate
++
++ * [248724] Fixed the encoding of messages from .ui files if CODECFORTR
++ is not utf8.
++ * [249633] Fixed the processing of C++ backslash line continuations.
++
++ - rcc
++
++
++ - moc
++ * [240368] moc parsing issue with "unsigned" subphrase
++
++ - uic
++ * [244998] Fixed include file generation for phonon widgets.
++ * [248070] Fixed code generation for QStringList-type properties to use
++ encoding properly.
++ * [242447] Made uic generate class-specific code correctly in the case of
++ multiple levels of inheritance.
++
++ - uic3
++
++
++ - qmake
++ * On Mac OS, properly escape file names in QMAKE_BUNDLE_DATA.
++ * Fixed moc and uic features to make shadow builds work even if a
++ non-shadow build is present
++ * [201495] Comment processing in qmake prevented file from being moc'ed
++ * [248806] Ensured that the Xcode generator includes the right path to
++ frameworks.
++
++ - configure
++
++
++ - qtconfig
++
++
++ - qt3to4
++
++
++ ****************************************************************************
++ * Plugins *
++ ****************************************************************************
++
++
++ ****************************************************************************
++ * Important Behavior Changes *
++ ****************************************************************************
++