Revision 7e0fa2fc75a9c9ca3466d0a3fb6c9f302fc22a62 authored by Marc Mutz on 10 July 2012, 13:27:48 UTC, committed by Qt by Nokia on 26 August 2012, 12:29:49 UTC
Currently, we have a C++11 version that requires Q_COMPILER_DECLTYPE support, and can deal with final classes, and a C++98 version that doesn't require any C++11 features, but fails on final classes. What we're missing is a version that works for MSVC v8 and v9 (2005 and 2008), which sport the 'sealed' non-standard keywords but lack decltype support. So far, we tried to solve the problem by making class-level final special (Q_DECL_FINAL_CLASS), not defining that macro for these two compilers, even though we did define Q_DECL_FINAL, the method-level keyword. This new formulation, taken from http://stackoverflow.com/a/9655327/134841 supposedly supports all compilers with a minor #ifdef for MSVC which doesn't like applying sizeof() the way we do. However, testing has shown this to blow up on OSX. So we use the less intrusive approach: add this variant as a third version, only used by VC 2005 and 2008. Change-Id: If1945f8a6e9ed36cb68212fa781d5e29eb2a082d Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
1 parent 9090e0d
changes-4.7.1
Qt 4.7.1 is a bug-fix release. It maintains both forward and backward
compatibility (source and binary) with Qt 4.7.0. For more details,
refer to the online documentation included in this distribution. The
documentation is also available online:
http://qt.nokia.com/doc/4.7
The Qt version 4.7 series is binary compatible with the 4.6.x series.
Applications compiled for 4.6 will continue to run with 4.7.
Some of the changes listed in this file include issue tracking numbers
corresponding to tasks in the Qt Bug Tracker, the (now obsolete) Task
Tracker, or the Merge Request queue of the public source repository.
Qt Bug Tracker: http://bugreports.qt.nokia.com
Merge Request: http://qt.gitorious.org
****************************************************************************
* General *
****************************************************************************
Optimizations
-------------
- Improved the benchmarking library's timing code
* Uses a faster access to the system clock
- Introduction of SSSE3 for alpha blending of images.
- On x86 and 86_64, the memory access has been improved for alpha blending
and for some composition functions.
****************************************************************************
* Library *
****************************************************************************
QtCore
------
- Containers
* [QTBUG-13079] Fix assignment of a container included in the container
itself.
- QEventDispatcherUnix
* [QTBUG-13633] Do not process too many timer events if other events need
to be processed first.
- QLibrary
* [QT-3825] System libraries are only loaded from the system directories.
- QUuid
* [QTBUG-11213] QUuid::createUuid() should not generate identical sequences
on UNIX.
QtGui
-----
- QGraphicsEffect
* [QT-3633] Wrong bounding rect.
- QGraphicsItem
* [QTBUG-3633, QT-3828] Wrong children bounding rect when applying effects.
- QGraphicsScene
* [QT-3674] Spurious assert triggered from render().
- QGraphicsWidget
* [QTBUG-13188] Make sure a font that has propagated from a parent can
be set on a QPainter.
* [QT-3808] Issues when applying effects in combination with
ItemHasNoContents flag.
- QGtkStyle
* [QTBUG-13125] Fixed a regression with custom itemview background color.
- QLineEdit
* [QTBUG-13520] Fixed the scrolling of text with right alignment.
- QPainter
* [QTBUG-13429] Fixed scale point drawing with square cap in the raster
engine, plus some potential floating point overflows in the rasterizer.
* Optimized pixmap drawing with SmoothPixmapTransform.
- QPinchGesture
* The scaleFactor and totalScaleFactor now represent a value that allows
an object to track a touchpoint during a Pinch Gesture even when using
sequences for zooming.
Therefore the scale factors are initialized to 1.0 and for every new
sequence the totalScaleFactor is multiplied with the scaleFactor of the
new sequence.
- QPixmap
* [QTBUG-12560] Fixed a regression preventing loading images without
extensions.
- QStaticText
* [QTBUG-12614] Fix crash with zero-width string.
* [QTBUG-12540] Fix rendering of large glyphs with OpenGL2 paint engine.
- QTreeView
* [QTBUG-13567] Do not scroll to top if last item is removed.
QtMultimedia
------------
- QAudioOutput
* [QTBUG-11586] Support audio with more than two channels.
* [QTBUG-11755] Fixed outputing audio in push mode with ALSA.
* [QTBUG-11883] Fixed segmentation fault when closing a QAudioInput or
QAudioOutput.
QtNetwork
---------
- Bearer Management
* Improved reliability on Symbian and Maemo.
* Added connman/meego backend.
- IPv6
* Disable on Symbian until OpenC properly supports it.
- QSslConfiguration
* [QTBUG-13265] Fixed crash with empty configuration.
- QSslCertificate
* [QTBUG-12489] Support dates > 2049.
- QNetworkAccessManager
* [QTBUG-12285] Crash fix related to aborted uploads.
QtOpenGL
--------
- QGL2PaintEngineEx
* Fixed drawing a large number of glyphs with the same font on systems
with small texture size limits.
QtXml
-----
* Fixed a crash when parsing invalid tag names.
QtXmlPatterns
-------------
- XML Schema internals:
* [QTBUG-11559] Only parse 3 digits of time fraction.
QtDeclarative
-------------
- QML language
* [QTBUG-13799] QML core module renamed to QtQuick to decouple it from Qt
releases. Old "import Qt 4.7" will co-exist with "import QtQuick 1.0' at
least during Qt 4.7 releases.
* [QTBUG-13047] Support passing QObject derived types to QML methods.
* [QTBUG-12837] Support JS "in" operator on QML objects.
* [QTBUG-13045] Prevent calling deleteLater() from QML.
* [QTBUG-13043] Ignore non-scriptable properties in QML.
* [QTBUG-13114] Don't double call classBegin().
* [QTBUG-12946] Ensure the onDestruction handlers are called before the
expressions are cleared.
* [QTBUG-12599] Re-enabled script program caching on Symbian.
* [QTBUG-13374] Don't modify the signal order on the second dynamic meta
object pass.
* Support for qsTrId and meta-data in comments for QML.
- QML debugging
* [QTBUG-5162] The debugger is now activated with -qmljsdebugger command
line arg to enable support for platforms without environment variables.
* Various improvements to ease debugging in creator.
- AnchorAnimation
* [QTBUG-13398] Fix AnchorAnimation for multiple AnchorChanges with
dependancies.
- AnchorChanges
* [QTBUG-11834] Restore any absolute geometry changed by AnchorChanges when
returning to the base state.
- Component
* [QTBUG-13170] Complete Component::createObject() creation after setting
the parent.
- GridView
* [QTBUG-13166] GridView.view property should not be writable.
- Flickable
* [QTBUG-13095] Ensure Flickable visibleArea is updated when view height
changes.
* [QTBUG-13176] Avoid Flickable view jumping when drag threashold is
exceeded.
* [QTBUG-13078] Fix poor flicking behavior with slower flicks.
* Handle QGraphicsWidgets in Flickable.
- FocusScope
* [QTBUG-12649] Make sure onFocusChanged is correctly emitted for items
in a FocusScope.
- FontLoader
* [QTBUG-13419] Don't add the same font to the font database multiple
times.
- Image
* [QTBUG-13454] Changing the Image 'source' no longer goes through the
'Loading' state if the image is cached.
* [QTBUG-13383] Do not reset sourceSize when changing image source url.
* [QTBUG-13002] Setting one dimension of the sourceSize should set the other
dimension.
* [QTBUG-12302] Fix remote image url redirects are done in the right thread.
* Ensure all image states are updated before emitting statusChanged signals.
- ListModel
* [QTBUG-12363] Modifying an object returned by ListModel.get(0) didn't
update the view.
* [QTBUG-13666] Calling set() and setProperty() on ListModel from a
WorkerScript didn't update the view.
* Fix Worker ListModel to emit the right signal when items change.
* Fix crash with invalid role indexes.
* improved ListModel error messages.
- ListView
* [QTBUG-13664] Models with a single role didn't always update correctly.
* [QTBUG-13543] Ensure flickable velocity is updated when view is moved by
setCurrentIndex.
* [QTBUG-12664] Ensure highlight is positioned correctly in
positionViewAtIndex().
* [QTBUG-13166] Fix ListView.view attached property with VisualItemModel.
* [QTBUG-13039] Fix crash in synchronization of ListModel in WorkerThread.
* [QTBUG-11341] Flicking a ListView sometimes made it lose focus.
* [QTBUG-13166] ListView.view property should not be writable.
- MouseArea
* [QTBUG-12250] When onDoubleClicked: is handled don't emit a second
onPressed/onClicked.
- NumberAnimation
* [QTBUG-12805] Clear previous animation data for non-triggering animations.
- ParentChange
* [QTBUG-13554] ParentChange fails to apply rotation changes of exactly 180
degrees.
- PathView
* [QTBUG-13689] Moving items in a PathView caused PathView.onPath to be set
to false.
* [QTBUG-13687] PathView didn't accept mouse events, preventing it from
working in a Flickable.
* [QTBUG-13416] Fix PathView item position on insertion and removal.
* [QTBUG-13017] Fix PathView when setting an empty model that is later
filled.
* [QTBUG-12747] PathView required some diagonal movement before a drag was
initiated.
- Positioners
* made positioners work with QGraphicsWidgets.
- PropertyChanges
* [QTBUG-12559] Correctly apply PropertyChanges when entering an extended
state directly from the base state.
- QDeclarativeImageProvider:
* Fixed memory leak.
* Improved concurrency when using in asynchronus mode.
- Repeater
* [QTBUG-12905] Emit countChanged where appropriate in Repeater.
- SmoothedAnimation
* [QTBUG-12336] Update running animations if a SmoothedAnimation is changed.
- SpringAnimation
* [QTBUG-13044] SpringAnimation velocity animation stop logic was fragile.
- Text
* [QTBUG-13453] Fix jerky scrolling caused by unnecessary repaints of Text
element.
* [QTBUG-13142] Fix alignment of shadow for rich text when using text
styles.
* [QTBUG-11002] Improve QML text rendering when LCD smoothing is enabled
for OS X.
- TextInput
* [QTBUG-11127] Fix autoScroll implementation.
- VisualDataModel
* [QTBUG-13754] Fixed a crash when updating a property in ListModel with
multiple roles.
* [QTBUG-13038] Fix VisualDataModel model update handling when rootIndex is
specified.
* [QTBUG-13146] Handle layoutChanged() properly in QML views.
- WebView
* [QTBUG-13342] Ensure WebView gets focus when an editable node is clicked.
- XmlHttpRequest
* [QTBUG-13117] Fix responseText to check the charset encoding field and
also to not assume that the data is xml.
- XmlListModel
* [QTBUG-13041] XmlListModel thread was left hanging on Symbian application
exit.
Qt Plugins
----------
- Jpeg image IO plugin
* [QTBUG-13653] Fixed infinite loop when loading jpeg without EOI marker
from memory.
****************************************************************************
* Platform Specific Changes *
****************************************************************************
Qt for Unix (X11 and Mac OS X)
------------------------------
- Event System:
* [QT_3553] Fix invalid memory write during recursive timer activation.
Qt for Linux/X11
----------------
- The configure script now detects all vector extensions of x86 and x86_64.
Qt for Windows
--------------
- Event System:
* [QTBUG-12721] Fix Qt applications freezing until mouse/keyboard events
occur.
- Drag & Drop:
* [QTBUG-13787] Fixed a possible crash with mingw.
- QPrinter
* [QTBUG-12263] Strokes were in some cases not printed with the correct
color under Windows.
- QGLWidget
* [QTBUG-13141] Fixed multi-sampling support for ATI based cards under
Windows.
Qt for Mac OS X
---------------
- The configure script now detects all vector extensions of x86 and x86_64
* [QTBUG-10500] Fixed a bug which causes the QMainWindow geometry
to be calculated wrongly, when used with native toolbars.
* [QTBUG-13878] Application menu entries can now also be translated
using the QMenuBar context.
Qt for Symbian
--------------
- configure
* [QTBUG-4586] Fixed wrong paths in include/ActiveQt/headers.pri.
* [QTBUG-11671] Fixed audio-backend detection in configure tests.
- qmake & mkspecs
* [QTBUG-13523] Added support for using -L notation in the LIBS variable
when building with the symbian/linux-armcc or gcce mkspec.
* [QTBUG-12851] Fix assertion on Windows when DESTDIR is empty in static
libs.
* [QTBUG-12802] Fix vcxproj generator when using /Fd in QMAKE_CXXFLAGS.
* [QTBUG-13080] vcxproj generator: fix bug when using CharacterSet=1 in
.pro file.
* [QTBUG-13081] vc[x]proj generators: support /MAP option without file
name.
* [QTBUG-13902] Added support for unsigned smart installer package creation.
* [QTBUG-13991] No longer need to manually edit smart installer pkg file for
publishing.
* [QT-3949] Load environment.prf from Symbian SDK if it exists there.
* [QTBUG-13499] Provide a way to compile with RVCT 4.0 using generated
Makefile.
* [QTBUG-13336] Ignore MAKEFILE variable for Symbian abld and sbsv2 builds.
* [QTBUG-13363] Fix Symbian handling of projects with special characters in
TARGET.
* [QTBUG-12762 & QTBUG-13307] Gcce building support for symbian-sbsv2
* [QTBUG-13147] Added support for DEPLOYMENT.pkg_build_version
* [QTBUG-12884] Fix "installer_sis" and "deploy" targets when TARGET has path.
* [QTBUG-12879] Fix check to remove unnecessary deployments in Symbian.
* [QTBUG-12716] Make bld.inf target in Symbian mkspecs to depend on .pro file.
* [QTBUG-12715] Rename Symbian generated mmp/mk files to include target in
filename.
* [QTBUG-12617] Fix package header in cases where VERSION doesn't contain all
values.
* Fix run and runonphone targets for projects that have TARGET with path.
* Fix QT_LIBINFIX for QT_PLUGINS_BASE_DIR.
* No longer require PRE_TARGETDEPS items to be absolute for symbian-sbsv2
mkspec.
* Do smart command replacement for commands containing $$QMAKE_*
command variables, such as $$QMAKE_COPY, when generating bld.inf
extensions for QMAKE_EXTRA_* variables for symbian-sbsv2 mkspec.
- s60installs
* Fixed qsymbianbearer.qtplugin exports in s60installs.pro.
- patch_capabilities.pl
* [QTBUG-13760] Improved output of patch_capabilities.pl script.
- QInputContext
* [QTBUG-12949] Fixed a bug where passwords would not be committed when
confirming.
* [QTBUG-13472] Fixed crash in input methods when using symbols menu and
numbers only.
- QDesktopWidget
* [QTBUG-14058] Fix QApplication::desktop()->availableGeometry().
- QtCore
* [QTBUG-13802] Symbian^4 platform detection for QSysInfo::symbianVersion().
* [QTBUG-13612] Do not wait for QThread exit when destroying global statics.
* [QT-3895] Change RLibrary handle in QS60PluginResolver to be process wide.
* [QTBUG-11218] Fix QProcessManager destruction.
- Qt Plugins
* [QT-3949] Remove pre-Symbian3 plugins from Symbian3 and later builds and
Check S60_VERSION instead of existence of certain files in bearer plugin.
- Demos & Examples
* [QTBUG-13461] Remove some .pro statements left behind after IAP usage
cleanup.
* [QTBUG-12276] Assigned valid UID3 for fortuneserver example.
Qt for Windows CE
-----------------
- Gui
* [QTBUG-8408] Show the [X] button on Windows mobile when maximizing.
****************************************************************************
* Tools *
****************************************************************************
- uic
* Improve warnings and error reports.
- moc
* Show an error if NOTIFY refer to a wrong signal in Q_PROPERTY.
- QML Viewer
* [QTBUG-13347] Paused orientation sensors in Qml Viewer when the
application window is not active to save device battery.
* [QTBUG-11019] Add a menu option to open remote files in the QML viewer.
* QML Viewer is deployed under QtDemos folder instead of QtExamples
folder in Symbian application menu.
![swh spinner](/static/img/swh-spinner.gif)
Computing file changes ...