1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
|
Qt 4.6.1 is a bug-fix release. It maintains both forward and backward
compatibility (source and binary) with Qt 4.6.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.6
The Qt version 4.6 series is binary compatible with the 4.5.x series.
Applications compiled for 4.5 will continue to run with 4.6.
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
Task Tracker: http://qt.nokia.com/developer/task-tracker
Merge Request: http://qt.gitorious.org
****************************************************************************
* General *
****************************************************************************
Optimizations
-------------
- Optimized empty QUrl creation
* Empty QUrls no longer allocate memory now
* See list of Important Behavior Changes below
****************************************************************************
* Library *
****************************************************************************
QtCore
------
- QFile
* Improve performance of getting the canonical filename on Linux
and Symbian by using realpath() system call.
* Avoid stat() when opening a file.
- QLibrary and QPluginLoader
* Do not look at the Qt patch-level version embedded in plugins'
buildkeys when trying to determine if the plugin is compatible
- QProcessEnvironment
* [QTBUG-6701] Ensure we don't crash in operator==
- QTextEncoder
* [merge request 399] QTextEncoder::fromUnicode as QT3 support
member
- QXmlStreamreader
* [merge request 1926] Fix parsing of DTDs that contain empty markup
declarations.
QtGui
-----
- QApplication
* [QTBUG-6654] Fix crashes when deleting QWidgets in touch event
handlers.
- QGraphicsEffect
* [QTBUG-5918] Fixed redraw bugs when using graphics effects on
items while animating them by transformations.
- QGraphicsItem
* [QTBUG-5917] Fixed memory leaks when removing a QGraphicsEffect from
a QGraphicsItem or QWidget with setGraphicsEffect(0).
* [QTBUG-5859] Fixes incorrect rounding of the exposed rectangle of the
QGraphicsItem causing painting issues when scaling the QGraphicsView.
* [QTBUG-5071] Fixes transformation problems when grouping/ungrouping
the item with a QGraphicsItemGroup.
- QGraphicsObject
* 'id' property was removed. Use the 'objectName' property instead.
- QGraphicsScene
* [QTBUG-6654] Fix crashes when deleting QGraphicsItems in touch
event handlers.
- QGraphicsView
* [QTBUG-6935] When using CacheBackground, the background is now
correctly repainted after the QGraphicsView is shown after being
hidden.
* [QTBUG-6835] Mouse tracking is now automatically enabled when using
AnchorUnderMouse for view transformation.
* [QTBUG-6958] Fix speed regression in _q_polishItems()
* [QTBUG-6544] Fix a crash on the focus chain when removing items from
the scene.
* Fix a crash in KDE/Plasma with QGraphicsView with topLevels.
- QGraphicsWidget
* [QTBUG-6272] Only call updateFont if the font has changed.
- QPainter
* [QTBUG-5939] Fixed incorrect redirection matrix that was causing
wrong transformation for QGraphicsProxyWidgets.
* [QTBUG-6684] Added optimizations of 32-bit blend functions
for ARM platforms with NEON support.
- QPixmap
* load() and loadFromData() can now support compressed GL textures
in the DDS, ETC1, PVRTC2, and PVRTC4 formats if the OpenGL graphics
system is active and the appropriate extensions are present in the
GL implementation.
* [QTBUG-6840] Fixed load() to not modify referenced copies.
* [QTBUG-5840] Fixed a crash in fromImage() when passing in a null image.
* [QTBUG-6116] Fixed memory leak where a global object was not destroyed
at program exit.
- QPixmapCache
* Fixed a small leak when using the new QPixmapCache::Key based API.
- QPrinter
* [QTBUG-3412] QGraphicsProxyWidgets are now rendered correctly when
printing a QGraphicsScene to PDF format.
- QRasterPixmapData
* [QTBUG-6985] Fixed metric() to return the correct height in mm.
- QTextDocument
* [QTBUG-5397] Fixed printing of QTextDocuments not including custom
text objects.
* [QTBUG-6051] Fixed an endless loop when printing a QTextDocument.
QtDBus
------
- QDBusConnection
* [QTBUG-5979] Fixed the signal-delivery mechanism to update
correctly when the sender name changes/appears on the bus.
* [QTBUG-7041] Fixed marshalling of booleans in release mode.
* [QT-2307] Fixed calls with the QDBus::BlockWithGui mode.
- QDBusInterface
* Made it continue working even when the remote object
introspection fails.
- QDBusInterface and qdbuscpp2xml
* [QTBUG-5563] Fixed an issue with generating annotations in
signals.
- QDBusPendingReply and QDBusReply
* [QTBUG-6571] Fixed a crash that would happen if you tried to
make a call with a disconnected QDBusConnection.
QtMultimedia
------------
- QAudioOutput
* [Merge request 418] Fixed compilation the example provided for
QAudioOutput::start.
QtNetwork
---------
- QNetworkAccessManager
* HTTP: Send our locale with the HTTP request.
* HTTP: Start Accept-language and Authorization header with capital letter.
* HTTP: Fix caching algorithm, matching RFC 2612 and the documentation.
* HTTP [QTBUG-7060]: Fix an issue with headers like "private, max-age=300".
* file: Introduce special subclass for higher performance with file:// URLs.
- QTcpSocket
* [QTBUG-5799] Fix waitForConnected() on Windows.
- QNetworkProxyFactory
* Fixed systemProxyForQuery(), it could sometimes return invalid empty list
on Windows.
- QNetworkCookieJar
* [QTBUG-5815] Do not check paths when accepting cookies.
- QHostInfo
* Use five parallel threads for host lookup instead of one.
QtOpenGL
--------
- QGL2PaintEngineEx
* Performance: Don't mark brush as dirty if it hasn't changed.
* Performance: Use 3x3 PMV matrices rather than 4x4.
* Performance: Move the 0.5 offset we add for aliased rendering to
updateMatrix().
* Performance: Remove superfluous enable/disable vertex attrib arrays.
* Performance: Track the glVertexAttribPointer and only update it if it's
changed.
* [QTBUG-7094] Introduce new "snapToPixelGrid" flag for drawText.
- QGLContext
* bindTexture(QString) now supports DDS, ETC1, PVRTC2, and PVRTC4
compressed textures if the appropriate extensions are present
in the GL implementation.
* bindTexture(QImage): Reduce double-copying of textures when flipping.
* [QTBUG-6454] Better EGL extension checking to avoid prefix problems
with EGL_foo matching EGL_foo_bar.
* [QTBUG-6217] Work around problems with glColor4ub() on Intel Q45/Q43
Express by consistently using glColor4f() everywhere.
* bindTexture(QImage): Fix GL_BGRA formats under OpenGL/ES by using
the same value for both internal and external texture formats.
* [QTBUG-5041] Disable depth testing while in renderText().
- QGLEngineSelector
* [QTBUG-5638] Detect GL2 based on fragment shaders, not programs.
Fragment programs are a GL1 feature.
- QGLFramebufferObject
* [QTBUG-6712] Update docs to better explain how QPainter changes
the GL state when used on an FBO.
- QGLGlyphCache
* [QTBUG-6936] Fix memory leak of QGLGlyphCoord objects.
- QGLPaintDevice
* [QTBUG-6204] Rebind window surface FBO after native GL rendering.
- QGLPixmapData
* [QTBUG-6902] Align GL_RGB data on a 4-byte line boundary.
- QGLWidget
* [QTBUG-5002, QTBUG-6931] Fixed QGLWidget::renderText().
* Fixed WA_TranslucentBackground for QGLWidgets on X11/EGL.
* Fix EGL surface leaks when re-parenting on X11/EGL.
- QTriangulatingStroker
* [QTBUG-6045] Crash in dashed line handling in the GL stroker.
QtOpenVG
--------
- [QT-2555] Automatically destroy VG pixmaps when the last window surface
goes away to reduce memory consumption of backgrounded applications.
- [QTBUG-6639] Recover from out-of-memory when creating VGImage's.
- [QT-2554] Add a VGImage allocation pool to support reclaiming older
images when the GPU runs out of memory.
- [QTBUG-7051] Reset the OpenVG scissor after a native painting call-out.
- [QTBUG-7015] Avoid deep copies of QImage in QImage::bits() calls.
QtWebKit
--------
- Fixed user agent string on Symbian (webkit.org/b/31961).
- QWebInspector: Don't disable when hiding (webkit.org/b/31851).
- Fix JavaScript prompt behaviour for empty/null strings (webkit.org/b/30914).
- Fixed lastIndexOf() on Symbian (webkit.org/b/31773).
- Fixed crash with Flash on Windows with MinGW.
- Fixed wrapping of QObjects with recurring identity (webkit.org/b/31681).
- Fixed compilation with ICC.
- Fixed assertion when dragging SVG images (webkit.org/b/32511).
- Added the framecapture example to the default build (merge request 2235)
QtSql
-----
- [QTBUG-5373] Fixed QSqlRelationalTableModel doesn't correctly work with
relation in other database schema.
- [QTBUG-5298] (OCI) Fixed QSqlDatabase.tables() does not work with system
tables.
- [QTBUG-6421] Fixed setForwardOnly() for both OCI and SQLite.
- [QTBUG-6618] (ODBC) Fixed segfault when error string is larger than 256
chars.
- [QTBUG-4461] (OCI) Fixed problem with clobs being handled as binary.
QtSvg
-----
- QSvgRenderer
* [QTBUG-6867] Fixed regression in the parsing of paths with relative
offsets.
* [QTBUG-6899] Fixed crash when parsing invalid coordinate list.
Qt Plugins
----------
- JPEG plugin
* Remove obsolete parameter string handling.
* [QT-2023] Re-implement ScaledSize, ClipRect, ScaledClipRect with
libjpeg features for greater performance.
- PBM plugin
* [QTBUG-6937] Use Mono instead of MonoLSB when writing pbm files.
- TIFF plugin
* [QTBUG-6870] BitsPerSample should default to 1 in TIFF files.
- PNG plugin
* [QTBUG-7161] Avoid a deep copy of QImage::bits() in the png writer.
****************************************************************************
* Platform Specific Changes *
****************************************************************************
Qt for Unix (X11 and Mac OS X)
------------------------------
- [QTBUG-6755] Ensure we don't call select(2) with a negative timeout
if the timer expires during timeout recalculation.
- Added mkspecs for Sun CC that enable -library=stlport by default,
to restore STL capability with that compiler.
- [QTBUG-6576] Fixed compilation on HP-UX 11.11.
- [QTBUG-6961] Fixed compilation on HURD.
Qt for Linux/X11
----------------
- [QTBUG-5732] Fixed querying of GLX extensions under X11.
- [QTBUG-5547] Fixed handling of the "..." button.
- Added new mkspec for Maemo targets (linux-g++-maemo).
- Added new mkspec for Scratchbox host compiler (unsupported/linux-host-g++).
- QGuiEventDispatcherGlib (internal class)
* Fix regression introduced in 4.6.0 that could cause X11 event
processing to starve timer events.
- QFileSystemWatcher
* [QTBUG-4840] Fix memory leak in the dnotify implementation.
- QIcon
* [QTBUG-6121] Fixed a problem causing svg-based icon themes to look fuzzy.
- QGtkStyle
* [QTBUG-6484] Ensure that gtk-enable-mnemonics is respected.
Qt for Windows
--------------
- [QTBUG-5145] Compile fixes for win32-icc.
- QAtomicPointer
* [QTBUG-6079] Fix compilation for 64-bit Windows targets.
- QEventDispatchWin32 (internal class)
* [QTBUG-6083] Fix a performance regression introduced in 4.6.0
that would cause all Qt posted events to be sent at 15-16ms
intervals (instead of as quickly as possible).
- Vista/XP styles
* [QTBUG-6271] Fixed a compatibility issue with MDI windows in
certain non-standard themes.
Qt for Mac OS X
---------------
- QPixmap
* [QTBUG-5070] Fixed a crash on Mac that could occur when loading
pixmaps of different sizes into the same QPixmap object.
- [QTBUG-6973] Fixed a memory leak when using QWidget::setWindowIcon() in
Carbon.
- [QTBUG-5186] Fixed a bug which caused drag and drop icons to show
incorrectly.
- [QTBUG-6636] Fixed a crash due to stack overflow in QColorDialog on Cocoa.
- [QTBUG-6378] Fix a text cursor rendering bug.
- [QTBUG-6636] Fixed a crash when calling removeToolBar on Mac native toolbars
using Cocoa.
- [QTBUG-5613] Fixed a bug where the application refused to quit when showing
a single modal dialog.
- Gestures are now available for the Carbon port also when building Qt against
SDK < 10.6
Qt for Symbian
--------------
- QApplication
* [QTBUG-6098] Added a flag to avoid construction of application panes.
- Other:
* [QTBUG-4990] Rewrote most of the regular pointer handling.
****************************************************************************
* Tools *
****************************************************************************
- Designer
* [QTBUG-6863] Fixed static linking on Mac.
* [QTBUG-6760] Fixed display of action shortcut in action editor.
* [QTBUG-6505] Fixed handling of QHeaderView properties.
* [QTBUG-5335] Fixed handling of layout margins of custom containers.
- uic
* [QTBUG-5824] Fixed code generation to generate a call to
QMainWindow::setCentralWidget() for promoted widgets as well.
****************************************************************************
* Important Behavior Changes *
****************************************************************************
- Phonon
* Include headers have been changed. The only official method for
including Phonon headers is <phonon/ClassName> or
<phonon/classname.h>. This change was necessary because of
frameworks on Mac.
Compatibility is provided for <Phonon/*> includes, but is not
guaranteed to work. Including <phonon> and <Phonon> is not
supported.
|