summaryrefslogtreecommitdiffstats
path: root/dist/changes-4.2.3
blob: 8041602b2b423d1aac7a77d1c8cdecd62040f6d7 (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
Qt 4.2.3 is a bug-fix release. It maintains both forward and backward
compatibility (source and binary) with Qt 4.2.0.

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

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

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

- Configuration/Compilation
    * Fixed architecture detection on UltraSPARC-T1 systems.
    * Fixed compilation on embedded architectures when qreal is not double.
    * Compile on OpenBSD.

- Documentation
    * Completed documentation for "Implementing Atomic Operations",
      which is useful for people porting Qt to a new hardware architecture.

- Translations
    * Added a new unofficial Portuguese translation courtesy of Helder
      Correia.

- Qt Linguist
    * Made the columns in the phrasebook resizeable.

- lupdate
    * Fixed bug in the .pro parser of lupdate. It should accept backslashes.
    * Fixed a severe slowdown in lupdate. (~400x speedup.)
    * Fixed traversal of subdirectories.

- moc
    * Don't create trigraphs in the generated code for C++ casts.

- uic
    * Fixed a bug that generated excessive margins for Q3GroupBox.

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

- libpng

  * Security fix: Avoid null dereferences.

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

General improvements
--------------------

- Graphics View

    * Calling QGraphicsScene::update() without arguments now correctly
      updates the entire scene.
    * Changing the background brush in QGraphicsScene now correctly updates
      the entire scene
    * Fixed a crash in QGraphicsScene due to stale pointers in the BSP tree.
    * QGraphicsScene::createItemGroup() now allows you to create an empty
      group (previously caused an assert in debug mode).
    * Fixed rendering bugs with QGraphicsPixmapItem::offset().
    * Adding an item to a QGraphicsScene now always implicitly causes an
      update.
    * Fixed a crash caused by deleting a QGraphicsScene that is being viewed
      by a QGraphicsView.
    * Items with zero width or height (e.g., a horizontal or vertical line
      with a zero-width cosmetic pen) are now rendered correctly.
    * Fixed a crash in QGraphicsScene::destroyItemGroup(), and when removing
      items from a group.

- Item views
    * Fixed data loss in QTreeWidget, QTableWidget and QListWidget that
      occurred when performing a drag and drop copy operation on items
      containing data in custom roles.

    * Fixed signal emission bugs in QSqlQueryModel and QSqlTableModel that
      caused the view to contain invalid items when used with a
      QSortFilterProxyModel.

    * Fixed a bug in word-wrapped text that could cause all new-line
      characters, and the last line in string containing at least one
      newline character, to be removed.

    * Fixed bug in QListView where the last item of a batch was not always
      displayed.

- QAction
    * Fixed a possible crash when using alternate shortcuts on a QAction.

- QByteArray
    * Fixed a crash in toUpper().

- QCleanlooksStyle
    * Indeterminate progress bars are now correctly animated.

- QComboBox
    * Fixed broken case sensitive completion.
    * Changing the font on a QComboBox now changes the font on the popup as
      well.

- Q3TextEdit
    * Fixed regression where some shortcuts didn't work on Mac OS X.

- Q3Canvas
    * Fixed potential memory overrun when determining a clipping chunk.

- Q3Socket
    * Fixed unexpected remote disconnection bugs (also QTcpSocket).

- QFile
    * Performance enhancements in QFile::copy().
    * Allow reading past the previous end of the file if the file grows.
    * Reliably allow QFile::readLine() and QFile::readAll() to be used to
      read from stdin on all platforms.

- QFileDialog
    * Fixed crash that could occur when the filter began with ';;'.
    * Fixed assertion caused by calling setFilters() with an empty list.
    * Fixed problem with file entries not being laid out correctly.

- QGridLayout
    * Fixed bug in handling of fixed size spacers spanning multiple
      rows/columns

- QLayout
    * Fixed bug caused by setting minimumSize() and SizePolicy::Fixed on a
      widget that implements minimumSizeHint() but not sizeHint().

- QLineEdit
    * Fixed crash caused by moving the cursor over a QChar::LineSeparator
      in the text.

- QPainter
    * Fixed bug in QPainter::drawPoints() when using the raster paint engine
      which caused some points to be missing.
    * Removed memory leak in raster paint engine when drawing complex
      polygons/paths.

- QProcess
    * Fixed a crash that could occur when calling QProcess::waitForFinished()
      from inside a slot connected to a signal emitted by QProcess.
    * Fixed a race condition on Windows where QProcess::bytesToWrite() would
      return a short byte count.

- QTextDocument
    * Fixed find() with backward searches.
    * Match CSS style selector case insensitively.
    * Fixed HTML import for tables with missing cells and rowspan/colspan
      attributes. 

- QSortFilterProxyModel
    * Fixed a crash caused by calling filterChanged().
    * Fixed a crash caused by removing items from the source model.
    * Fixed a bug that could cause a model to enter an invalid state when
      filtering items in a hierarchy, causing items in a QTreeView to
      erroneously be collapsed.
    * Fixed a bug that could cause invalid items to be added when inserting
      new items to the source model.

- QSyntaxHighlighter
    * Fixed failing assertion that could occur when installing a syntax
      highlighter before the document has created a layout.

- QPluginLoader
    * Fixed compilation of Q_EXPORT_PLUGIN when used with templates.

- QTcpSocket
    * Fixed a bug where QTcpSocket would time out when connecting to a
      closed service on Windows.
    * Fixed a race condition when calling waitFor...() functions with a very
      short timeout value.
    * Fixed unexpected remote disconnect problems on Windows.
    * Improved the reliability of the waitFor...() functions with SOCKS5
      proxy support.

- QTextLayout
    * Fixed rendering of surrogate pairs and cursor navigation with them.

- QTextEdit
    * Fixed crash in QTextEdit::setExtraSelection() that could occur when
      used with null cursors.
    * Fixed scrollbar bug which could cause the bottom of the text to be
      unreachable.

- QTextStream
    * Fixed QTextStream::readLine() so it can be used reliably with stdin on
      all platforms, and updated the documentation to reflect this.

- QMacStyle
    * Ensured that tab bars are drawn correctly regardless of the font used.

- QMenuBar
    * Properly marked the "text heuristic matching" strings for translation.

- QMenu
    * Fixed incorrect scrolling on large menus on Mac OS X.

- QPlastiqueStyle
    * Ensured that indeterminate progress bars are now always animated and
      fixed a rendering bug.

- QPrinter
    * Fixed a bug on X11 that caused the printer to generate too many
      copies.
    * Fixed a bug in the PostScript driver that could cause invalid
      PostScript to be generated.

- QSqlRelationalTableModel
    * Ensured that the internal cache is cleared after
      QSqlRelationalTableModel::submitAll() is called. 

- QSqlDriver
    * Ensured that QSqlDriver::formatValue() doesn't cut off characters from
      field names.

- QTextTable
    * Removed false assertion when deleting the first row or column in a
      table.
    * Fixed crash when splitting cells in the rightmost column of a table.
    * Fixed issue where QTextTable::splitCells() would shift cells further
      down in the table.
    * Fixed crash in QTextTable::mergeCells() caused by merging an already
      merged cell.
    
- QToolTip
    * Fixed QToolTip sizes when used with HTML tags like <BR>.

- QUdpSocket
    * Fixed a busy-wait causing the event loop to spin when writing a
      datagram to an unbound port.
    * QUdpSocket now reliably emits readyRead() in connected mode.

- QUrl
    * Fixed a crash that would occur as a result of calling errorString() on
      an empty URL.

- SQL plugins
    * Prevent crashes in QSqlQuery after reopening a closed ODBC connection.
    * Prevent crash when retrieving binary data from ODBC.
    * The Interbase driver now returns a valid handle through
      QSqlDriver::handle().

- QMutex
    * Fixed race condition in QMutex::tryLock() that would prevent all
      other threads from acquiring the mutex

- QList
    * Fixed crash when modifying a QList that must be detached from a
      separate thread

- QWidget
    * Fixed case where a modal dialog could be stacked below its parent
      window when the dialog was shown first
    * Fixed an erroneous hideEvent() from being sent immediately after
      window creation
    * Fixed problem with missing text in QWidget::whatsThis().

- QWindowsStyle
    * Fixed a crash that could occur when deleting a QProgressBar after its
      style was changed.

- QVariant
    * Fixed assertion caused by streaming in a variant containing a float.

- QAbstractItemView
    * Fixed focus problem with cell widgets.

- QTableView
    * Fixed problem with context menus clearing the selections.

- QHeaderView
    * Fixed assertion that could occur when removing all sections when some
      sections had been moved.
    * Fixed a bug that could prevent the user from resizing the last 
      visible section if the "real" last section was invisible.

- QListView
    * Fixed crash when calling reset.

- QTableWidget
    * Fixed painting problem that could occur when rows were swapped.

- QTreeView
    * Fixed a crash that could appear when removing all the children of an
      item.

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

X11
---
    * Fixed detection of Type1 symbol fonts.
    * Fixed crash on exit in QSystemTrayIcon when QApplication is used
      as the parent.
    * Fixed animation GUI effects on tooltips, menus, and comboboxes.
    * Fixed crashes in threaded programs when Qt uses the Glib main
      loop.
    * Fixed bug where an empty LANG environment variable could prevent input
      of non-ASCII chars in Qt widgets.
    * Fixed leak of initial style created by QApplication after calling
      QApplication::setStyle().
    * Fixed erroneous event delivery to a widget that has been destroyed.
    * Prevent shortcuts for keypad arrow keys from being activated when
      Num Lock is on.
    * Fixed bug which caused incorrect drawing of subrectangles of bitmaps.
    * Fixed bug in rendering of the Bengali script.

Windows
-------
    * Fixed compilation with -no-stl.
    * Fixed compilation with Windows SDK for Vista.
    * Fixed an issue that could cause missing text when Cleartype was used.
    * Fixed the hot-spot locations for OpenHandCursor and CloseHandCursor.
    * Fixed infinite warning loop about adopted threads in applications with
      many threads.
    * Fixed assertion caused by hiding a child widget whose window has not
      yet been created.
    * Fixed QWindowsXPStyle so that it is possible to draw a
      QStyle::CE_DockWidgetTitle without having an actual instance of
      QDockWidget.
    * Fixed crash when drawing text with large font sizes.
    * Fixed support for the Khmer language.
    * Fixed incorrect reporting of frameGeometry() after a window is closed.
    * Fixed crash when handling spurious WM_CHAR from Remote Desktop Client.
    * Fixed crash in JPEG plugin while loading.
    * Fixed crash in QFileDialog::getExistingDirectory() when specifying
      a parent that has not been shown yet.

Mac OS X
--------
    * Fixed regression where dragging/copying Unicode text in Qt to another
      application would only export the non-Unicode version.
    * Fixed regression where releasing the mouse button would send two mouse
      releas events to a widget.
    * Fixed regression where the drop action would be reset after a native
      "DragLeave" event was received.
    * Wrapping a (non-Qt) window's content view and resizing before showing
      the window for the first time now works correctly.
    * Ensured that the content view is always created before we QWidgets are
      added to a window - this allows better integration with Cocoa apps.
    * Fixed regression where text/uri-list was inadvertently disabled for
      clipboards.
    * Fixed regression where setting the brushed metal style on a message
      box would show the label in a non-metallic style.
    * Fixed the open source binary package to have the correct definitions
      for development.

Qtopia Core
-----------
    * Fixed a data corruption bug in QDataStream on ARM processors where
      reading and writing doubles/qreals would be incompatible with streams
      on other platforms.
      Note: corrupt data streams generated with previous versions of Qtopia
      Core on ARM platforms cannot be read with this version.
    * Fixed a possible buffer overflow in the VNC driver.
    * Fixed a memory leak in the windowing system.
    * Fixed painting errors occuring with use of QT::WA_PaintOnScreen on
      certain screen configurations.
    * Improved performance when using a 16-bit brush as the background on a 
      16-bit screen.
    * Improved performance of 16-bit semi-transparent solid fills.
    * Fixed crash that could occur when saving a 16-bit image in BMP or PPM
      formats.
    * Fixed bug where window icons would not be shown in Plastique style.
    * Fixed bug in QWSServer::setMaxWindowRect() on rotated displays.
    * Fixed crash with normalized Unicode characters and QPF fonts.
    * Ensured that QWidget::minimumSize() does not become larger than the
      screen size.