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
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
|
Qt 4.5.1 is a bug-fix release. It maintains both forward and backward
compatibility (source and binary) with Qt 4.5.0. For more details,
refer to the online documentation included in this distribution. The
documentation is also available online:
http://doc.trolltech.com/4.5
The Qt version 4.5 series is binary compatible with the 4.4.x series.
Applications compiled for 4.4 will continue to run with 4.5.
Some of the changes listed in this file include issue tracking numbers
corresponding to tasks in the Task Tracker:
http://www.qtsoftware.com/developer/task-tracker
Each of these identifiers can be entered in the task tracker to obtain more
information about a particular change.
****************************************************************************
* General *
****************************************************************************
General Improvements
--------------------
- Documentation and Examples
* Added printing feature for the Spreadsheet demo.
* [245675] Clarified the differences between QItemDelegate and
QStyledItemDelegate.
* [248752] Marked QPrintDialog::printer(), setPrinter() and addButton()
as Unix only functions, part of Qt3Support.
- Embedded Dialogs demo
* [246517] Fixed warnings and bugs in hover handling on Mac OS X
Optimizations
-------------
- Graphics View Framework has been optimized in several areas
* Improved the performance of QGraphicsItem::clipPath().
* Improved the performance of QGraphicsItem::setPos().
* Improved the performance of QGraphicsItem::effectiveOpacity().
* Improved the performance of QGrahicsScene::items(*).
* Improved handling of updates.
* Reduced the number of floating point operations.
* Reduced QVariant overhead.
Third party components
----------------------
****************************************************************************
* Library *
****************************************************************************
- QAbstractItemModel
* Clarified some warning messages printed if the model is invalid.
- QAbstractEventDispatcher
* [248805] Duplicate timerids could occur if a timer is running while the
QObject is moved to another thread, stopping timers from working.
- QAbstractSocket
* [192037] Emit the disconnected signal only if we were connected before.
- QAccessible
* [241161] Fixed a bug in browsing menus with the keyboard.
* [221731] Fixed a bug where the accessibility plugin could crash if
there was an "&" at the end or spin forever if a label had a sequence of
"&&".
- QAtomicInt
* [216492] Fixed compilation on 64-bit PowerPC machines with gcc 4.3.
- QAuthenticator
* [237979] Fixed implementation of md5-sess.
- QByteArray
* [246233] QByteArray::fromHex() fails with input of size 1.
- QColorDialog
* [247349] Fixed a bug causing the wrong alpha value to be returned.
- QCombobox
* [248094] Fixed scrollbar from appearing when not required.
- QCompleter
* [250064] Fixed a regression in focus policy propagation.
* [246056] Fixed an assertion failure in setCompletionPrefix().
- QtConcurrent
* [244718] Reduced the number of calls to QThread::idealThreadCount().
- QDirIterator
* [247645] Fixed a bug that may loose all cached data inside QFileInfo.
- QFile
* [244500] QFile::rename() does not always return false when the method
fails
* [244485] Renaming a file does not change QFile::fileName().
- QFileInfo
* [205244] Return valid file info also for relative UNC paths.
- QFileDialog
* [250194] Fixed an issue with QFileDialog and QSortFilterProxyModel
index mapping.
* [248332] QFileDialog is slow after visiting a large directory.
* [221323] Fixed a bug in QFileDialog's programmatical file selection.
- QGLFramebufferObject
* Framebuffer object extension resolution now works with OpenGL/ES 2.0.
- QGraphicsItem
* [247890] Cached QGraphicsItems are not updated if update() is called
when they are hidden.
* [250272] Fixed a crash that could occur when an item is deleted but
it does not get removed from the sceneeventfilters.
* Fixed a slow down regression in QGraphicsItem::ItemCoordinateCache.
- QGraphicsGridLayout
* [242472] Fixed a bug where the calculation of the maximum width of a
column was incorrect.
- QGraphicsScene
* [243707] Fixed a crash when adding a child before a parent to the
scene.
- QGraphicsView
* [245766] Rubber Band drag mode does not update correctly when
scrolling.
- QGraphicsWidget
* [246215] Fixed a regression where we could cache the wrong size hint
because we called the virtual sizeHint() from the constructor.
- QHttp
* [208445] Cancel request upon receiving unknown authentication method.
* Compile fixes for QT_BEGIN_NAMESPACE being in the wrong place in some
private headers.
- QHostAddress
* [247330] Fixed compilation on MinGW by adding a missing QPair include.
- QLocalSocket
* Fixed a bug that would cause QLocalSocket to disconnect 30 seconds
after a succesful delayed connection on UNIX.
- QMacStyle
* [248769] Fixed a regression where QMacStyle would only draw tabs when
passed a QStyleOptionTabV3.
* Adjusted the opacity value for popups.
- QMainWindow
* [248048] Fixed a regression that would cause tooltips to disappear when
using the unified toolbar.
- QMetaType
* [248890] The detailed description of QMetaType no longer contradicts
the documentation of QMetaType::type()
- QMutex
* Fixed a performance regression for contended mutexes as reported on the
qt4-preview-feedback list.
- QPainter
* [247492] Fixed a rendering bug in the raster paint engine causing
one-pixel offset when drawing premultiplied ARGB32 images on RGB16
images.
* [249490] Fixed one-pixel offset between stroke and fills of ellipses in
the X11 paint engine.
* [246573] Fixed a very slow stroking of paths in the X11 paint engine.
* [247083] Fixed the scale applied to antialiased cosmetic pens in X11
paint engine.
* [247505] Fixed missing fills of rectangles with negative width/height
in raster paint engine.
* [249628] Fixed a crash in OpenGL paint engine when filling using
Qt::NoBrush.
* Compile fixes for OpenGL paint engine on OpenGL/ES 1.1 CommonLite and
OpenGL/ES 1.0.
- QPixmap
* [249175] Fixed QPixmap::fromImage() of monochrome images to result in
black/white pixels and not transparent/white pixels.
- QProcess
* [247865] Fixed a crash when calling QProcess::start() and
startDetached() with an empty program string.
- QScrollBar
* [247985] Stylesheet: added the feature to style scrollbar menus.
- QSharedPointer
* [246843] Fixed a crash caused by using QSharedPointer in global statics.
- QSortFilterProxyModel
* [247867] Properly sort when calling appendRows().
* [248868] Re-sort when the model is reset if dynamicSort is enabled.
* [248868] Fixed QSortFilterProxyModel::sort() if dynamicSort was disabled.
- QSSlSocket
* [245668] Set also protocol, verifyMode and verifyDepth in
setSslConfiguration().
- QString
* [249517] Fixed a regression in replace(int, int, QChar) when the string
is empty.
- QStyleSheetStyle
* Improved support for setting background and foreground roles in styles
such as the text color in a combo box popup on Mac and Cleanlooks, or
the background of QScrollBar.
* [188195] Fixed the background of QAbstractScrollArea losing its color
if styled with pseudo-class.
* Fixed a crash that occured while styling the title bar of a QMdiArea.
* [246542] Fixed a bug in QToolButton::hover{ color:.... }.
- QThread
* [249997] Added documentation indicating that the priority set by the
programmer may be ignored, for example on Linux.
- QTreeView
* Fixed a crash that may occur when events are processed immediately
after a QSortFilterProxyModel is invalidated.
* [246025] Fixed auto-expand that occured when quickly collapsing an item
after clicking on a child.
* [248805] Calling QTreeView::sortByColumn() programmatically was not
working if manual sorting was disabled.
* [248163] Fixed a possible crash in the paintEvent() when spans are used.
- QWidget
* [250388] Fixed a potential crash in QWidget::scroll() when using the
raster graphics system.
- QWidget
* [246852] Improved handling of WindowMaximizeButtonHint for widgets with
layouts.
-QLocale
* String-to-number conversion functions will now ignore trailing and
leading whitespaces in all locales as documented.
- QWizard
* [248107] Fixed a bug on Windows Vista causing the Back button to
connect to the back() signal twice.
- Q3ListView
* [248689] Fixed a bug in Q3ListView that would not update under certain
conditions.
- QtWebKit
* [248643] Fixed compiling with the "-pedantic" compile option.
* Fixed a bug in cookie handling (WebKit Bugzilla 24062, Benjamin Meyer).
* Fixed a bug in calling from JavaScript into NPAPI plugins on Windows.
* Fixed the updating state of WebActions (Erik Bunce)
* Fixed a bug in HTML 5 Canvas clearRect() (Dirk Schulze)
* Fixed the theming of text fields with KDE 4 Oxygen style (Zack Rusin)
* Fixed path fill styles (Zack Rusin)
* Fixed pre-edit text handling with input methods.
- QSqlTableModel
* [189093] QSqlTableModel did not handle updates when one of the fields
had a NULL value.
* Made setTable() try and use the database's letter case (uppercase/
lowercase) of the given tablename.
****************************************************************************
* Database Drivers *
****************************************************************************
* Fixed the DB2 driver returning a double field as empty.
* Fixed a memory leak in the DB2 driver.
* [249059] Fixed a bug that handled QPSQL datetime/time fields with
negative timezone offsets incorrectly.
* Fixed the DB2 driver not quoting table/field names properly.
* Fixed an issue with ODBC & FreeTDS not accepting quotes in statements.
* Fixed a bug in the sqlite2 driver not returning false on failing to
execute a statement.
* PrecisionPolicy now works in the oracle driver.
* Fixed a bug in the ODBC driver returning a list of tables when
requested.
* Fixed Interbase retrieving scale/precision information on numeric/
decimal fields.
* Stopped drivers from quoting again when escapeIdentifier is called
twice.
* Fixed a bug in the sqlite2 driver not quoting fields correctly.
* [232769] Fixed a memory overflow issue on bound out strings in ODBC
Driver
****************************************************************************
* Platform Specific Changes *
****************************************************************************
Qt for Linux/X11
----------------
* Proper resetting input contexts when switching between multiple
input context plugins.
* [244337] Improved input method handling when the widgets native
window id is recreated.
* Input methods preedit strings are properly reset when user
switches focus without commiting a string.
* [244607] Current focus widget is properly set and input method is
properly initialized when showing a toplevel that accepts
keyboard input.
* Unicode conversion functions will handle Latin-1 character set
only if they are used before QCoreApplication/QApplication is
constructed.
* Improved handling of failed unicode conversion.
* [232632] Fixed reparenting widgets to a difference X11 screen.
* [241888] The background of the drag-n-drop cursor is respected
according to the stylesheet.
* Fixed clipboard handling when the user manually creates an
instance of the QDesktopWidget.
* [226048] Fixed emitting a QDesktopWidget::resized() signal when
new screen appears or screen geometry is changed without
affecting the whole desktop geometry.
- Phonon/GStreamer
* [244259] Fixed a problem where the backend would fail to indicate an
error when streaming fails.
* [233188] Fixed a problem where the seek slider would reset to 0 while
being dragged.
* [246189] Fixed a problem where the backend would fail to correctly
escape certain file names so that playback would not start
* [246097] Added support for the MediaController interface to allow audio
CD playback.
- QGtkStyle
* The system palette is no longer strictly forced. Also behavior related
to system theme changes have been improved.
* [249363] QFrame is now styled as a GtkScrolledWindow.
* [247653] Fixed a compilation issue on solaris.
* Fixed palette and styling issues with the background color of
combo box popups.
* [239829] Disabled alt-key navigation for QGtkStyle to follow
GTK+ behavior.
* [238196] Allow middle click to set scrollbar position to follow
GTK+ behavior.
- Font rendering
* Improve performance of subpixel antialiased text rendering by using a mask
in the calls to XRender's text compositing function.
* [248387] Better respect the font config LCD filter settings for subpixel
antialiased text rendering when Freetype's native subpixel rendering is
disabled.
* [248498] Fix garbled rendering of subpixel antialiased text when using
Freetype's native subpixel rendering for vertical subpixel layouts.
* [248644] Fall back to Qt's subpixel rendering if Freetype's subpixel
rendering is available at compile-time but not at run-time.
- QEventDispatcherGlib
* Event posted to a thread before it is started are not processed until
others events are posted.
- QWidget
* [213512] Fixed a bug that would cause wrong clipping when using the
Qt::WA_PaintOutsidePaintEvent attribute.
Qt for Windows
--------------
* [243583] Improved drag-and-drop handling when switching mouse
buttons fast.
- QCoreApplication
* [247401] Fixed a bug that would cause a restarted timer to fire
too early, causing Javascript in QtWebKit to consume 100% CPU on
Windows.
- QWindowsXPStyle
* [248036] Fixed an issue where tool buttons would incorrectly
hover when disabled.
- QWidget
* [248391] Fixed a bug that made it impossible to dynamically switch
from QPainter based graphics to native graphics API and back.
- [249576] Fixed a crash when using a combobox with Qt::NoFocus.
- [244875] System menu will now be shown for a fullscreen window.
- [240891] Corrected the focus behavior of native file dialogs, when application has multiple toplevels.
- [245330] Fixed a bug which causes mouse inputs to be ignored on modal dialogs, when shown from an ActieQt control.
Qt for Mac OS X
---------------
- Cocoa port
* Fixed a bug where actions in the native menubar weren't properly disabled.
* Make shortcuts work properly when using the Dvorak-QWERTY+CMD keyboard layout.
* Fixed a bug where dialogs would be positioned in the wrong place on the screen.
* [244369] Window flags on Cocoa windows should match have a similar look as the Carbon ones.
* The build-key for Cocoa was changed in the unlikely case that a plugin may make
assumptions on how Qt was built. All Cocoa plugins built against 4.5.0 WILL NOT WORK
with 4.5.1, we don't foresee changing this again.
* Fixed a bug where some windows would not get activation when they normally should.
* Key events sent to popups do not get propagated onwards.
* [249296] Fix a bug where lineedits on a second page of a stack widget would not get key events
* QFileOpenEvents are no longer sent for items passed on the command line.
* Various fixes for determining metrics of text and the ability to disable kerning.
* [248918] Fixed color matching for themed text items.
* Modify the colliding mice example to work better with coalesced updates.
* Fixed a bug where the drag cursor was not updated when modifier keys are used.
* [247947] Fixed a crash in drag and drop.
* The command + h shortcut is now enabled. (Hides the current window.)
* [239043] Fixed a bug that would cause QGraphicsProxyWidget to shrink when moving it.
- QDesktopWidget
* [244004] Support multiple screens that have different sizes properly.
- QDialog
* [239155] QDialog(foo, Qt::Sheet) with QComboBox have none native behavior.
* [218980] Modeless dialogs should be stacked above normal windows.
* [195904] Parent dialog is displayed on top of its modal child.
- QFileDialog
* [219844] QFileDialog::getOpenFileName() search buttons lead to crash (native version).
* [225705] QFileDialog::getSaveFileName()'s filter does not display correctly.
- QMenu
* [228017] QMenu should close when expanding a system menu.
- Event system
* [210912] ShowEvent not sendt when reshowing a window after it was minimized.
- macdeployqt
* The binary packages now includes the macdeployqt tool.
* macdeployqt now runs 'strip' on the deployed binaries.
* Fixed issue preventing the QtSvg from being deployed.
- configure script
* Now supports "-arch i386" as an alias for "-arch x86".
* Detects invalid arch arguemnts and exits.
- Fix a crash when showing a widget that is window modal but has no parent.
- [248803] Showing two dialogs at the same time don't get shared activation.
- Added QSysInfo::MV_10_6 as an enum to test against.
- Various compile fixes for Snow Leopard (preliminary support).
- The uninstall-qt.py script included in the binary package no longer complains about removing itself multiple times.
- [223525] Macmainwindow Demo Application (crashfix).
- Document a bit clearer how qt_mac_set_dock_menu() works.
- QTestLib
* Activate the test application when launched from the command line.
- Fixed the focus frame transparency that would make widget difficult to use with widget stylesheet.
Qt for Embedded Linux
---------------------
- Various improvements to the Qt DirectFB plugin.
- Fix recreation of temporary EGL surfaces in PowerVR gfxdriver.
- Document some necessary #define's for building the PowerVR gfxdriver.
Qt for Windows CE
-----------------
* [246619] Fixed tap and hold bug for QCheckbox.
****************************************************************************
* Compiler Specific Changes *
****************************************************************************
****************************************************************************
* Tools *
****************************************************************************
- Build System
- Assistant
- Designer
* [249097] Fixed a crash related to undoing a QGridLayout re-layouting
operation.
* [247995] Fixed a crash occurring after layout operations that cause
an instance of QGridLayout or QFormLayout to shrink.
* [248000] Fixed a crash ocurring when re-layouting empty grid layouts.
* [245961] Restricted objectname-validation to known object name
properties only.
* [245503] Fixed redundant backslashes in string property in property browser.
- Linguist
- Linguist GUI
* [248076] Fixed crash upon opening files for which we have no plural rules
* [249519] Fixed crash upon dropping text into non-focused lineedit
- Entire Linguist toolchain
* [244035] Fixed endless loop in PO writer
* [247738] Improved handling of duplicated messages
* [248849] Fixed encoding in XLIFF writer
* [249022] Fixed TS' and QM's handling of messages which appear in multiple encodings
- lupdate
* [248724] Fixed encoding of messages from .ui files if CODECFORTR is not utf8
* [249633] Fixed processing of C++ backslash line continuations
- rcc
- moc
* [240368] moc parsing issue with "unsigned" subphrase
- uic
* [244998] Fixed include file generation for phonon widgets.
* [248070] Fixed code generation for QStringList-type properties to use
encoding properly.
* [242447] Made uic generate class-specific code correctly in the case
of multiple levels of inheritance.
- uic3
- qmake
* [248806] Ensure that the Xcode generator includes the right path to frameworks.
* [201495] Comment processing in qmake prevented file from being moc'ed
* On Mac OS, properly escape file names in QMAKE_BUNDLE_DATA
* Fixed moc and uic features to make shadow builds work even if a non-shadow build is present
- configure
- qtconfig
- qt3to4
****************************************************************************
* Plugins *
****************************************************************************
****************************************************************************
* Important Behavior Changes *
****************************************************************************
|