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
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
|
Qt 4.7 introduces many new features and improvements as well as bugfixes
over the 4.6.x series. 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:
http://bugreports.qt.nokia.com/
Each of these identifiers can be entered in the bug tracker to obtain more
information about a particular change.
****************************************************************************
* General *
****************************************************************************
General Improvements
--------------------
- Documentation and Examples
- Support for the GL_EXT_geometry_shader4, aka Geometry Shaders, was added
to QGLShaderProgram.
New features
------------
- QNetworkSession, QNetworkConfiguration, QNetworkConfigurationManager
* New bearer management classes added.
- QStaticText class was added to support high-performance output of
seldomly altered text.
Third party components
----------------------
- Updated libpng to version 1.4.0
- Updated libjpeg to version 8
- Updated libtiff to version 3.9.2
****************************************************************************
* Library *
****************************************************************************
QtCore
------
- QString
* Added QString(const QChar *) constructor.
NOTE: This is source-incompatible for the bogus QString(0) case.
* Removed internal but exported qt_winQString2MB() and qt_winMB2QString()
* Added setRawData() function (also revived the one in QByteArray)
* Various performance improvements
- QList
* Added reserve() function
* Various performance improvements
- QMetaType
* Significantly improved performance of the type() function
* [QTBUG-8235] Support QEasingCurve as a built in metatype.
* Added possibility to register several name for the same type with
qRegisterMetaType<>() (ie. for typedef)
- QState
* [QTBUG-7741] Added a function to get the out-going transitions
- QXmlStreamReader
* [QTBUG-9196] fixed crash when parsing
- QTimer
* singleShot with 0 timeout will now avoid allocating objects
- QAbstractAnimation
* [QTBUG-10654] Avoids animation with loopCount == 0 to change state
to running and stopped.
- QVarLenghtArray
* Added some API to be more consistant with other containers
QtGui
-----
- QAbstractItemView
* Fixed a bug that would cause keyboard searches not to behave
properly when used within 400 milliseconds of midnight.
- QComboBox
* [QTBUG-8796] Made ForegroundRole work for all styles.
- QCommandLinkButton
* [QTBUG-5995] Fixed text and icon alignment issues.
- QPrinter
* Obsoleted the slightly confusing setNumCopies() and numCopies()
functions, and replaced them with setCopyCount(), copyCount() and
supportsMultipleCopies().
- QPrintDialog/QPrinter
* Added support for printing the current page.
- QCommonStyle
* Fixed a bug that led to missing text pixels in QTabBar when using
small font sizes. (QTBUG-7137)
- QGraphicsEffect
* Fixed rendering bugs when scrolling graphics items with drop
shadows.
- QGraphicsItem
* [QTBUG-8112] itemChange() is now called when transformation
properties change (setRotation, setScale, setTransformOriginPoint).
* [QTBUG-9024] Improved performance when calling update() on items that
are clipped by an ancestor (QGraphicsItem::ItemClipsChildrenToShape).
* [QTBUG-7703], [QTBUG-8378] Fixed scrolling issues
* [QTBUG-12112] Fixed focusItem() returning incorrect value.
- QGraphicsTextItem
* [QTBUG-7333] Fixed keyboard shortcuts not being triggered when the
the item has focus and something else has the same shortcut sequence.
* [QTBUG-10574] Fixed crash when flag "QGraphicsItem::ItemIgnoresTransformations"
is set.
- QGraphicsView
* [QTBUG-7438] Fixed viewport cursor getting reset when releasing
the mouse.
* [QTBUG-10338] Fixed drawing artifacts due to rounding errors.
- QGraphicsWidget
* [QTBUG-12056] Fixed a crash occuring when adding a QGraphicsWidget
to a scene after removing and deleting another QGraphicsWidget.
- QImage
* [QTBUG-9640] Prevented unneccessary copy in QImage::setAlphaChannel().
* [QTBUG-7982] Added QImage::bitPlaneCount().
* [QTBUG-9072] Fixed alpha check for 1-bit-per-pixel images.
- QLineEdit
* [QTBUG-9823] Placeholder text is now correctly aligned with text.
- QPicture
* [QTBUG-4974] Printing QPictures containing text to a high resolution
QPrinter would in many cases cause incorrect character spacing.
- QPainter
* Added QPainter::drawPixmapFragments(), which makes it possible to draw
pixmaps, or sub-rectangles of pixmaps, at various positions with
different scale, opacity and rotation.
* [QTBUG-10018] Fixed image drawing inconsistencies when drawing
1x1 source rects with rotating / shear / perspective transforms.
* Optimized various blending and rendering operations for ARM
processors with a NEON vector unit.
* Fixed some performance issues when drawing sub-pixmaps of large
pixmaps and falling back to raster in the X11 paint engine.
* [QTBUG-7596] Safeguard ourselves against corrupt registry values for
ClearType gamma on Windows.
* [QTBUG-9218] Fixed flattening of largely scaled, thin, dashed beziers.
* [QTBUG-9437] Fixed crash in the raster paint engine when drawing largely
scaled images.
- QPainterPath
* [QTBUG-3778] Fixed bug in painter path polygon intersection code.
* [QTBUG-7396] Optimized painter path intersections for when at
least one of the paths is a rectangle by special casing.
* [QTBUG-8035] Got rid of bezier intersection code in the boolean
operators (intersect, subtract, unite) to prevent numerical
stability issues.
* [QTBUG-11291] Fixed infinite recursion when drawing very large painter
paths.
- QPixmap
* [QTBUG-4149] Fixed QPixmap::grabWidget() on widgets that have not yet
been shown.
- QPlastiqueStyle
* [QTBUG-6516] Respect AlternateBase role for list views.
- QRegion
* [QTBUG-7699] Fixed crash caused by large x-coordinates.
- QSplitter
* [QTBUG-9335] Improve support for 1-pixel splitters by using a
larger drag area.
- QTextDocumentWriter
* Fixed tab-stops and table padding in ODF export.
- QTextLayout
* [QTBUG-11427] Fix possible crash in QTextLayout for glyphless
items.
* [QTBUG-8864] Fix regression in right alignment of text with
negative right bearing.
- QTransform
* [QTBUG-8557] Fixed bug in QTransform::type() potentially occuring
after using operator/ or operator* or their overloads.
QtOpenGL
--------
- Improve performance of text by adding special cased fragment shader.
- Made width and height of glyph cache power-of-two for performance
improvements on some hardware.
- [QTBUG-9706] Improved appearance of text antialiasing.
- QTreeView
* Optimized
QtNetwork
---------
- QHostInfo: Added a small 60 second DNS cache
- QNetworkAccessManager
* Performance improvements for file:// and http://
* Crash fixes
* Improvements on HTTP pipelining
* Fix problem with canReadLine()
* Fix problem with HTTP 100 reply
* Some new attributes for QNetworkRequest
* [QTBUG-8206] add method to send custom requests
* [QTBUG-9618] [MR 2372] send secure cookies only over secure connections
* [QTBUG-7713] Fix bug related to re-sending request
* [QTBUG-7673] Fix issue with some webservers
* [QTBUG-11029] do not accept cookies with non-alpha-numerical domain
- Sockets
* Better support for derived QTcpServer
* [QTBUG-7054] Fix error handling with waitFor*() for socket engine
* [QTBUG-7316, QTBUG-7317] Also handle unknown errors from socket engine
- SSL
* [QTBUG-2515] Do not make OpenSSL prompt for a password
* [QTBUG-6504, QTBUG-8924, QTBUG-5645] Fix memleak
* [QTBUG-9973] QSslCertificate: support large serial numbers
* [QTBUG-8833] make QSslSocket::systemCaCertificates() use system certs
* [QT-3567] QSslSocket: improve error handling (fixes Secunia Advisory SA40389)
* [QBTUG-4455, MR 731] Fix handling of SSL certificates with wildcard domain names
QtScript
--------
- Updated src/3rdparty/javascriptcore to a more recent version
- Significantly improved performance of the Qt/C++<-->JavaScript bridge
- QScriptValueIterator: Significantly improved performance
- [QTBUG-3637] Added a wrap option for excluding slots from a QObject binding
- [QTBUG-6238] Added a function for reporting additional memory cost
- [QTBUG-6908] Significantly improved performance of qsTr()
QtSvg
-----
- QSvgRenderer
* [QTBUG-8264] Fixed rounded rectangles when 'rx' or 'ry' is zero.
* [QTBUG-10022] Fixed assert failure when loading an invalid SVG.
QtXmlPatterns
-------------
- [QTBUG-8920] fixed crash with anonymous types in XsdSchemaChecker
- [QTBUG-8394] include/import/redefine schemas only once
- QXmlSchema: fix crash with referencing elements
- [QBTUG-6485] QXmlSchema: allow usage of xsd:all
Qt Plugins
----------
- Jpeg image IO plugin
* Fixed failure to store certain QImage formats as jpeg (QTBUG-7780)
* Optimized smoothscaling
* Optimized to avoid data copy when reading from memory device (QTBUG-9095)
- SVG image IO plugin
* Added support for svgz format (QTBUG-8227)
* Fixed canRead() so that it can be used also for non-sequential
devices. (QTBUG-9053)
* Added support for clipping and scaling and backgroundcolor
* Optimized to avoid data copy when reading from memory device (QTBUG-9095)
****************************************************************************
* Database Drivers *
****************************************************************************
- Sqlite
* [QTBUG-11904] Pointer aliasing problem in sqlite
- OCI
* [QTBUG-10919] Unable to insert unicode chars with codepoint > 255
in nvarchar2 column on oracle
* [QTBUG-8210] Oracle - DATE in db with a year greater or equal to 2800
returns an invalid date
****************************************************************************
* Platform Specific Changes *
****************************************************************************
Qt for Linux/X11
----------------
- QGtkStyle
* Fixed rtl issues with sliders (QTBUG-8986)
* Fixed missing pressed appearance on scroll bar handles. (QTBUG-10396)
* Fixed crash when creating QGtkStyle before QApplication. (QTBUG-10758)
- QFontDatabase
* [QTBUG-4428] Fixed regression when using bitmap fonts on some
Linux systems.
- QFontEngine
* [QTBUG-9442] Avoid possible square root of negative number in
FreeType font engine.
- QFontMetrics
* [QTBUG-10448] Fix crash when using fonts in non-gui QApplication.
Qt for Windows
--------------
- Popup windows now implicitly activate when shown. (QTBUG-7386)
- QComboBox [QTBUG-7552] Fix an issue where only "..." would be shown for
QComboBox with certain DPI settings.
- Fixed a problem where menus exec'ed on system tray icons did not
disappear. (QTBUG-7386)
- Improved look and feel for QWizard on Windows 7 and Vista. (QTBUG-9873),
(QTBUG-11974) and (QTBUG-6120)
- QLocalSocket
* Pipe handle leak fixed, when closing a QLocalSocket that still has
unwritten data. (QTBUG-7815)
* Fixed closing state for local sockets with unwritten data. (QTBUG-9681)
* Improved performance of writing to QLocalSocket.
Qt for Mac OS X
---------------
- QMacStyle
* Removed frame around statusbar items. (QTBUG-3574)
* More native appearance of item view headers and frames. (QTBUG-10047)
* Increased spacing between tree view items. (QTBUG-10190)
* Removed frame around status bar items. (QTBUG-3574)
- QFontEngine
* Enable fractional metrics for the font engine on Mac in all
stages of text layout.
* [QTBUG-5529] Enable design metrics for correct character spacing
in ATSUI font engine. (Mac/Carbon)
- QTextDocument
* [QTBUG-8791] Fix misalignment of fixed width fonts between
format changes on Cocoa.
- QTextLayout
* [QTBUG-9879] Fix off-by-one in vertical position for elided and
non-elided text.
Qt for Embedded Linux
---------------------
* Add support for WA_TranslucentBackground (QTBUG-5739)
* Add support for QFont::NoAntialias (QTBUG-5936)
Qt for Windows CE
-----------------
- Core changes
* Fixed menu handling on Windows mobile. (QTBUG-8754)
* Fixed a crash when receiving a certain type of WM_SETTINGSCHANGE
message. (QTBUG-7943)
- QWindowsMobileStyle
* Huge performance penalty for QTabWidget fixed for
Windows mobile 6.5. (QTBUG-8419)
* QTabBar scroll button size has been fixed. (QTBUG-8757)
* Detection of Windows mobile 6.5 fixed. (QTBUG-8418)
Qt for Symbian
--------------
- QSplashScreen
* [QTBUG-11129] Fixed a hanging bug in QSplashScreen on 3.1 devices.
****************************************************************************
* Compiler Specific Changes *
****************************************************************************
****************************************************************************
* Tools *
****************************************************************************
- Build System
- [QT-3540] Fixed Symbian resources not honoring TARGET with a path.
- "configure -fast" on Windows now also works for other make tools than
nmake. (QTBUG-8562)
- [QTBUG-11351] Fixed memory restrictions not being passed on to elf2e32.
- [QTBUG-11385] Removed the need to specify -arch symbian when compiling
for Symbian on Linux.
- [QTBUG-11396] "configure -qtlibinfix" now works when compiling for
Symbian on Linux.
- [QTBUG-11670] Fixed a bug which caused "make runonphone" to look for
package in the wrong place.
- [QTBUG-11727] Fixed a bug which made builds outside of the Qt tree fail
to compile.
- [QTBUG-11927] "configure -silent" now works with the
symbian/linux-armcc and symbian/linux-gcce mkspecs.
- Assistant
- Designer
- [QTBUG-9351] Fixed a bug that caused modified headerview-properties
of item views to be duplicated in the UI-file.
- [QTBUG-8347] Fixed a layout problem caused by embedded images in the rich
text of a QLabel.
- [QTBUG-8041], [QTBUG-8213] Fixed a crash related to undo while moving
widgets by arrow keys.
- [QTBUG-7822] Added support for the 'windowOpacity'-property.
- [QTBUG-7764] Fixed the emission of the propertyChanged()-signal of
QDesignerPropertyEditorInterface.
- [QTBUG-5492] Made widgetbox-filter match on class names, too.
- Linguist
* The GNU gettext PO format support has been improved
- rcc
- moc
* Fixed several parsing bugs. Including changes in the normalized signature.
- uic
- uic3
- [QTBUG-9207] Fixed export of image files of type XPM, added
compatibility option -limit-xpm-linelength.
- qmake
* Removed remainder of tmake compatibility
* Removed remainder of mac9 mode
* Removed MSVC6 generator
* Removed makespecs for MSVC.NET and MSVC2002
* Deprecated -win32/-unix/-macx options, following various cleanups
relating to platform support. Cross-building makespecs should now
specify a TARGET_PLATFORM.
* Started to warn about use of various constructs:
- non-lowercased replace $$function() calls
- deprecated variables
- unescaped backslashes.
NOTE: You should use UNIX path separators where possible. qmake
will warn about unnecessary Windows path separators in the future.
* Removed expansion of qmake- & environment variables in some unexpected
cases (double expansions, command line options, etc.)
* Removed splitting at semicolons of literal values which were assigned
directly to INCLUDEPATH and DEPENDPATH
* Removed UNIX-specific exporting of all qmake variables to the environment
of subprocesses invoked via system(). You should put specific assignments
into the invoked shell command instead.
* Started to short-cut evaluation inside if() tests, consistently with
evaluation outside if().
* Added possibility to request project recursion from within a PRO file
- configure
- qtconfig
- qt3to4
****************************************************************************
* Plugins *
****************************************************************************
****************************************************************************
* Important Behavior Changes *
****************************************************************************
QtScript: Changes due to updating src/3rdparty/javascriptcore:
- It is no longer possible to delete an undeletable property from C++
using QScriptValue::setProperty().
- The QScriptEngineAgent::positionChange() callback will always report
a column number of 1.
- QScriptValueIterator will include the "length" property when iterating
over Array objects.
QtCore:
- QChar no longer carries the Q_PACKED tag on ARM. This flag was
used to allow proper alignment of QChar on 2 bytes on older ARM
ABIs, but it also allowed for unaligned access. Qt never generates
or uses unaligned access and the new EABI aligns as expected, so
the flag was removed.
- QTextBoundaryFinder is now consistent with ICU when it comes to
line breaking, reporting the index of the boundary at which the line
break should occur rather than the index of the character.
QtGui:
- QWidget::setLayoutDirection no longer affects the text layout
direction (Qt::LeftToRight or Qt::RightToLeft) of QTextEdit, QLineEdit
and widgets based on them. The default text layout direction
(Qt::LayoutDirectionAuto) is now detected from keyboard layout and
language of the text (conforms to Unicode standards). To
programmatically force the text direction of a QTextEdit, you can
change the defaultTextOption of the QTextDocument associated with that
widget with a new QTextOption of different textDirection property. For
QLineEdit, the only way so far is sending a Qt::Key_Direction_L/R
keyboard event to that widget.
QtNetwork:
- Qt does no longer provide its own CA bundle, but uses system APIs for
retrieving the default system certificates.
|