summaryrefslogtreecommitdiffstats
path: root/dist/changes-4.3.1
blob: 71de8e9bff71018e7b8b55cc293807d9a8d2a1a8 (plain)
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
Qt 4.3.1 is a bug-fix release. It maintains both forward and backward
compatibility (source and binary) with Qt 4.3.0.

The Qt version 4.3 series is binary compatible with the 4.2.x, 4.1.x and
4.0.x series. Applications compiled for Qt 4.0, 4.1 or 4.2 will continue to
run with Qt 4.3.

****************************************************************************
*                           General                                        *
****************************************************************************

General Improvements
--------------------

- Translations
    * Updated the German translation to provide complete coverage of Qt.

- QDBusView
    * Added icons for Mac OS X and Windows.

- Intel C++ Compiler for Linux
    * Added support for version 10 of the compiler. See the Compiler
      Notes documentation for known problems and work-arounds for this
      compiler.
    * Added linux-icc-32 mkspec, for building with the 32-bit compiler
      on 64-bit hosts.

Third party components
----------------------

- FreeType
    * Security fix (CVE-2007-2754): Integer overflow in the
      TT_Load_Simple_Glyph function in freetype 2.3.4 and earlier allows
      remote authenticated users to execute arbitrary code via crafted BDF
      fonts.

- SQLite
    * File descriptors are not inherited during spawn() anymore.

Build System
------------

    * Fixed native builds on ARM architectures.

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

General Improvements
--------------------

- QAbstractItemView
    * [166605] Fixed regression causing keyboard modifiers to have no effect
      during drag and drop operations.
    * [169233] Fixed bug that would prevent text from being selected in
      double spin box editors.
    * [168917] Text would sometimes not be selected in the editor.

- QAbstractItemModel
    * [166714] Fixed regression causing persistent indexes to not be
      correctly updated.

- QAbstractPrintDialog
    * [163000] Fixed bug on Unix where the PrintSelection option would not
      be enabled unless PrintPageRange was also enabled.

- QApplication
    * [166677] Windows only: Fixed an issue with alert() where windows
      would keep flashing after being activated by the user.
    * [168974] Fixed problems with compilation that could occur when
      QT3_SUPPORT and QT_NO_CURSOR were defined.

- QComboBox
    * [165130] Mac OS X only: Fixed bug that caused an editable combo box to
      cut off list entries.

- QDesktopServices
   * [165817] Fixed misleading documentation of
     QDesktopServices::setUrlHandler().

- QDialog
    * [166900, 166514] Fixed bug where a dialog could remain visible after
      hide() had been called.

- QFile
   * [167217] Fixed regression that prevented the sequential bit from being
     reset when reopening a file.

- QFileDialog:
   * [164947] Mac OS X only: Ensure that the parent of a native sheet dialog
     is activated before a sheet is shown.

- QFSFileEngine:
   * [163406] Ensured that QFile::readLine() works on all platforms when
     QFile is opened on file descriptor 0.

- QGLWidget
    * [162085] X11 only: Fixed usage of QGLWidget on multiple X11 screens.
    * [164707] X11 only: Fixed the transparent overlay color usage to make
      it possible to draw with a solid black color. Qt::transparent is now
      always returned as the transparent color in an overlay.
    * [162143] Fixed a crash that could occur when calling renderPixmap()
      with extremely large sizes. It now gracefully fails instead.

- QGraphicsItem
    * [163430] Improved precision of QGraphicsItem::ItemIsMovable move
      operations, and fixed move support for
      QGraphicsItem::ItemIgnoresTransformations.

- QGraphicsItemAnimation
    * [164585] Fixed setTimeLine(0) to properly remove the existing timeline,
      and also ensured that setting the same timeline twice works fine.

- QGraphicsScene
    * [163555] Flat items (items whose bounding rect width or height is 0)
      no longer cause a full viewport update when they are updated.

- QGraphicsView
    * [160828] Fixed bug in QGraphicsScene/View::render() which could cause
      nothing to be rendered for QPicture target devices.
    * [163919] Scroll bar ranges are no longer reset to (0,0) when the
      scroll bars are disabled (Qt::ScrollBarAlwaysOff).
    * [163537] Scroll bar ranges are now correct also for styles with a
      viewport frame only around the viewport itself (e.g., Motif and Mac
      OS X style).
    * [158245] Calling setScene(0) now recalculates the scroll bar ranges.
    * [170619, 157400] Fixed rendering bugs that could occur when using a
      semi-transparent foreground or background brush.
    * [170619, 168885] Fixed a bug that would cause the rubber band to
      appear after invoking a context menu.

- QHostInfo
    * [168233] Ensured that all pending look-ups are terminated on
      application exit to avoid a delayed application shutdown while waiting
      for the look-ups to complete.
    * [167487] Fixed support for Unix platforms that allow IPv6 look-ups
      through getaddrinfo(), but that don't support IPv6 sockets.

- QImage
    * [163727] Fixed artifacts in scaled images that could occur when using
      Qt::FastTransformation.
    * [169908] Fixed a crash that could occur when reading 4-bit
      uncompressed BMP images.

- QLocale
    * [167534] Fixed bug that would cause QLocale::toString() to return
      garbage if passed an invalid time or date.

- QMainWindow
    * [166004, 167651] Made the unified toolbar handle layout requests.
    * Mac OS X only: Don't move the window's title bar when clicking on the
      toolbar button.
    * [164105] Made the unified toolbar handle showMaximized().
    * [162555] Move OpenGL contexts when the toolbar button is pressed and
      we are using the unified toolbar.
    * [169063] Fixed a crash that could occur when setting a new menu bar
      and the old one contained corner widgets.

- QMdiArea
    * [162573] Improved switching between maximized subwindows (less
      flickering).
    * [162046, 164264] Improved activation behavior.
    * [170770] Fixed inconsistent behavior with scroll bars when a subwindow
      is maximized.
    * [169873] Fixed incorrect positions of tiled subwindows.

- QMdiSubWindow
    * [168129] Improved the way a default window icon is selected.
    * [169859] Improved menu bar buttons for maximized subwindows.
    * Improved support for size grips.
    * [169543] Windows only (XP style): Fixed a problem where the frame
      width was 1 pixel wider than it should have been.
    * [168829] Fixed incorrect margins of maximized subwindows inside
      QMainWindow.

- QMenu
    * [166652] Fixed a regression where context menus could not be triggered
      with the right mouse button.
    * [161789] Fixed a bug that prevented tear-off handles from being
      activated when they were dragged down from the menu bar item.

- QMenuBar
    * [168892] Fixed bug that made the extension always appear when adding a
      separator to a menu bar.
    * [166181] Fixed bug that caused extensions to be misplaced.
    * [166242] Fixed bug that could cause menus to be collapsed.

- QMessageBox
    * Ensured that the default button isn't lost when the modality of the
      message box is changed.

- QMacStyle
    * Ensured that items with State_Focus actually get the focus ring drawn.

- QNetworkProxy
    * [170549] Fixed a regression from 4.2.3 in the default constructor; if
      used before any other proxy settings were applied, it would fail to
      initialize the proxy handlers, effectively disabling support for
      SOCKS5 and HTTP proxies.

- QOpenGLPaintEngine
    * [166087] Fixed a memory leak caused by not releasing GL program
      handles if they failed to compile.
    * [166054] Ensured that push and pop operations are performed on the
      texture matrix stack and the client state attributes when begin()
      and end() are called.
    * [161021] Fixed rendering of points with cosmetic pens with widths
      greater than 0.

- QPainter
    * [158815] Fixed rendering artifacts for extended composition modes with
      semi-transparent or anti-aliased drawing.
    * [163744] Fixed aliased ellipse drawing artifacts (horizontal lines)
      in raster engine.
    * [166623] Fixed bug where gradients with ObjectBoundingMode would be
      drawn at an incorrect offset.
    * [167497] Fixed color bleeding artifacts at the edges when drawing
      images/pixmaps with SmoothPixmapTransform on X11.
    * [168621] Fixed bug which would cause projective transformations to be
      incorrectly applied for non-top-level widgets.
    * [168623] Fixed drawing of gradients with projective transformations.
    * [167891] Fixed an assert in QBezier::shifted() that occured when
      drawing certain paths.

- QPlastiqueStyle
    * [167145] Fixed a regression with combo and spin box text margins.

- QPrintDialog
    X11 only:
    * [142701] Fixed an assert which could occur on a system with CUPS
      setup, but no printers available.
    * [165957] Added support to allow printers to be chosen from the
      NPRINTER and NGPRINTER enviroment variables.
      Ensured that CUPS command line options are not used when not using
      CUPS.
    * [158807] Fixed page ordering when printing to a CUPS printer or to PDF
      files.
    * [155129] Fixed Landscape printing with CUPS version < 1.2.

    Windows only:
    * [166054] Fixed a crash which could occur when trying to use a
      QPrintDialog to configure a printer set to use
      QPrinter::PostScriptFormat as output format.
    * [162729] Fixed an assert that could occur when entering an invalid
      page range.

- QPrintEngine
    * [166499] Windows only: Fixed a bug that could cause printing from a
      QTextEdit to produce incorrect wrong results under certain
      circumstances.
    * [161915] Mac OS X only: Drawing vertical lines with a dot pattern now
      work correctly on OS X 10.3.9.

- QProcess
    * [161944] QProcess::setReadChannel() no longer affects the contents of
      the stderr / stdout / unget buffers. QProcess::readAllStandardError()
      and QProcess::readAllStandardOutput() no longer clear any unget data
      or buffered data.

- QPixmap
    * [167841] Fixed bug where filling a QPixmap with an alpha color would
      fail to detach the pixmap, causing copies of the pixmap to be changed
      as well.
    * [157166] X11 only: Fixed problem with disappearing icons on 8-bit
      TrueColor displays.
    * [161307] Mac OS X only: Drawing bitmaps on pixmaps now works
      correctly.

- QRasterPaintEngine
    * [166710] Fixed bug that prevented Qt::OpaqueMode from being taken into
      account under certain circumstances when QPainter::fillRect() was
      called.
    * [159538] Fixed drawing of a monochrome image into another monochrome
      image.
    * [166000] Fixed compilation of mmxext optimizations.
    * [156925] Fixed performance bug in 3DNow! optimizations.

- QRegion
    * [167445] Removed potential assert in QRegion::operator^ on Unix.

- QScriptEngine
    * [165899] Fixed bug where calling an overloaded slot from a script
      would pick the wrong overload when the argument is a QObject.
    * [166903] Fixed crash when evaluating a call to a script function that
      ends with an if-statement with a true-part that ends with a return
      statement (and has no else-part).

- QScrollArea
    * [167838] Use micro focus rectangle (if "active") instead of the entire
      widget in ensureWidgetVisible().

- QSortFilterProxyModel
    * [167273] Fixed regression that caused QSortFilterProxyModel to assert
      when changing data in a QSqlTableModel source model with the
      OnFieldChange edit strategy.

- QSqlQueryModel
    * [166880] Fixed a bug where setQuery() could cause a crash by calling
      hasFeature() on the wrong driver instance.

- QSqlRelationalTableModel
    * [140782] Fixed a bug which caused insertRecord() to fail when record()
      returns a record containing duplicate field names.

- QSslCertificate
    * [168116] Don't crash when passing 0 to QSslCertificate::fromDevice();
      issue a warning instead. This fix also removes warnings about
      uninitialized symbols when accessing the static functions in
      QSslCertificate before creating a QSslSocket.

- QSslSocket
    * [164356] Fixed a crash that could occur when passing a string to
      setCiphers().
    * [166633] Fixed a memory leak that would occur with each established
      connection.
    * [165962] Fixed support for wildcard certificates.
    * [167593] Fixed a bug that caused QSslSocket::protocol() to be ignored
      and set to the default of SSLv3 under certain circumstances.
    * [167380] Fixed a crash when assigning a null key for SSL servers.
    * [169571] Fixed a crash that could occur after disconnecting from a
      remote address.

- QTcpSocket
    * [169183] Removed a qWarning() when reading from a closed socket
      (regression from 4.2.3).

- QTemporaryFile
    * [167565] Fixed a regression from 4.2.3; size() would always return 0.

- QTextEdit
    * [161577] Fixed regression causing Shift-Backspace to be ignored.
    * [165833] Fixed floating point overflow causing incorrect page heights
      for text documents.
    * [167377] Fixed performance regression when appending a lot of text in
      NoWrap line break mode when there is a horizontal scroll bar.
    * [163446] Fixed excessive emission of selectionChanged() signals when
      moving the cursor.
    * [167701] Fixed QTextEdit::setLineWrapMode to not change the
      wordWrapMode property when called with NoWrap.

- QTextDocument
    * [160631] Fixed missing HTML export of page break policies.
    * [163258] Fixed bug that prevented text table borders from being drawn
      in QLabels and tool tips.
    * [166670] Fixed layout bug that caused the right margin property of
      paragraphs inside table cells to be ignored.
    * [168406] Fixed rendering bug which would cause incorrect background
      fills for paragraphs with a left margin set.

- QTextLayout
    * [166083] Fixed incorrect line breaking when breaking at a tab
      character.
    * [165861] Fixed support for QTextOption::NoWrap.

- QLabel
    * [162515] Fixed bug that prevented QLabel's alignment from being
      applied properly to rich text.

- QUrl
    * Fixed a bug in QUrl::clear() which left some internal data uncleared.

- QWidget
    * [165177] Fixed crash that could occur when deleting a focus widget from a
      window with a non-null parent.
    * [165654] Fixed issue with incorrect repainting that could occur when
      deleting an opaque child widget.

- QWindowsVistaStyle
    * [162730] Fixed the use of an incorrect font for item views on Windows
      Vista.
    * [157324] Improved the native appearance of indeterminate progress
      bars.
    * [170012] Fixed a bug which prevented the busy mode of a progress bar
      from working when both its range and value were set to zero.

- QWindowsXPStyle
    * [132695] Fixed a crash issue that could occur after multiple system
      theme changes.

- QWizard
    * [159684] AeroStyle: Fixed bug that caused the minimum height to be set
      too low.
    * [161670] AeroStyle: Fixed a problem that caused title bar buttons to
      remaining glowing after the mouse had left the window.
    * [161678] AeroStyle: Fixed a problem with incorrect vertical center
      alignment of wizard buttons.

- Q3Header
    * [167283] Fixed regression in painting of the header.

- Q3ListViewItem
    * [165853] Fixed background coloring of a cell.

- Q3Socket
    * [163563] Fixed regression in canReadLine(); it now properly searches
      all internal buffers.

- Q3Table
    * [168497] Fixed incorrect updates when using setUpdatesEnabled().

- Q3Wizard
    * [168195] Fixed bug that could cause the wrong page to be shown when
      reopening a wizard.


****************************************************************************
*                          Database Drivers                                *
****************************************************************************

- Interbase driver
    * [149761] Added support for compiling Firebird 2.0 on 64-bit platforms.
    * [165423] Fixed a regression causing an assert when calling a stored
      procedure without out-parameters.
    * [166238] Fixed a bug that caused only the first segment of multi-
      segmented BLOBs to be retrieved in some cases.

- ODBC driver
    * [167167] Fixed a regression that caused a crash when checking DBMS
      general information when connecting to a database.
    
- SQLite driver
    * Use new sqlite3_prepare16_v2 instead of sqlite3_prepare16 when
      possible.
    * [167665] Fixed a regression that caused field names to be escaped
      multiple times when selecting from views.
    
****************************************************************************
*                               Examples                                   *
****************************************************************************

- Secure Socket Client
    * New example, showing how to use QSslSocket to communicate over an
      encrypted (SSL) connection.
    
- Accelerated Screen Driver
    * Ensured that the example does not crash if it is unable to get a
      pointer to the frame buffer.

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

X11
---

    * [163862] Fixed a bug where QClipboard would escape all non-ASCII
      characters that were copied from GTK+ applications.
    * [165182] Fixed building with the Intel C++ Compiler for Linux on
      IA-64 (Itanium) (missing functions in qatomic_ia64.h)
    * [163861] Fixed building on AIX 5.3 where the _POSIX_MONOTONIC_CLOCK
      macro was accidentally redefined.
    * [166650] Fixed a regression from 4.2.3 where calling QWidget::move()
      in a reimplementation of QWidget::showEvent() did not work.
    * [166097] QWidget::show() no longer overwrites the _NET_WM_STATE
      property. Instead, QWidget now merges any existing _NET_WM_STATE
      property together with its own state.
    * Fixed the QAtomic implementation on the Alpha, which previously
      caused all applications to hang on start-up.
    * [165229] Changed the linux-lsb-g++ specification to avoid linking with
      libGLU (which is not part of the LSB specification).
    * [155083, 146833] Ensure that all font substitutions from fontconfig
      are obeyed by using a strong binding for QFont's family with
      fontconfig.

Windows
-------

    * [169105] Fixed a regression where calling resize() on a minimized
      window did not work.
    * [169376] Fixed a race condition that would cause a crash when
      stopping timers in a thread.
    * [165440] Fixed a crash that could occur when using Google's Pinyin
      input method with Qt.

Mac OS X
--------

    * QMake's Xcode generator is now more robust when determining which
      version of Xcode projects it should generate. It also uses launch
      services to determine Xcode's location as well.
    * Small changes to be more Leopard compatible
    * [167020] Ensured that the translations are really included in the
      binary package.
    * [164530] Ensured that the DPI for fonts don't change when the
      resolution changes.
    * [165530] Fixed a bug that caused Q_DECLARE_METATYPE() in a
      precompiled header to interfere with the Objective-C 'id' keyword.
    * [165659] Fixed bold/italic font rendering for some fonts.

Qtopia Core
-----------

    * Fixed support for bitmap fonts.
    * [164297] Fixed a potential crash in accelerated paint engines.
    * [160970] Fixed support for 1-bit black and white screens.
    * [164783] Fixed bug in 4-bit grayscale support which resulted in pink
      colors under certain circumstances.
    * [164955] Fixed painting error when using QWidget::move().
    * [166368] Fixed bug in QWidget::setFixedSize() when using multiple
      screens.
    * [165686] Fixed bug in QPixmap::grabWindow() when using multiple
      screens.
    * [130925] Fixed use of QWSWindowSurface::move() when acceleration is
      available.
    * [143865] Implemented QWSCalibratedMouseHandler::getCalibration()
      properly to fill all return values.
    * [161820] Fixed incorrect detection of glib libraries when cross-
      compiling.
    * [152914] Improved the framebuffer test example.
    * [171454] Fixed painting errors when zooming in QVFb.


****************************************************************************
*                   Important Behavior Changes
****************************************************************************

- QScrollArea
    * [167838] Use micro focus rectangle (if "active") instead of the entire
      widget in ensureWidgetVisible().