Merge "Merge remote-tracking branch 'origin/containers' into api_changes" into refs...
[profile/ivi/qtbase.git] / dist / changes-4.2.3
1 Qt 4.2.3 is a bug-fix release. It maintains both forward and backward
2 compatibility (source and binary) with Qt 4.2.0.
3
4 The Qt version 4.2 series is binary compatible with the 4.1.x and 4.0.x
5 series. Applications compiled for 4.0 or 4.1 will continue to run with 4.2.
6
7 ****************************************************************************
8 *                           General                                        *
9 ****************************************************************************
10
11 General Improvements
12 --------------------
13
14 - Configuration/Compilation
15     * Fixed architecture detection on UltraSPARC-T1 systems.
16     * Fixed compilation on embedded architectures when qreal is not double.
17     * Compile on OpenBSD.
18
19 - Documentation
20     * Completed documentation for "Implementing Atomic Operations",
21       which is useful for people porting Qt to a new hardware architecture.
22
23 - Translations
24     * Added a new unofficial Portuguese translation courtesy of Helder
25       Correia.
26
27 - Qt Linguist
28     * Made the columns in the phrasebook resizeable.
29
30 - lupdate
31     * Fixed bug in the .pro parser of lupdate. It should accept backslashes.
32     * Fixed a severe slowdown in lupdate. (~400x speedup.)
33     * Fixed traversal of subdirectories.
34
35 - moc
36     * Don't create trigraphs in the generated code for C++ casts.
37
38 - uic
39     * Fixed a bug that generated excessive margins for Q3GroupBox.
40
41 Third party components
42 ----------------------
43
44 - libpng
45
46   * Security fix: Avoid null dereferences.
47
48 ****************************************************************************
49 *                          Library                                         *
50 ****************************************************************************
51
52 General improvements
53 --------------------
54
55 - Graphics View
56
57     * Calling QGraphicsScene::update() without arguments now correctly
58       updates the entire scene.
59     * Changing the background brush in QGraphicsScene now correctly updates
60       the entire scene
61     * Fixed a crash in QGraphicsScene due to stale pointers in the BSP tree.
62     * QGraphicsScene::createItemGroup() now allows you to create an empty
63       group (previously caused an assert in debug mode).
64     * Fixed rendering bugs with QGraphicsPixmapItem::offset().
65     * Adding an item to a QGraphicsScene now always implicitly causes an
66       update.
67     * Fixed a crash caused by deleting a QGraphicsScene that is being viewed
68       by a QGraphicsView.
69     * Items with zero width or height (e.g., a horizontal or vertical line
70       with a zero-width cosmetic pen) are now rendered correctly.
71     * Fixed a crash in QGraphicsScene::destroyItemGroup(), and when removing
72       items from a group.
73
74 - Item views
75     * Fixed data loss in QTreeWidget, QTableWidget and QListWidget that
76       occurred when performing a drag and drop copy operation on items
77       containing data in custom roles.
78
79     * Fixed signal emission bugs in QSqlQueryModel and QSqlTableModel that
80       caused the view to contain invalid items when used with a
81       QSortFilterProxyModel.
82
83     * Fixed a bug in word-wrapped text that could cause all new-line
84       characters, and the last line in string containing at least one
85       newline character, to be removed.
86
87     * Fixed bug in QListView where the last item of a batch was not always
88       displayed.
89
90 - QAction
91     * Fixed a possible crash when using alternate shortcuts on a QAction.
92
93 - QByteArray
94     * Fixed a crash in toUpper().
95
96 - QCleanlooksStyle
97     * Indeterminate progress bars are now correctly animated.
98
99 - QComboBox
100     * Fixed broken case sensitive completion.
101     * Changing the font on a QComboBox now changes the font on the popup as
102       well.
103
104 - Q3TextEdit
105     * Fixed regression where some shortcuts didn't work on Mac OS X.
106
107 - Q3Canvas
108     * Fixed potential memory overrun when determining a clipping chunk.
109
110 - Q3Socket
111     * Fixed unexpected remote disconnection bugs (also QTcpSocket).
112
113 - QFile
114     * Performance enhancements in QFile::copy().
115     * Allow reading past the previous end of the file if the file grows.
116     * Reliably allow QFile::readLine() and QFile::readAll() to be used to
117       read from stdin on all platforms.
118
119 - QFileDialog
120     * Fixed crash that could occur when the filter began with ';;'.
121     * Fixed assertion caused by calling setFilters() with an empty list.
122     * Fixed problem with file entries not being laid out correctly.
123
124 - QGridLayout
125     * Fixed bug in handling of fixed size spacers spanning multiple
126       rows/columns
127
128 - QLayout
129     * Fixed bug caused by setting minimumSize() and SizePolicy::Fixed on a
130       widget that implements minimumSizeHint() but not sizeHint().
131
132 - QLineEdit
133     * Fixed crash caused by moving the cursor over a QChar::LineSeparator
134       in the text.
135
136 - QPainter
137     * Fixed bug in QPainter::drawPoints() when using the raster paint engine
138       which caused some points to be missing.
139     * Removed memory leak in raster paint engine when drawing complex
140       polygons/paths.
141
142 - QProcess
143     * Fixed a crash that could occur when calling QProcess::waitForFinished()
144       from inside a slot connected to a signal emitted by QProcess.
145     * Fixed a race condition on Windows where QProcess::bytesToWrite() would
146       return a short byte count.
147
148 - QTextDocument
149     * Fixed find() with backward searches.
150     * Match CSS style selector case insensitively.
151     * Fixed HTML import for tables with missing cells and rowspan/colspan
152       attributes. 
153
154 - QSortFilterProxyModel
155     * Fixed a crash caused by calling filterChanged().
156     * Fixed a crash caused by removing items from the source model.
157     * Fixed a bug that could cause a model to enter an invalid state when
158       filtering items in a hierarchy, causing items in a QTreeView to
159       erroneously be collapsed.
160     * Fixed a bug that could cause invalid items to be added when inserting
161       new items to the source model.
162
163 - QSyntaxHighlighter
164     * Fixed failing assertion that could occur when installing a syntax
165       highlighter before the document has created a layout.
166
167 - QPluginLoader
168     * Fixed compilation of Q_EXPORT_PLUGIN when used with templates.
169
170 - QTcpSocket
171     * Fixed a bug where QTcpSocket would time out when connecting to a
172       closed service on Windows.
173     * Fixed a race condition when calling waitFor...() functions with a very
174       short timeout value.
175     * Fixed unexpected remote disconnect problems on Windows.
176     * Improved the reliability of the waitFor...() functions with SOCKS5
177       proxy support.
178
179 - QTextLayout
180     * Fixed rendering of surrogate pairs and cursor navigation with them.
181
182 - QTextEdit
183     * Fixed crash in QTextEdit::setExtraSelection() that could occur when
184       used with null cursors.
185     * Fixed scrollbar bug which could cause the bottom of the text to be
186       unreachable.
187
188 - QTextStream
189     * Fixed QTextStream::readLine() so it can be used reliably with stdin on
190       all platforms, and updated the documentation to reflect this.
191
192 - QMacStyle
193     * Ensured that tab bars are drawn correctly regardless of the font used.
194
195 - QMenuBar
196     * Properly marked the "text heuristic matching" strings for translation.
197
198 - QMenu
199     * Fixed incorrect scrolling on large menus on Mac OS X.
200
201 - QPlastiqueStyle
202     * Ensured that indeterminate progress bars are now always animated and
203       fixed a rendering bug.
204
205 - QPrinter
206     * Fixed a bug on X11 that caused the printer to generate too many
207       copies.
208     * Fixed a bug in the PostScript driver that could cause invalid
209       PostScript to be generated.
210
211 - QSqlRelationalTableModel
212     * Ensured that the internal cache is cleared after
213       QSqlRelationalTableModel::submitAll() is called. 
214
215 - QSqlDriver
216     * Ensured that QSqlDriver::formatValue() doesn't cut off characters from
217       field names.
218
219 - QTextTable
220     * Removed false assertion when deleting the first row or column in a
221       table.
222     * Fixed crash when splitting cells in the rightmost column of a table.
223     * Fixed issue where QTextTable::splitCells() would shift cells further
224       down in the table.
225     * Fixed crash in QTextTable::mergeCells() caused by merging an already
226       merged cell.
227     
228 - QToolTip
229     * Fixed QToolTip sizes when used with HTML tags like <BR>.
230
231 - QUdpSocket
232     * Fixed a busy-wait causing the event loop to spin when writing a
233       datagram to an unbound port.
234     * QUdpSocket now reliably emits readyRead() in connected mode.
235
236 - QUrl
237     * Fixed a crash that would occur as a result of calling errorString() on
238       an empty URL.
239
240 - SQL plugins
241     * Prevent crashes in QSqlQuery after reopening a closed ODBC connection.
242     * Prevent crash when retrieving binary data from ODBC.
243     * The Interbase driver now returns a valid handle through
244       QSqlDriver::handle().
245
246 - QMutex
247     * Fixed race condition in QMutex::tryLock() that would prevent all
248       other threads from acquiring the mutex
249
250 - QList
251     * Fixed crash when modifying a QList that must be detached from a
252       separate thread
253
254 - QWidget
255     * Fixed case where a modal dialog could be stacked below its parent
256       window when the dialog was shown first
257     * Fixed an erroneous hideEvent() from being sent immediately after
258       window creation
259     * Fixed problem with missing text in QWidget::whatsThis().
260
261 - QWindowsStyle
262     * Fixed a crash that could occur when deleting a QProgressBar after its
263       style was changed.
264
265 - QVariant
266     * Fixed assertion caused by streaming in a variant containing a float.
267
268 - QAbstractItemView
269     * Fixed focus problem with cell widgets.
270
271 - QTableView
272     * Fixed problem with context menus clearing the selections.
273
274 - QHeaderView
275     * Fixed assertion that could occur when removing all sections when some
276       sections had been moved.
277     * Fixed a bug that could prevent the user from resizing the last 
278       visible section if the "real" last section was invisible.
279
280 - QListView
281     * Fixed crash when calling reset.
282
283 - QTableWidget
284     * Fixed painting problem that could occur when rows were swapped.
285
286 - QTreeView
287     * Fixed a crash that could appear when removing all the children of an
288       item.
289
290 ****************************************************************************
291 *                      Platform Specific Changes                           *
292 ****************************************************************************
293
294 X11
295 ---
296     * Fixed detection of Type1 symbol fonts.
297     * Fixed crash on exit in QSystemTrayIcon when QApplication is used
298       as the parent.
299     * Fixed animation GUI effects on tooltips, menus, and comboboxes.
300     * Fixed crashes in threaded programs when Qt uses the Glib main
301       loop.
302     * Fixed bug where an empty LANG environment variable could prevent input
303       of non-ASCII chars in Qt widgets.
304     * Fixed leak of initial style created by QApplication after calling
305       QApplication::setStyle().
306     * Fixed erroneous event delivery to a widget that has been destroyed.
307     * Prevent shortcuts for keypad arrow keys from being activated when
308       Num Lock is on.
309     * Fixed bug which caused incorrect drawing of subrectangles of bitmaps.
310     * Fixed bug in rendering of the Bengali script.
311
312 Windows
313 -------
314     * Fixed compilation with -no-stl.
315     * Fixed compilation with Windows SDK for Vista.
316     * Fixed an issue that could cause missing text when Cleartype was used.
317     * Fixed the hot-spot locations for OpenHandCursor and CloseHandCursor.
318     * Fixed infinite warning loop about adopted threads in applications with
319       many threads.
320     * Fixed assertion caused by hiding a child widget whose window has not
321       yet been created.
322     * Fixed QWindowsXPStyle so that it is possible to draw a
323       QStyle::CE_DockWidgetTitle without having an actual instance of
324       QDockWidget.
325     * Fixed crash when drawing text with large font sizes.
326     * Fixed support for the Khmer language.
327     * Fixed incorrect reporting of frameGeometry() after a window is closed.
328     * Fixed crash when handling spurious WM_CHAR from Remote Desktop Client.
329     * Fixed crash in JPEG plugin while loading.
330     * Fixed crash in QFileDialog::getExistingDirectory() when specifying
331       a parent that has not been shown yet.
332
333 Mac OS X
334 --------
335     * Fixed regression where dragging/copying Unicode text in Qt to another
336       application would only export the non-Unicode version.
337     * Fixed regression where releasing the mouse button would send two mouse
338       releas events to a widget.
339     * Fixed regression where the drop action would be reset after a native
340       "DragLeave" event was received.
341     * Wrapping a (non-Qt) window's content view and resizing before showing
342       the window for the first time now works correctly.
343     * Ensured that the content view is always created before we QWidgets are
344       added to a window - this allows better integration with Cocoa apps.
345     * Fixed regression where text/uri-list was inadvertently disabled for
346       clipboards.
347     * Fixed regression where setting the brushed metal style on a message
348       box would show the label in a non-metallic style.
349     * Fixed the open source binary package to have the correct definitions
350       for development.
351
352 Qtopia Core
353 -----------
354     * Fixed a data corruption bug in QDataStream on ARM processors where
355       reading and writing doubles/qreals would be incompatible with streams
356       on other platforms.
357       Note: corrupt data streams generated with previous versions of Qtopia
358       Core on ARM platforms cannot be read with this version.
359     * Fixed a possible buffer overflow in the VNC driver.
360     * Fixed a memory leak in the windowing system.
361     * Fixed painting errors occuring with use of QT::WA_PaintOnScreen on
362       certain screen configurations.
363     * Improved performance when using a 16-bit brush as the background on a 
364       16-bit screen.
365     * Improved performance of 16-bit semi-transparent solid fills.
366     * Fixed crash that could occur when saving a 16-bit image in BMP or PPM
367       formats.
368     * Fixed bug where window icons would not be shown in Plastique style.
369     * Fixed bug in QWSServer::setMaxWindowRect() on rotated displays.
370     * Fixed crash with normalized Unicode characters and QPF fonts.
371     * Ensured that QWidget::minimumSize() does not become larger than the
372       screen size.
373