Qt 4.7.3 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 or the Merge Request queue
of the public source repository.

Qt Bug Tracker: http://bugreports.qt.nokia.com
Merge Request: http://qt.gitorious.org

****************************************************************************
* Library *
****************************************************************************

QtNetwork
---------

- SSL
* [QTBUG-18338] blacklist fraudulent SSL certificates

****************************************************************************
* Platform Specific Changes *
****************************************************************************

Qt for Symbian
--------------

- Bearer Management
* [QTBUG-15108] Deadlock between SymbianEngine mutex and
QNetworkConfigurationPrivate mutex in the symbian bearer code
* [QTBUG-17627] qnetworksession.h Q_DECLARE_METATYPE breaks building
QtMobility QtBearer depending applications

- GraphicsView
* [QTBUG-17966] Major regression in QGraphicsView OpenVG backend

- Declarative
* [QTBUG-17503] Export qml debugging symbols on Symbian

- Widgets
* [QTBUG-17786] BC between Qt 4.7.3 and 4.6.3 QTreeView::indexRowSizeHint
doesn't return correct value on Symbian for row when QPushButton widget is
inserted in the treeview
* [QTBUG-4953] QMessageBox can not be closed/dismissed on touch phones if any
widget is fullscreen

- Painting
* [QTBUG-17907] tst_QGraphicsTransform::rotation3d test case from
tests/auto/qgraphicstransfor is failed for some rotation angle on
Symbian^3 devices
* [QTBUG-18154] Symbian's QPixmap::logicalDpi[X\Y]() incorrectly
returns MAXINT
