Invalidate old QImage data if load()/loadFromData() has failed
[profile/ivi/qtbase.git] / dist / changes-3.3.5
1 Qt 3.3.5 is a bug-fix release. It maintains both forward and backward
2 compatibility (source and binary) with Qt 3.3.4, Qt 3.3.3, Qt 3.3.2,
3 Qt 3.3.1 and Qt 3.3.0.
4
5 ****************************************************************************
6 *                           General                                        *
7 ****************************************************************************
8
9 Platforms
10 ---------
11
12 - Qt now supports Mac OS X 10.4 (Tiger)
13
14 Compilers
15 ---------
16
17 - Added support for VS 2005
18 - Added support for GCC 4
19
20 Windows Installer
21 -----------------
22
23 - The environment variables no longer contain invalid paths.
24 - The user is warned if QTDIR is not set and the evaluation edition is
25   already installed, to avoid conflicts between the two packages.
26 - A bug was fixed where a '\0' was appended to the end of a path.
27 - Fixed the dependencies for image formats and styles.
28
29 Qt Designer
30 -----------
31
32 - Fixed a problem with long string literals on certain Visual Studio
33   C++ compilers.
34 - UIC now uses the include hints from the .ui file when generating
35   source files.
36 - The "paste" action is now enabled and disabled correctly.
37 - QWidgetFactory::supportsWidget() now returns true for QSplitter.
38 - Parse files with more than one '.' in the file name correctly.
39 - The project name is now displayed correctly also when the project is
40   created in a root directory.
41 - Fixed a bug where Windows end-of-line terminators would be included
42   in string literals, which broke translation.
43 - Several crashes were fixed related to cutting/copying/pasting menu
44   items.
45 - Fixed some problems with designer generating corrupted pro files.
46 - A crash was fixed for when designer loads a pro file with the same
47   file listed more than once.
48 - The action editor is now closed when there is no main window form.
49 - Stability fixes
50
51 Qt Linguist
52 -----------
53
54 - lupdate now understands strings longer than 16384 characters.
55 - Fixed escaping bugs for string that contain both ampersands and
56   double quotes.
57
58 Qt Assistant
59 ------------
60
61 - When printing, assistant now always uses the Active color group.
62 - Fixed a rendering bug for paragraphs that start with a line break.
63 - Support for setting the documentation root path, allowing
64   documentation files to be moved.
65 - When opening a link in a new window, assistant will now properly
66   scroll to the correct anchor after the window has been shown.
67 - Fixed full text search for documents not listed in the 'ref'
68   attribute of the <section> tag in the current .adp file.
69 - The state of the forward/backward buttons now work properly when the
70   tabs are changed.
71
72 ****************************************************************************
73 *                          Library                                         *
74 ****************************************************************************
75
76 General Fixes
77 -------------
78
79 Added security patches for zlib: CAN-2005-1849, CAN-2005-2096
80 The FreeType library was upgraded from version 2.0.9 to 2.1.9
81
82 - Build system
83         Improved build keys for gcc 4 compilers, so plugins no longer
84         need rebuilding after upgrading gcc to a new patch release.
85
86 - QCanvas
87         Fixed wrong text scaling and cut-off text.
88         Fixed drawing with a brush when double buffering is enabled.
89
90 - QCommonStyle
91         Fixed the appearance of QSlider after setBackgroundOrigin has
92         been called.
93         Fixed an overflow in calculating the handle position for
94         QScrollBar.
95
96 - QCString
97         Fixed a crash in qUncompress() if the resulting QByteArray was
98         too large to fit in memory.
99         Fixed potential security problems by using vsnprintf() instead
100         of the less secure vsprintf().
101
102 - QDataStream
103         Fixed a data corruption bug when using stream version Qt_3_1 and using
104         operator<<(qint64).
105
106 - QDateTime
107         Fixed QDateTime::secsTo() when crossing daylight savings hours
108         boundaries.
109
110 - QDockWindow
111         Undocked windows now remember their size also if the user
112         changes it.
113
114 - QDom
115         The default constructor for QDocDocument now creates an empty
116         document that can be used to create elements.
117         A warning is now displayed when trying to construct or save an
118         invalid document.
119         Characters that are not allowed in XML are now escaped
120         properly when saving.
121
122 - QFileDialog
123         Shortcuts now show the icons of what they point to.
124         Entry sorting is now locale-aware, as opposed to sorting based
125         on Unicode order.
126         You can now select files by pressing 'enter' when using
127         QFileDialog::getOpenFileNames().
128         Fixed a missing repaint in contents preview after selecting a
129         file, then a directory, then the same file again.
130         dirPath() no longer chops off the last directory in a path.
131
132 - QGVector
133         Fixed a bug that caused a memory leak and data corruption if
134         resize() failed.
135
136 - QHeader
137         The header text is now rendered correctly next to the icon in
138         reverse layout mode.
139
140 - QImage
141         Fixed comparison of images with alpha data, but with the alpha
142         channel disabled.
143
144 - QKeySequence
145         Key sequences that ended with a ',' now work properly.
146
147 - QLineEdit
148         Fixed the behavior of the delete key on the keypad.
149         Fixed support for transparent line edits.
150         Fixed a crash when opening the context menu in a QTextEdit
151         subclass that returns 0 for createPopupMenu().
152
153 - QListBox
154         Fixed a crash when removing the current item while selecting
155         items with a rubberband.
156
157 - QListView
158         Fixed the behavior of the Home and End keys when QListView
159         contains disabled and hidden items.
160         Fixed a problem with the QListView::...Clicked() signals were
161         emitted also when the root decorated section was not in the
162         left-most column.
163         HTML control characters in QListView's tool tip text are now
164         escaped properly.
165         sortChildren() now also sorts children of items with no
166         siblings.
167         Fixed a missing redraw after removing columns.
168         contentsWidth() now returns the correct value after
169         setContentsWidth() has been called.
170         Fixed a crash after a sequence of deleting and selecting
171         items.
172         Fixed the size of headers with multi-line text.
173         Fixed a lock-up and possible crash caused by an internal state
174         restore on controllers with no children.
175         Fixed keyboard navigation when jumping to entries by pressing
176         the key for the first character in the text of an item.
177
178 - QLocale
179         Fixed support for NaN, which failed on certain compilers.
180         Passing Q_LLONG to toString() now properly includes the group
181         symbols.
182         Fixed locale detection when locale environment variables are
183         not set.
184         Added workarounds for compiler optimization bugs when parsing
185         doubles.
186
187 - QLocalFS
188         Fixed a crash when canceling a QUrlOperator transfer before
189         completion.
190
191 - QMenuData
192         Fixed a crash when closing an MDI application while the menu
193         bar has Alt-focus.
194
195 - QMessageBox
196         Message boxes now work correctly in right-to-left mode.
197
198 - QPaintDevice
199         Fixed drawing errors when using bitBlt() on a printer.
200
201 - QPainter
202         Fixed drawing of rectangles with a negative (or 0) width.
203
204 - QPopupMenu
205         The height of new columns is now initialized properly when
206         menu items are shown in multiple columns.
207
208 - QProcess
209         Close socket connections properly when a
210         process is created after creating the socket connection.
211
212 - QPSPrinter
213         Generate PS font names correctly.
214
215 - QPushButton
216         Fixed a crash caused by deleting the button while the popup
217         menu is shown.
218
219 - QRichText
220         Tab stops are now adjusted correctly when printing in high
221         resolution mode.
222         Reduced the number of memory allocations when deleting large
223         blocks of text.
224         Fixed parsing of hexadecimal HTML entities
225         Fixed a bug where the font changed after calling setText()
226         repeatedly.
227
228 - QScriptEngine
229         Fixed an issue with shaping of Hebrew text, which lead to
230         layout problems in QTextLayout.
231         Fixed rendering of Hebrew text with punctuation.
232         Fixed bugs in Gurmukhi shaping.
233
234 - QScrollView
235         Fixed the size hint when scrollbars are set to be permanently
236         on.
237         Fixed a drawing error seen on certain graphics drivers when a
238         scroll view spans multiple screens.
239         Fixed a bug where wheel events' horizontal/vertical status
240         were not forwarded to viewportWheelEvent().
241         Fixed a crash when mouse wheel events were sent to a scroll
242         view with disabled scroll bars.
243
244 - QSettings
245         Fixed a bug when comparing keys with common prefixes.
246
247 - QSGIStyle
248         Fixed the size of QComboBox.
249
250 - QSizeGrip
251         Fixed a bug that caused the window to move when resizing to
252         the minimum size using the size grip.
253
254 - QSocketDevice
255         Improved error reporting when the connection is unexpectedly
256         closed.
257         Fixed a bug where the socket would be closed if 0 was passed
258         as maxlen to readBlock().
259
260 - QString
261         Fixed a lock-up in QString::section().
262         Let replace() behave as documented when the index is larger
263         than the length of the string.
264
265 - QTable
266         Fixed positioning of QComboTableItems that span several rows.
267
268 - QTextCodec
269         Fixed occasional crash in fromUnicode().
270         Fixed Big5 support to comply with the standards.
271
272 - QTextEdit
273         Fixed bug in undo/redo history when input methods are used.
274         Fixed a crash caused by inserting text with an input method
275         during a focus change.
276         Fixed the behavior of the delete key on the keypad.
277         Fixed setMaxLogLines() when there are already too many lines.
278         Fixed crash when clearing a QTextEdit when the IME is active.
279         Fixed crash when the text edit is deleted while dragging text.
280
281 - QTextLayout
282         Fixed layout of lines that are too long and do not contain a
283         possible break point.
284
285 - QTimeEdit
286         Fixed several issues with stepUp() and stepDown().
287
288 - QToolButton
289         Fixed a crash when assigning a tooltip to a tool button which
290         does not have QMainWindow as an ancestor.
291
292 - QToolTip
293         Fixed an occasional crash.
294
295 - QTranslator
296         Fixed a bug when calling messages() before tr() when using
297         compressed .qm files.
298
299 - QUrlOperator
300         Fixed a crash when accessing invalid paths on an FTP server
301         using QFileDialog.
302         Fixed a bug where the source would be removed if the source
303         and destination were the same.
304
305 - QVariant
306         Fixed a memory leak in clear().
307
308 - QWidget
309         Fixed excessive flicker when reparenting a widget that has
310         tool windows.
311
312 - QWorkspace
313         Fixed flickering when switching between maximized windows.
314         Fixed a lock-up when modal dialogs were created with
315         QWorkspace as parent.
316         Fixed a bug where modeless dialogs with QWorkspace as parent
317         would be drawn with no title bar.
318
319 - SQL, DB2 driver
320         Compile fixes.
321         Fixed a bug where QSqlCursor::insert() would fail to insert
322         two blob fields at the same time.
323
324 - SQL, MySQL driver
325         Fixed a crash when using empty database names.
326
327 - SQL, Oracle driver
328         Fixed truncation of numeric data types to 22 digits.
329         Fixed UTF-8 support by ensuring that there is enough space to
330         store the text.
331
332 - SQL, ODBC driver
333         Fixed problems with sorting and comparing strings larger than
334         8192 characters.
335
336 - SQl, PostgreSQL driver
337         Temporary tables are now only visible for the connection that
338         created them.
339
340 - SQL, TDS driver
341         Fixed problems with compiling the plugin with later versions
342         of the TDS library.
343
344 - SVG support
345         Fixed support for SVG viewbox.
346         Added basic support for stroke-dasharray.
347
348
349 Platform-Specific Issues
350 ------------------------
351
352 Windows:
353
354 - ActiveQt
355         Unrelated types are no longer converted.
356         The control container is now only reset if the CLSID changes.
357         Fixed a bug where QAxObject::clear() did not reset the
358         metaobject when it was cached.
359         Fixed a memory leak.
360         Fixed a bug that caused flicker when navigating away from a
361         page embedding a control.
362         The VARIANT out-parameters in signals now map to "QVariant &"
363         and not "const QVariant &".
364         Signal parameters of type "bool" are marshalled to the bool
365         slot also when the control sends an integer parameter.
366
367 - Drag & drop
368         Fixed a bug with sending single-color pixmaps.
369         Fixed a crash caused by reading a drag object after it has
370         been deleted (before the drop event).
371         Dragged pixmaps are now cleaned up before drawn to avoid
372         problems with broken alpha values and resetting masked pixels.
373
374 - QApplication
375         Fixed a lockup caused by showing a dialog while resizing a
376         window.
377         QWidget::grabKeyboard() now also grabs the menu button.
378         Fixed a bug where mouse events were sent to the wrong widget
379         after calling QEventLoop::processEvents() with
380         ExcludeUserInput.
381         Windows Server 2003 can now also use the Windows XP style.
382         Fixed a memory leak in QEventLoop.
383
384 - QColor
385         Fixed failed initialization of the Qt colors (e.g., Qt::red) when
386         using the MinGW compiler.
387  
388 - QFile
389         Fixed a bug where a read error was not handled properly.
390
391 - QFileInfo
392         permission() now uses the correct file name on Windows 9x.
393
394 - QFontDataBase
395         Added support for scalable fonts.
396
397 - QFontEngine
398         Fixed a problem with symbol fonts.
399         Fixed support for user defined characters.
400
401 - QLibrary
402         Fixed the directory separators.
403         Fixed some library loading errors.
404
405 - QLocale
406         The locale() function now returns the correct ISO name instead
407         of a number.
408
409 - QNPWidget (NPAPI)
410         Fixed a bug where the widget was not clipped properly by the
411         browser.
412
413 - QPainter
414         Fixed a bug where QPainter failed to fill ellipses of size
415         2x2.
416         Fixed a potential lock-up after failed GDI allocations.
417
418 - QPrinter
419         Rich text tables are now printed correctly when the table
420         spans pages.
421         Fixed text printing errors on page 2 and out caused by the
422         background mode being reset to OPAQUE.
423
424 - QProcess
425         The directory separators for the current working directory are
426         now converted properly, so that a UNC path can be used on
427         Windows.
428
429 - QTranslator
430         Fixed an issue with isReadable() on NTFS.
431
432 - QWindowsXPStyle
433         XP style now works when compiled as a plugin.
434         Fixed menu bar placement.
435         Fixed a bug in setting the background color of QTabWidget.
436         Fixed the position of the size grip in large QSizeGrip
437         widgets.
438         QGroupBox now uses the correct colors.
439
440 - QWorkspace
441         Fixed bug where hidden windows would be shown after restoring
442         from maximized mode.
443
444 - qmake
445         The Makefile generator now only searches for the latest
446         version of the Qt library, as opposed to searching all
447         libraries.
448         Dependency checking for pre-compiled headers were fixed.
449         Fixed support for listing .pro files in SUBDIRS in subdir .pro
450         files.
451         Fixed support for multiple -L and -I entries in QMAKE_LIBS.
452
453 Mac:
454
455 - Build system
456         When using Xcode, the optimization level is set to 0 in debug
457         mode.
458         Added support for Xcode 2.1 and up.
459         Fixed copying of target files when DESTDIR is set.
460
461 - Drag & drop
462         Fixed a crash when deleting the drag object before dropping.
463
464 - QApplication
465         The default font is now only set if the user has not set one.
466         Fixed a problem where popup menus would not go away after
467         releasing the mouse button outside the popup.
468         Added support for dual axis mouse wheels.
469         Fixed a bug in tablet identification.
470         Added support for tablet erasers.
471         Fixed a deadlock in postEvent() when there was contention for
472         a wakeup.
473         Fixed a crash when switching displays at the same time as
474         QApplication is destroyed.
475         Stability fixes.
476
477 - QColorDialog
478         Fixed modality support.
479
480 - QFileDialog
481         Let the file dialog remember the previous directory.
482         Fixed keyboard navigation when jumping to entries using the
483         first letter of a file name.
484         Fixed a memory leak.
485
486 - QFontDatabase
487         Fall back to the "Geneva" font, which is guaranteed to be
488         available, instead of "Helvetica".
489
490 - QFontEngine
491         Fixed a memory leak.
492         Fixed rendering of glyphs that modify previous glyphs,
493         including Indic text.
494
495 - QMacStyle
496         Title bars are now shown as deactivated when the window is
497         deactivated.
498         Fixed a bug where buttons in button groups inside a container
499         would look like they were pressed.
500         Fixed a crash caused by drawing onto a non-pixmap background.
501         Fixed the width of QComboBox.
502         Improved drawing of size grips.
503         Improved drawing of sliders, and made QSlider slightly wider
504         by default.
505
506 - QMenuBar
507         Fixed a lockup caused by menu items ending with an '&'.
508         Menu items with disabled popups are now also disabled.
509
510 - QMessageBox
511         The resize handle is now shown.
512
513 - QPainter
514         Fixed double transformation of ellipses with a transformed
515         width or height of 1.
516
517 - QPixmap
518         Fixed a crash when loading a cursor from an embedded image.
519         The color depth is now set properly when converting a QBitmap.
520
521 - QPrinter
522         Fixed a crash when using bitBlt() to copy a QBitmap onto a
523         printer.
524
525 - QProcess
526         Fixed support for launching bundles.
527
528 - QPushButton
529         Icons are now drawn properly.
530
531 - QTextBrowser
532         Fixed a bug where a text browser popup triggered by a
533         hyperlink would pop up again when the user clicks inside the
534         first popup.
535
536 - QToolButton
537         Fixed a painting problem when the button was pressed.
538
539 - QWidget
540         Menubar popups no longer steal focus from QTextEdit.
541         Fixed collapsing of windows with no title bar decorations.
542         Several window activation bugs have been fixed.
543         Fixed a bug where modal dialogs would be modal to its own
544         children.
545         Fixed tablet support for multiple screens.
546         Fixed a memory leak.
547
548 X11:
549
550 - Build system
551         Removed aliasing/redefinitions of the 'which' command to fix
552         failures in the configure script on certain Unix systems.
553         Added some missing flags for the yacc tool on 64-bit Linux.
554         The -fn application command line option, which selects the
555         default application font, works again.
556         Fixed copying of target files when DESTDIR is set.
557
558 - Drag and drop
559         Fixed a crash in the dragging application when the drop target
560         crashes.
561         Fixed a bug in finding the widget under the cursor while
562         dragging.
563         Some problems were fixed with the internal timestamp in the
564         drop event.
565
566 - OpenGL
567         Fixed colors when rendering using glColor() onto an 8 bit
568         pixmap.
569
570 - QApplication
571         Support the F11 and F12 keys on Sun keyboards.
572
573 - QCanvasView
574         Support multiple shared views of a single canvas on multiple X11
575         screens.
576
577 - QClipboard
578         Fixed a rare crash related to cut & paste with the Motif
579         extension.
580
581 - QFontDatabase
582         Fixed a bug where QFontInfo would return an empty family and
583         point size after trying to select a font that was not
584         installed on the system.
585
586 - QFontEngine
587         Fixed a bug where scaling italic fonts would sometimes cut
588         overhangs.
589
590 - QInputContext
591         Fixed a bug that led to a corrupted display in QLineEdit and
592         QTextEdit when using Japanese input methods with very long
593         input selections.
594
595 - QPainter
596         Fixed a crash when setting a pen on an inactive painter.
597
598 - QPrinter
599         Fixed printing on Tru64 by removing the -o argument to the lp
600         command.
601
602 - QScriptEngine
603         Added support for Khmer fonts.
604         Fixed shaping of Telugu text.
605         Fixed a crash when scaling Japanese XLFD fonts by a factor of
606         1000.
607
608 Embedded:
609
610 - QApplication
611         Fixed a memory leak.
612
613 - VNC driver
614         Fixed a memory leak.
615
616 - QWidget
617         Fixed a potential crash when reparenting widgets.