Invalidate old QImage data if load()/loadFromData() has failed
[profile/ivi/qtbase.git] / dist / changes-3.3.3
1 Qt 3.3.3 is a bugfix release. It maintains both forward and backward
2 compatibility (source and binary) with Qt 3.3.2, Qt 3.3.1 and Qt 3.3.0.
3
4
5 ****************************************************************************
6 *                           General                                        *
7 ****************************************************************************
8
9 Compilers
10 ---------
11 Added support for GNU gcc on AIX 64-bit.
12
13 Fixed the issue of some compilers that produced bad output when
14 compiling qlocale.cpp with -O2.
15
16 Fixed include path problem with MinGW.
17
18 Meta Object Compiler (moc)
19 --------------------------
20 Allow classnames containing the substring 'const' in signal
21 parameters.
22
23 Qt Assistant
24 ------------
25 Fixed crash when an empty file is part of the profile.
26
27 Qt Designer
28 -----------
29 Fixed occasional crash when closing the form window.
30
31 Fixed bug that removed '@' characters from .pro files.
32
33 Fixed bug resulting in invalid code for radio buttons with strong
34 focus.
35
36 Fixed crash when custom widget plugins based on QComboBox were edited or
37 previewed in certain styles.
38
39 Fixed bug in loading enum properties (e.g. slider tickmarks).
40
41 Handle comments of the form '# {' correctly.
42
43 Handle '$${}' variable expansion correctly.
44
45 Fixed missing actions in drop down action groups created with the menu
46 editor.
47
48 Made sure that the item labels for toolboxes can be translated.
49
50 Added CTRL + Key_Q as a shortcut to quit.
51
52 Do not add unnecessary blank lines in .pro files.
53
54
55 ****************************************************************************
56 *                          Library                                         *
57 ****************************************************************************
58
59 General Fixes
60 -------------
61 - Drag and drop
62         Handle filenames with '#' characters properly.
63
64 - QAccel
65         Fixed bug where Alt + non-ASCII letter would require an additional
66         Shift.
67
68 - QButtonGroup
69         Don't navigate out of the button group with the arrow keys.
70
71 - QComboBox
72         Don't close the combobox when holding space down while clicking.
73         (Fixes GUI lock-up on Windows.)
74
75 - QDateTimeEdit
76         Propagate enabled state correctly when adding a QDateEdit/QTimeEdit
77         to a disabled parent.
78
79 - QDataStream
80         Fixed bug involving the output of doubles/floats in printable mode.
81
82 - QFileDialog
83         Fixed crash when calling setContentsPreview() twice.
84
85 - QFontDatabase
86         Made Tibetan text work even without OpenType tables.
87         When using XLFD fonts, make sure that the size selected actually
88         supports the script.
89         Fixed bug that caused fixed-pitch XLFD fonts to be reported as
90         variable pitch.
91         Fixed some issues in the CJK compatibility area, where we did
92         not always pick the correct CJK font.
93         Made isSmoothlyScalable() work when a font only exists in bold.
94         Fixed bug where font metrics for Asian fonts were wrong in some
95         circumstances.
96         Fixed bug involving certain open source Arabic fonts.
97
98 - QFontDialog
99         Resize OK/Cancel buttons properly with large font sizes.
100
101 - QFtp
102         Allow connection to FTP servers that return lower-case month
103         names.
104
105 - QImage
106         Included fix for buffer overflow in libPNG.
107         Fixed bug that made copy constructor not copy the entire image.
108         Allow XPM images with colors that have more than one word in the
109         name.
110         Fixed crash when trying to load a corrupt/invalid BMP image.
111         Fixed crash when trying to load a corrupt/invalid GIF image.
112         Fixed crash when trying to load a JPEG image that is too big.
113         Fixed bug that caused dotsPerMeter() to be ignored when saving
114         JPEG images.
115
116 - QLineEdit
117         Fixed memory leak for line edits with masks.
118         Fixed bug where QLineEdit::text() would return a null QString when
119         an input mask was set on an empty line edit.
120         Don't scroll when the text is wider than the widget.
121
122 - QListView
123         Don't select a non-visible item when Right arrow key is pressed.
124         Fixed crash in setOpen(QListViewItem*, bool).
125
126 - QLocale 
127         Now supports string-to-int conversions with base up to 36.
128         Handle space as a separator for large numbers in toDouble().
129
130 - QMovie
131         Fixed offset bug.
132
133 - QPainter
134         Don't crash if setWorldMatrix() is called on a painter that is not
135         active.
136
137 - QPicture
138         Fixed bounding rect calculation.
139
140 - QPixmap
141         Fixed rounding errors in xForm().
142
143 - QPopupMenu
144         Fixed updateSize().
145         Fixed a crash when clearing and inserting new items while the tear
146         off is visible.
147
148 - QRichText
149         Clear the focusIndicator paragraph when clearing the text.
150         Fixed bug with <td valign="middle">.
151
152 - QSemaphore
153         Fixed possible starvation in operator-=().
154
155 - QSlider
156         Fixed mouse handling for vertical sliders in reverse mode.
157
158 - QSocket
159         Preserve readBufferSize() when doing connectToHost().
160
161 - QSql
162         Fixed crash in ODBC-Driver in connection with Informix SE.
163
164 - QSqlCursor
165         Fixed bug in del(true)
166
167 - QSqlQuery
168         Fixed thread reentrancy bug.
169
170 - QString
171         Made toFloat() fail if the number is too large for a float.
172         Fixed crash in fromUtf8 when argument is not 0-terminated.
173         Don't end up in an endless loop when setLength() is called with a
174         ridiculously large value (> 2^31).
175
176 - QSvgDevice
177         Fixed some clipping issues.
178
179 - QTable
180         Fixed memory leak in key event handling.
181         Fixed bug where calling setNumRows() or setNumCols() would not
182         change the sizeHint().
183         Improved speed of deleting rows/columns in big tables.
184
185 - QTextEdit
186         Hide the cursor again when a drag leaves the text edit.
187         Don't crash if the text edit is deleted while the popup menu is
188         active.
189         Fixed undo/redo bug in overwrite mode.
190         Fixed crash when entering text in overwrite mode when entire text is
191         selected, on a single line, and the cursor is at the start of the
192         text.
193
194 - QTextEngine
195         Fixed a small bug in the bidi engine.
196         Fixed two small issues with Bengali rendering.
197         Fixed small issue with Khmer rendering.
198         Fixed an issue with ideographic space (U+0x3000).
199
200 - QThread
201         Fixed bug on HP-UX when starting a thread with LowPriority.
202         Provide a safety mechanism when trying to use QThreadStorage from
203         non-QThread threads: spit out a warning and do nothing.
204
205 - QToolBar
206         Create a disabled popup menu when a disabled combobox is added to
207         the extension menu.
208
209 - QWidget
210         Fixed bug that would sometimes make showMaximized() fail.
211
212 - QWidgetStack
213         Set background properly when the current page has a maximum size
214         that is less than the size of the QWidgetStack.
215
216 - QWorkspace
217         Fixed problems involving widgets with size constraints.
218         Don't normalize minimized widgets when cascading and tiling.
219
220 - QXml
221         Speed optimizations.
222
223 Platform-Specific Issues
224 ------------------------
225 Windows:
226
227 - Drag and drop
228         Ignore drag and drop events for modally shadowed windows.
229
230 - Build system
231         Fixed qmake problem with QMAKE_EXTRA_WIN_TARGETS.
232
233 - QApplication
234         Fixed restoring of windows when minimized using something other than
235         the window menu.
236         When restoring a modally blocked application after using "Minimize
237         All Windows" from the task bar, activate the modal dialog rather
238         than the blocked window.
239         Support Unicode application directories in applicationFilePath()
240         independently of the current locale.
241         Fixed accelerators with Ctrl+@ and Ctrl+[ to Ctrl+_ instead.
242
243 - QAxWidget 
244         Fixed bug that could lead to windows no longer responding to mouse
245         events.
246         Fixed bug that would eat a mouse release event in some cases.
247
248 - QFileDialog
249         Don't let getOpenFileName() fail immediately, even if passed invalid
250         characters.
251         Fixed bug that gave spurious mouse move events to other widgets when
252         closing a file (or printer) dialog.
253
254 - QFontDatabase
255         Select correct font when family is empty and style hint is set.
256         Fixed problem where Chinese fonts were a pixel smaller than with
257         older Qt versions.
258
259 - QFtp
260         Improved performance by increasing buffer sizes.
261
262 - QLocale
263         Obtain correct locale information on Win95, so that
264         QTextCodec::locale() works properly.
265
266 - QPixmap
267         Fixed problems when alpha blending in 32bpp depth.
268
269 - QPrinter
270         Fixed problems caused by printing without first calling setup() when
271         using certain printers.
272
273 - QSettings
274         Fixed bug that would add unnecessary size to the registry on Win98
275         in some circumstances.
276
277 - QSocket
278         Worked around Windows bug which caused bytesAvailable() to be 1,
279         even if no data was available.
280
281 - QSound
282         Removed race condition.
283
284 - QTextEngine
285         Draw CJK compatibility characters in the 0xffxx range correctly.
286         Fixed crash on invalid UTF-8 when using the newest Uniscribe library
287         on XP.
288
289 - QWidget
290         Don't clear the maximized state when moving a maximized window.
291         Don't move the widget to a silly position when showMinimized() is
292         called on a visible widget.
293         Let the size grip respect the same size limits as the window
294         manager.
295         Fixed bug where a widget with an empty region as mask would still
296         have one visible pixel.
297
298 - QWindowsStyle
299         Always underline accelerator cues on Windows 98.
300
301 - QWindowsXPStyle
302         Draw up/down buttons of QDateTimeEdit disabled when the widget is
303         disabled.
304         Draw toggle-toolbuttons as toggled even if they are not in a
305         toolbar.
306
307 Mac:
308
309 - Drag and drop
310         Fixed bug that would disrupt drag and drop when toggling
311         full-screen status.
312         Ignore drag and drop events for modally shadowed windows.
313         Show the correct cursor when copying.
314
315 - QApplication
316         Fixed bug that could cause crash when allocating and deleting
317         QApplication repeatedly.
318         Properly animate the toolbar button.
319
320 - QAquaStyle
321         Made sure that OK and Cancel buttons are big enough when icons are
322         added.
323         Fixed bug that would show focus rectangles around hidden widgets in
324         a QScrollView.
325         Fixed drawing errors in QComboBox and QSpinBox when building on
326         Panther and deploying on Jaguar.
327         Fixed bug that caused artifacts on the focus widget when embedded
328         inside a widget with a background pixmap.
329
330 - QComboBox
331         Fixed crash when calling setListBox() and later popping up the popup
332         list.
333         Fixed size hint problems.
334
335 - QFileDialog
336         Made the filter functionality work in getSaveFileName().
337
338 - QFontEngine
339         Fixed bug showing strikeout text.
340
341 - QHeader
342         Fixed drawing errors when moving columns.
343
344 - QListView
345         Don't draw the disclosure triangle for items that aren't visible.
346
347 - QMenuBar
348         Disable the quit option when there is a modal dialog.
349
350 - QPixmap
351         Made copyBlt() copy the alpha channel properly again.
352
353 - QPrinter
354         Fixed page range bug.
355
356 - QProgressBar
357         Show something for indeterminate progress bars.
358
359 - QScrollView
360         Fixed colors for the scrollview frame.
361
362 - QSettings
363         Fixed bug that caused settings files to end up in the wrong place.
364
365 - QTableHeader
366         Fixed sizing bug.
367
368 - QWidget
369         Don't disable children of WStyle_Tool widgets.
370         The window proxy icon is only set for document windows.
371
372 X11:
373
374 - QApplication
375         Made the '-inputstyle' command line option override the ~/.qt/qtrc
376         setting.
377         Fixed crash when using the QApplication( Display *,...) constructor
378         without any settings file in ~/.qt/.
379         Fixed bug when passing a Tk Visual* to the QApplication constructor.
380
381 - QClipboard
382         Fixed race condition in clear().
383
384 - QFontDatabase
385         Fixed bug that caused some special TTF fonts to display incorrectly.
386         Fixed bug where Qt would not find some non-scalable fonts.
387
388 - QFontEngine
389         Fixed bug that caused incorrect metrics and drawing in some cases
390         when a painter scales down very large fonts for display.
391
392 - QMotif
393         Fixed crash when passing X11 command line parameters.
394         Fixed GUI freeze when using the system close menu on a QMotifWidget
395         window with some window managers.
396
397 - QPainter
398         Fixed memory leak when more than 256 GCs are allocated.
399
400 - QPrinter
401         Allow multiple space-separated options in
402         setPrinterSelectionOption().
403         Fixed printing to A3 sized paper.
404         Fixed printing using certain PFB fonts (e.g. the ones generated from
405         TeX).
406
407 - QWidget
408         Fixed restoration from fullscreen/maximize on non-EWMH supporting
409         window managers.
410         Do not clear the fullscreen/maximize state if the window manager
411         ignores a resize request from Qt.
412         Worked around bugs in window placement for the SGI 4Dwm window
413         manager.
414
415 Embedded:
416
417 Makeqpf tool
418         Use the same way of finding the font directory as the rest of Qt.
419
420 - QVNCServer
421         It is now possible to have several different VNC servers active on
422         the same machine (and even in the same process).
423         Fixed bug connecting a little-endian client to a big-endian server.
424
425 - QPainter
426         Fixed bug making thick vertical lines one pixel too wide.
427         Worked around compiler bug in gcc 3.3.1 and 3.3.3 (but apparently
428         not in 3.3.2), causing artifacts when drawing anti-aliased text on
429         16-bpp displays in release mode. 
430
431 - QWidget
432         Avoid creating a paint event in setMask() if the new mask is the
433         same as the old.
434
435 - QWSManager
436         Fixed crash when widget is deleted during a window system mouse
437         grab.
438         Only move window on left mouse press.
439
440 - QWSServer
441         Avoid possible race condition in sendPropertyNotifyEvent()
442         when client quits.