1Qt 4.7.1 is a bug-fix release. It maintains both forward and backward
2compatibility (source and binary) with Qt 4.7.0.  For more details,
3refer to the online documentation included in this distribution. The
4documentation is also available online:
5
6  http://qt.nokia.com/doc/4.7
7
8The Qt version 4.7 series is binary compatible with the 4.6.x series.
9Applications compiled for 4.6 will continue to run with 4.7.
10
11Some of the changes listed in this file include issue tracking numbers
12corresponding to tasks in the Qt Bug Tracker, the (now obsolete) Task
13Tracker, or the Merge Request queue of the public source repository.
14
15Qt Bug Tracker: http://bugreports.qt.nokia.com
16Merge Request:  http://qt.gitorious.org
17
18****************************************************************************
19*                           General                                        *
20****************************************************************************
21
22Optimizations
23-------------
24
25 - Improved the benchmarking library's timing code
26    * Uses a faster access to the system clock
27
28 - Introduction of SSSE3 for alpha blending of images.
29
30 - On x86 and 86_64, the memory access has been improved for alpha blending
31   and for some composition functions.
32
33
34****************************************************************************
35*                          Library                                         *
36****************************************************************************
37
38QtCore
39------
40
41 - Containers
42    * [QTBUG-13079] Fix assignment of a container included in the container
43      itself.
44
45 - QEventDispatcherUnix
46    * [QTBUG-13633] Do not process too many timer events if other events need
47      to be processed first.
48
49 - QLibrary
50    * [QT-3825] System libraries are only loaded from the system directories.
51
52 - QUuid
53    * [QTBUG-11213] QUuid::createUuid() should not generate identical sequences
54      on UNIX.
55
56
57QtGui
58-----
59
60 - QGraphicsEffect
61    * [QT-3633] Wrong bounding rect.
62
63 - QGraphicsItem
64    * [QTBUG-3633, QT-3828] Wrong children bounding rect when applying effects.
65
66 - QGraphicsScene
67    * [QT-3674] Spurious assert triggered from render().
68
69 - QGraphicsWidget
70    * [QTBUG-13188] Make sure a font that has propagated from a parent can
71       be set on a QPainter.
72    * [QT-3808] Issues when applying effects in combination with
73      ItemHasNoContents flag.
74
75 - QGtkStyle
76    * [QTBUG-13125] Fixed a regression with custom itemview background color.
77
78 - QLineEdit
79    * [QTBUG-13520] Fixed the scrolling of text with right alignment.
80
81 - QPainter
82    * [QTBUG-13429] Fixed scale point drawing with square cap in the raster
83      engine, plus some potential floating point overflows in the rasterizer.
84    * Optimized pixmap drawing with SmoothPixmapTransform.
85
86 - QPinchGesture
87    * The scaleFactor and totalScaleFactor now represent a value that allows
88      an object to track a touchpoint during a Pinch Gesture even when using
89      sequences for zooming.
90      Therefore the scale factors are initialized to 1.0 and for every new
91      sequence the totalScaleFactor is multiplied with the scaleFactor of the
92      new sequence.
93
94 - QPixmap
95    * [QTBUG-12560] Fixed a regression preventing loading images without
96      extensions.
97
98 - QStaticText
99    * [QTBUG-12614] Fix crash with zero-width string.
100    * [QTBUG-12540] Fix rendering of large glyphs with OpenGL2 paint engine.
101
102 - QTreeView
103    * [QTBUG-13567] Do not scroll to top if last item is removed.
104
105
106QtMultimedia
107------------
108 - QAudioOutput
109    * [QTBUG-11586] Support audio with more than two channels.
110    * [QTBUG-11755] Fixed outputing audio in push mode with ALSA.
111    * [QTBUG-11883] Fixed segmentation fault when closing a QAudioInput or
112      QAudioOutput.
113
114
115QtNetwork
116---------
117 - Bearer Management
118    * Improved reliability on Symbian and Maemo.
119    * Added connman/meego backend.
120 - IPv6
121    * Disable on Symbian until OpenC properly supports it.
122 - QSslConfiguration
123    * [QTBUG-13265] Fixed crash with empty configuration.
124 - QSslCertificate
125    * [QTBUG-12489] Support dates > 2049.
126 - QNetworkAccessManager
127    * [QTBUG-12285] Crash fix related to aborted uploads.
128
129
130QtOpenGL
131--------
132 - QGL2PaintEngineEx
133    * Fixed drawing a large number of glyphs with the same font on systems
134      with small texture size limits.
135
136
137QtXml
138-----
139 * Fixed a crash when parsing invalid tag names.
140
141
142QtXmlPatterns
143-------------
144 - XML Schema internals:
145    * [QTBUG-11559] Only parse 3 digits of time fraction.
146
147
148QtDeclarative
149-------------
150 - QML language
151    * [QTBUG-13799] QML core module renamed to QtQuick to decouple it from Qt
152      releases.  Old "import Qt 4.7" will co-exist with "import QtQuick 1.0' at
153      least during Qt 4.7 releases.
154    * [QTBUG-13047] Support passing QObject derived types to QML methods.
155    * [QTBUG-12837] Support JS "in" operator on QML objects.
156    * [QTBUG-13045] Prevent calling deleteLater() from QML.
157    * [QTBUG-13043] Ignore non-scriptable properties in QML.
158    * [QTBUG-13114] Don't double call classBegin().
159    * [QTBUG-12946] Ensure the onDestruction handlers are called before the
160      expressions are cleared.
161    * [QTBUG-12599] Re-enabled script program caching on Symbian.
162    * [QTBUG-13374] Don't modify the signal order on the second dynamic meta
163      object pass.
164    * Support for qsTrId and meta-data in comments for QML.
165 - QML debugging
166    * [QTBUG-5162] The debugger is now activated with -qmljsdebugger command
167      line arg to enable support for platforms without environment variables.
168    * Various improvements to ease debugging in creator.
169 - AnchorAnimation
170    * [QTBUG-13398] Fix AnchorAnimation for multiple AnchorChanges with
171      dependancies.
172 - AnchorChanges
173    * [QTBUG-11834] Restore any absolute geometry changed by AnchorChanges when
174      returning to the base state.
175 - Component
176    * [QTBUG-13170] Complete Component::createObject() creation after setting
177      the parent.
178 - GridView
179    * [QTBUG-13166] GridView.view property should not be writable.
180 - Flickable
181    * [QTBUG-13095] Ensure Flickable visibleArea is updated when view height
182      changes.
183    * [QTBUG-13176] Avoid Flickable view jumping when drag threashold is
184      exceeded.
185    * [QTBUG-13078] Fix poor flicking behavior with slower flicks.
186    * Handle QGraphicsWidgets in Flickable.
187 - FocusScope
188    * [QTBUG-12649] Make sure onFocusChanged is correctly emitted for items
189      in a FocusScope.
190 - FontLoader
191    * [QTBUG-13419] Don't add the same font to the font database multiple
192      times.
193 - Image
194    * [QTBUG-13454] Changing the Image 'source' no longer goes through the
195      'Loading' state if the image is cached.
196    * [QTBUG-13383] Do not reset sourceSize when changing image source url.
197    * [QTBUG-13002] Setting one dimension of the sourceSize should set the other
198      dimension.
199    * [QTBUG-12302] Fix remote image url redirects are done in the right thread.
200    * Ensure all image states are updated before emitting statusChanged signals.
201 - ListModel
202    * [QTBUG-12363] Modifying an object returned by ListModel.get(0) didn't
203      update the view.
204    * [QTBUG-13666] Calling set() and setProperty() on ListModel from a
205      WorkerScript didn't update the view.
206    * Fix Worker ListModel to emit the right signal when items change.
207    * Fix crash with invalid role indexes.
208    * improved ListModel error messages.
209 - ListView
210    * [QTBUG-13664] Models with a single role didn't always update correctly.
211    * [QTBUG-13543] Ensure flickable velocity is updated when view is moved by
212      setCurrentIndex.
213    * [QTBUG-12664] Ensure highlight is positioned correctly in
214      positionViewAtIndex().
215    * [QTBUG-13166] Fix ListView.view attached property with VisualItemModel.
216    * [QTBUG-13039] Fix crash in synchronization of ListModel in WorkerThread.
217    * [QTBUG-11341] Flicking a ListView sometimes made it lose focus.
218    * [QTBUG-13166] ListView.view property should not be writable.
219 - MouseArea
220    * [QTBUG-12250] When onDoubleClicked: is handled don't emit a second
221      onPressed/onClicked.
222 - NumberAnimation
223    * [QTBUG-12805] Clear previous animation data for non-triggering animations.
224 - ParentChange
225    * [QTBUG-13554] ParentChange fails to apply rotation changes of exactly 180
226      degrees.
227 - PathView
228    * [QTBUG-13689] Moving items in a PathView caused PathView.onPath to be set
229      to false.
230    * [QTBUG-13687] PathView didn't accept mouse events, preventing it from
231      working in a Flickable.
232    * [QTBUG-13416] Fix PathView item position on insertion and removal.
233    * [QTBUG-13017] Fix PathView when setting an empty model that is later
234      filled.
235    * [QTBUG-12747] PathView required some diagonal movement before a drag was
236      initiated.
237 - Positioners
238    * made positioners work with QGraphicsWidgets.
239 - PropertyChanges
240    * [QTBUG-12559] Correctly apply PropertyChanges when entering an extended
241      state directly from the base state.
242 - QDeclarativeImageProvider:
243    * Fixed memory leak.
244    * Improved concurrency when using in asynchronus mode.
245 - Repeater
246    * [QTBUG-12905] Emit countChanged where appropriate in Repeater.
247 - SmoothedAnimation
248    * [QTBUG-12336] Update running animations if a SmoothedAnimation is changed.
249 - SpringAnimation
250    * [QTBUG-13044] SpringAnimation velocity animation stop logic was fragile.
251 - Text
252    * [QTBUG-13453] Fix jerky scrolling caused by unnecessary repaints of Text
253      element.
254    * [QTBUG-13142] Fix alignment of shadow for rich text when using text
255      styles.
256    * [QTBUG-11002] Improve QML text rendering when LCD smoothing is enabled
257      for OS X.
258 - TextInput
259    * [QTBUG-11127] Fix autoScroll implementation.
260 - VisualDataModel
261    * [QTBUG-13754] Fixed a crash when updating a property in ListModel with
262      multiple roles.
263    * [QTBUG-13038] Fix VisualDataModel model update handling when rootIndex is
264      specified.
265    * [QTBUG-13146] Handle layoutChanged() properly in QML views.
266 - WebView
267    * [QTBUG-13342] Ensure WebView gets focus when an editable node is clicked.
268 - XmlHttpRequest
269    * [QTBUG-13117] Fix responseText to check the charset encoding field and
270      also to not assume that the data is xml.
271 - XmlListModel
272    * [QTBUG-13041] XmlListModel thread was left hanging on Symbian application
273      exit.
274
275
276Qt Plugins
277----------
278 - Jpeg image IO plugin
279    * [QTBUG-13653] Fixed infinite loop when loading jpeg without EOI marker
280      from memory.
281
282****************************************************************************
283*                      Platform Specific Changes                           *
284****************************************************************************
285
286Qt for Unix (X11 and Mac OS X)
287------------------------------
288 - Event System:
289   * [QT_3553] Fix invalid memory write during recursive timer activation.
290
291Qt for Linux/X11
292----------------
293 - The configure script now detects all vector extensions of x86 and x86_64.
294
295Qt for Windows
296--------------
297 - Event System:
298   * [QTBUG-12721] Fix Qt applications freezing until mouse/keyboard events
299     occur.
300
301 - Drag & Drop:
302   * [QTBUG-13787] Fixed a possible crash with mingw.
303
304 - QPrinter
305   * [QTBUG-12263] Strokes were in some cases not printed with the correct
306     color under Windows.
307
308 - QGLWidget
309   * [QTBUG-13141] Fixed multi-sampling support for ATI based cards under
310     Windows.
311
312Qt for Mac OS X
313---------------
314 - The configure script now detects all vector extensions of x86 and x86_64
315    * [QTBUG-10500] Fixed a bug which causes the QMainWindow geometry
316      to be calculated wrongly, when used with native toolbars.
317    * [QTBUG-13878] Application menu entries can now also be translated
318      using the QMenuBar context.
319
320Qt for Symbian
321--------------
322 - configure
323   * [QTBUG-4586] Fixed wrong paths in include/ActiveQt/headers.pri.
324   * [QTBUG-11671] Fixed audio-backend detection in configure tests.
325
326 - qmake & mkspecs
327   * [QTBUG-13523] Added support for using -L notation in the LIBS variable
328     when building with the symbian/linux-armcc or gcce mkspec.
329   * [QTBUG-12851] Fix assertion on Windows when DESTDIR is empty in static
330     libs.
331   * [QTBUG-12802] Fix vcxproj generator when using /Fd in QMAKE_CXXFLAGS.
332   * [QTBUG-13080] vcxproj generator: fix bug when using CharacterSet=1 in
333     .pro file.
334   * [QTBUG-13081] vc[x]proj generators: support /MAP option without file
335     name.
336   * [QTBUG-13902] Added support for unsigned smart installer package creation.
337   * [QTBUG-13991] No longer need to manually edit smart installer pkg file for
338     publishing.
339   * [QT-3949] Load environment.prf from Symbian SDK if it exists there.
340   * [QTBUG-13499] Provide a way to compile with RVCT 4.0 using generated
341     Makefile.
342   * [QTBUG-13336] Ignore MAKEFILE variable for Symbian abld and sbsv2 builds.
343   * [QTBUG-13363] Fix Symbian handling of projects with special characters in
344     TARGET.
345   * [QTBUG-12762 & QTBUG-13307] Gcce building support for symbian-sbsv2
346   * [QTBUG-13147] Added support for DEPLOYMENT.pkg_build_version
347   * [QTBUG-12884] Fix "installer_sis" and "deploy" targets when TARGET has path.
348   * [QTBUG-12879] Fix check to remove unnecessary deployments in Symbian.
349   * [QTBUG-12716] Make bld.inf target in Symbian mkspecs to depend on .pro file.
350   * [QTBUG-12715] Rename Symbian generated mmp/mk files to include target in
351     filename.
352   * [QTBUG-12617] Fix package header in cases where VERSION doesn't contain all
353     values.
354   * Fix run and runonphone targets for projects that have TARGET with path.
355   * Fix QT_LIBINFIX for QT_PLUGINS_BASE_DIR.
356   * No longer require PRE_TARGETDEPS items to be absolute for symbian-sbsv2
357     mkspec.
358   * Do smart command replacement for commands containing $$QMAKE_*
359     command variables, such as $$QMAKE_COPY, when generating bld.inf
360     extensions for QMAKE_EXTRA_* variables for symbian-sbsv2 mkspec.
361
362 - s60installs
363   * Fixed qsymbianbearer.qtplugin exports in s60installs.pro.
364
365 - patch_capabilities.pl
366   * [QTBUG-13760] Improved output of patch_capabilities.pl script.
367
368 - QInputContext
369   * [QTBUG-12949] Fixed a bug where passwords would not be committed when
370     confirming.
371   * [QTBUG-13472] Fixed crash in input methods when using symbols menu and
372     numbers only.
373
374 - QDesktopWidget
375   * [QTBUG-14058] Fix QApplication::desktop()->availableGeometry().
376
377 - QtCore
378   * [QTBUG-13802] Symbian^4 platform detection for QSysInfo::symbianVersion().
379   * [QTBUG-13612] Do not wait for QThread exit when destroying global statics.
380   * [QT-3895] Change RLibrary handle in QS60PluginResolver to be process wide.
381   * [QTBUG-11218] Fix QProcessManager destruction.
382
383 - Qt Plugins
384   * [QT-3949] Remove pre-Symbian3 plugins from Symbian3 and later builds and
385     Check S60_VERSION instead of existence of certain files in bearer plugin.
386
387 - Demos & Examples
388   * [QTBUG-13461] Remove some .pro statements left behind after IAP usage
389     cleanup.
390   * [QTBUG-12276] Assigned valid UID3 for fortuneserver example.
391
392Qt for Windows CE
393-----------------
394 - Gui
395   * [QTBUG-8408] Show the [X] button on Windows mobile when maximizing.
396
397
398****************************************************************************
399*                          Tools                                           *
400****************************************************************************
401
402 - uic
403  * Improve warnings and error reports.
404
405 - moc
406  * Show an error if NOTIFY refer to a wrong signal in Q_PROPERTY.
407
408 - QML Viewer
409    * [QTBUG-13347] Paused orientation sensors in Qml Viewer when the
410      application window is not active to save device battery.
411    * [QTBUG-11019] Add a menu option to open remote files in the QML viewer.
412    * QML Viewer is deployed under QtDemos folder instead of QtExamples
413      folder in Symbian application menu.
414
415