Avoid XSync-related runtime crashes on HP-UX due to C++ mangling.
[qt-netbsd.git] / dist / changes-3.0.1
blob26fb022da54788f51a30f1bbeaf669edc8d7a0ea
1 Qt 3.0.1 is a bugfix release. It maintains both forward and backward
2 compatibility (source and binary) with Qt 3.0.0
5 ****************************************************************************
6 *                           General                                        *
7 ****************************************************************************
9 - Style Engine fixes
10         Qt 3.0 introduced a new and more flexibile style engine. This
11         release should fix most of the small visual flaws that the new
12         styles introduced. It also greatly improves appearance in
13         right-to-left mode.
15 - MS-Windows XP
16         This is the first release to fully support Windows XP,
17         including the new themable GUI styles.
18         The Windows XP style can only be built as a plugin, which requires
19         Qt to be configured as a shared library. To build the plugin
20         you must install a Microsoft Platform SDK for October 2001
21         or later. Your INCLUDE and LIB environment variables must
22         point to the respective directories in the SDK installation.
24 - Reverse (right-to-left) layouts
25         Many classes have improved support for right-to-left layouts.
27 - Compile fixes 
28         Solaris 7 Intel, g++ version 2.8.1.
30 - Documentation updates
31         Some new and improved diagrams and minor textual revisions.
33 - Mac only: Drag'n'drop
34         Mac only: QDropEvents can decode HFS flavors.
36 - X11 only: Multi-head (multi-screen) improvements
37         Support for different TrueColor depths on each head (screen).
38         Drag'n'drop support across multiple screens. Tooltips always
39         stay on the correct screen. Improved OpenGL support on
40         multiple screens. Qt 3.1 will support different color depths
41         on every screen (e.g. one TrueColor screen, one 8-bit
42         PseudoColor and one 8-bit GreyScale).
45 ****************************************************************************
46 *                          Library                                         *
47 ****************************************************************************
49 - QAction
50         Fixed a memory leak in conjunction with action accelerators.
51         Turn toggle actions off when toggling is turned off with
52         setToggleAction(FALSE);
54 - QApplication
55         Shared double buffers are cleaned up on destruction. 
56         Creating and using multiple QApplications in the same process
57         is supported.
58         - Solaris only: Default to the Interface System font (which is
59           the default for the CDE)
60         - Win32 only: When WM_QUERYENDSESSION is received, _flushall
61           is called to ensure that all open streams and buffers are
62           flushed to disk (or to OS's buffers). 
63           Better support for more input methods (e.g. Chinese). 
64           Enter events are not propagated to modally blocked widgets. 
65           Key_BackTab events are generated rather than Shift+Key_Tab.
66           Floating toolbars are blocked when the application is modal. 
67           Move and Resize are disabled in the system menu for
68           maximized toplevel windows
69         - WinXP only: WM_THEMECHANGED messages are handled; widgets
70           are repolished with the appropriate style.
71         - X11 only: Removed misleading warning message for main
72           widgets on heads (screens) other than the default head.
73           Input context: Solved a memory leak in Xlib, and saved a
74           server round trip when updating the microfocushint. 
75           Worked around some broken XmbLookupString implementations
76           that do not report buffer overflows correctly. 
77           Key events are never given to a widget after clearFocus()
78           has been called for that widget; this is the same behavior
79           as Windows.
81 - QAquaStyle (MacOS X only)
82         More optimizations and several minor visual bugs fixed.
84 - QCanvas
85         Erase any exposed empty space when shrinking the canvas.
87 - QCanvasPixmapArray
88         Initialize the framecount to 0.
90 - QCanvasView
91         Optimize background pixmaps: potentially they were drawn
92         twice, first untranslated then translated.
94 - QClipboard (X11 only)
95         The race conditions that cause KDE to lock-up occasionally
96         should now be fixed.
98 - QComboBox
99         Fixed behavior with non-selectable items. Fixed a crash when
100         calling setCurrentItem(-1). Fixed autoscrolling when dragging
101         the mouse directly after opening the dropdown.
103 - QColor
104         Make invalid named colors return a non-valid QColor (as
105         documented).
107 - QColorDialog (Win32 only)
108         Use WStyle_DialogBorder, since resizing this dialog does not
109         make much sense.
111 - QCommonStyle
112         Respect QApplication::globalStrut() in scroll bars. Support
113         reverse layout in QTitleBar.
115 - QCursor
116         Safer cleanup of cursor shapes (avoids possible free'd memory
117         read)
118         - Win32 only: fixed application override cursor with mouse
119           grabbing.
121 - QDate
122         Fixed some possible overflows.
123         - Win32 only: Improve locale support for short day and month
124           names etc. Initialize milliseconds correctly.
126 - QDateTimeEdit
127         Display AM/PM if set by locale. Improved sizeHint().
129 - QDockAarea
130         More reliable sizeHint(). Better support for reverse layouts.
132 - QDockWindow
133         Emit the placeChange() signal more reliably. Avoid floating
134         docks popping up everywhere before they have been positioned
135         and laid out.
137 - QDesktopWidget
138         - X11 only: When using normal dualhead (not Xinerama), make
139           sure we report the correct screen number.
140         - Win32 only: refresh on WM_DISPLAYCHANGE.
142 - QFrame
143         New panel styles LineEditPanel and TabWidgetPanel. This was
144         required by the new for Windows XP support.
146 - QFileDialog
147         Show unicode filenames to the user rather than encoded ASCII
148         (e.g. previously latin1 characters were shown as "%XX"
149         escapes).
150         Fixed multiple-selection of FTP files. 
151         Emit signal fileHighlighted in existingfile mode.
152         - Mac only: Fixed existingFolder(). Fixed window position so
153           that it will never fall outside the screen.
154         - Win32 only: since files, directories and drives are not case
155           sensitive, we don't add an extra entry in the paths box if
156           the path already exists but with different case.
158 - QFileInfo (Unix only) 
159         Make sure that symlinks pointing to invalid/non-existing
160         targets are reported as symlinks.
162 - QFont
163         Ensure a rounded-off value is returned from pointSize().
164         - x11 only: improved line width calculation. Fixed off by one
165           error in interpreting Xft font extents. Allow the use of
166           both Xft and non Xft fonts in the same application. Make
167           sure fonts are antialiased by default when using
168           xftfreetype.
170 - QFontDialog
171         Prevent re-laying out when the size of the preview label
172         changes.
174 - QFtp
175         In parseDir(), do not compare English month names to
176         shortMonthName(), since the latter is localized.
178 - QGList
179         Make self-assignments work.
181 - QGLWidget
182         Fixed ARGB to RGBA conversion on BigEndian systems.
183         - Win32 only: fixed colormap for 8-bit RGBA GL mode.
184         - X11 only: multiple heads with different color depths fixes.
186 - QHebrewCodec
187         Assume the bidi algorithm is a reversible operation for the
188         visual 8859-8 codec. This is not true for very complex strings
189         but should hold in most cases.
191 - QIconSet
192         Fixed detach() to really detach the internal pixmaps. In case
193         no image formats are installed, show black pixmaps rather than
194         ASSERT.
196 - QImage
197         Allow 16-bit DIBs. Allow > 32767 level PNMs. 
198         Fixed smoothscale() for the following bug: whenever 
199         (new_width / original_width * 4096) is not an integer the last
200         column of the scaled image is black.
202 - QImageIO
203         Fixed plugin loading in cases where the image format is
204         explicitly defined.
206 - QInputDialog
207         Disable the OK button when input is not Acceptable.
208         (See QValidator.)
210 - QLabel
211         When showing rich text with tables (via QSimpleRichtext),
212         avoid drawing the table background.
214 - QLayout
215         In reverse layout mode: fix off by one error when laying out
216         right to left or bottom to top.
218 - QLineEdit
219         Fixed offset calculation for horizontal scrolling. Invoke
220         validator when the user presses Backspace or
221         Delete. Compression of the undo/redo stack fixed. Security: do
222         not reveal the position of spaces with Ctrl+RightArrow or
223         Ctrl+LeftArrow in password mode.
225 - QListBox
226         Append items at the proper position even after sorting the
227         content. Made QWidget::setBackgroundMode() work correctly.
229 - QListBoxPixmap
230         Use the function pixmap() when drawing the pixmap, so users
231         can reimplement QListBoxPixmap::pixmap().
233 - QListView
234         Fix misalignment of checkbox click zone. Make the selected and
235         focus rectangles cover the entire column for QCheckListItems
236         if the listview root is not decorated. Make
237         QWidget::setBackgroundMode() on the viewport work correctly.
238         Comply with user interface guidelines: clear the selection
239         when a click is in an empty area unless the Ctrl key is down.
240         Fixed possible crash when starting a rename with a double
241         click. Smarter ensureItemVisible(). Draw listview background
242         in paintEmptyArea() with the current style. Ensure the
243         listview always has a current item.
245 - QMainWindow
246         Better laying out of dockareas when they are all empty.
247         Otherwise an empty QMainWindow looks unappealing in a
248         workspace. Maintain the toplevel layout's resize mode.
250 - QMessageBox
251         Avoid double deletion if the parent is destroyed while the
252         messagebox is open. Support y/n/c shortcuts without needing
253         the Alt key modifier.
255 - QMovie
256         Allow pause() and restart() with MNG.
258 - QMultiLineEdit
259         Remove internal trailing space when returning a textline with
260         textLine(int) and querying lineLength(int).
262 - QPainter
263         The boundingRect() should now work properly for the
264         combination richtext, right-aligned and an empty initial rect.
265         Handle DontClip-flag in the painter's complex drawText()
266         function. Reset the cached composition matrix (and inverse)
267         when reinitialising a painter.
269 - QPicture
270         Fixed the loading of binaries from older Qt versions.
272 - QPixmap
273         grabWidget(): when the widget sets WRepaintNoErase it might
274         erase itself with the non-redirected QWidget::erase(); restore
275         those areas.
276         - X11 only: (with XRENDER extension) when copying a pixmap,
277           bitBlt the entire data into the new pixmap instead of using
278           alpha composition.
280 - QPopupMenu
281         Fixed strange side effects with the menu effects. Support
282         minimumSize() for popups. Fixed a navigation issue where
283         Key_Right under certain circumstances was not propagated to
284         the menu bar. Speedups when disabling/enabling menu items
285         before showing them.
286         - X11 only: Fixed mouse and keyboard grabbing side effects
287           with popup menu effects enabled.
289 - QPrintDialog (built-in dialog)
290         Use the text in the lineedit for the file dialog.
292 - QPrinter
293         Fixed crash when printing with incomplete combined unicode
294         fonts.
295         - Win32 only: fixed a very rare and mysterious crash.
298 - QPSPrinter
299         Make sure the fontPath is read correctly by the postscript
300         driver, and the qtconfig program. Small memory leaks closed.
301         Better support for Asian printing. Limit line length of
302         Postscript DSC comments to 255 chars (as per the postscript
303         specification).
305 -  QRichText
306         Fixed handling of &nbsp. Support both <qt title="..."> and
307         <title>. Avoid painting \n at the end of lines (these
308         sometimes appeared as an empty unicode box). Fixed find() in
309         "whole words only" mode. Fixed unicode auto alignment. Made
310         cursor movement in BiDi paragraphs compliant with MS-Windows.
311         Fixed paragraph right and center alignments when using <br>
312         tags. Fixed superscript/subscript confusion.
314 - QScrollBar
315         Allow scrolling with modifier keys pressed.
317 - QScrollView
318         Made autoscrolling work with drag and drop. Never generate
319         paintevents that are outside the visible area.
321 - QSettings
322         - Unix only: search paths are valid for individual objects,
323           NOT every object (windows behavior). When reading files,
324           don't replace the old groups with contents of the new
325           groups; merge them instead. Properly escape backslashes and
326           newlines.
327         - win32 only: improved error handling. Fixed subKeyList() and
328           entryList() for empty paths.
330 - QSimpleRichText
331         Correctly transform clipping rectangle.
333 - QSizeGrip
334         Reverted sizeHint() to the old size to avoid making the
335         statusbar a tiny bit too big. Support right-to-left layout.
338 - QSgiStyle
339         Made the combobox arrow look nicer. Fixed disabled combobox
340         drawing.
342 - QSlider
343         Fixed click handling for reverse layouts.
345 - QSpinBox
346         Usability fix: when changing a value with the up/down arrow
347         keys or with the arrow buttons, select the new value.
349 - QSplitter
350         Use the actual QSplitter pointer as documented (and not a
351         QSplitterHandle pointer) as the parameter to the
352         QStyle::sizeForContents() call. Fixed reverse layouts when
353         splitter movement is constrained.
355 - QSqlRecord
356         Fixed double increment of the iterator in certain
357         circumstances.
359 - QString
360         Fixed QString::setLatin1() when the length parameter is 0.
361         - Unix only: Use strcoll() in QString::localeAwareSorting().
362         - Mac only: clarify that local8Bit() is always utf8().
364 - QStyle
365         New frame styles for tab widgets, window frames and line edit
366         controls. This was required by the new support for Windows XP.
367         Added SH_ScrollBar_StopMouseOverSlider style hint so that one can
368         turn on (or off) the ability to stop pageup/pagedown when the
369         slider hits the mouse (this is needed for Aqua on MacOS X).
371 - QSvgDevice
372         Many fixes for saving and restoring attributes that are not
373         part of QPainter. Processing of 'tspan' elements. Now uses
374         double instead of int for internal 'path' arithmetic for
375         better scaling results. Supports QPicture's coordinate
376         transformations.
378 - QTabBar
379         Fixed the focus rectangles and spacing with icons and label
380         texts.
382 - QTable
383         Improved layout in right-to-left mode. Fixed adjustRow() when
384         using header items with icon sets. Do not let hidden
385         columns/rows re-appear when adjusting. Update header correctly
386         when changing a table's dimensions. Correctly reset the
387         updatesEnabled flag in sortColumn(). Fixed modifying the
388         contents of a combobox or checkbox table item while it is the
389         current cell.
391 - QTableItem
392         Make sure an item cannot span over a table's maximum number of
393         rows and columns.
395 - QTabWidget
396         Constrain the sizehint to avoid having oversized dialogs.
398 - QTextCode
399         Rename iso8859-6-I to to 8859-6. The old name is still
400         supported for backwards compatibility.
401         - Win32: implemented locale().
402         - Mac: implemented locale().
404 - QTextDrag (Win32 only)
405         Performance improvements in encodedData().
407 - QTextEdit
408         Fixed HTML output. New property tabStopWidth. Fixed append()
409         and made it smarter: it only scrolls to the end if the view
410         was scrolled to the end before. Proper reformatting when
411         switching word wrap policies. Do not blink the cursor when the
412         textedit is disabled. Make isModified() return the new value
413         in slots connected to the modificationChanged() signal.
414         - X11 only: middle mouse selection pasting sets the cursor
415           position.
417 - QTextStream
418         Faster string output in latin1 mode.
420 - QThread
421         - Unix only: initialize threads in non-GUI mode as well.
422         - Win32 only: fixed the initial value of QThread::running().
424 - QToolButton
425         Fixed unwanted occurences of delayed popup menus.
427 - QUrlOperator
428         Fixed the cache, so that QUrlInfo::name() is set correctly for
429         renamed files. This bug also affected QFileDialog. More
430         careful check whether a file is writable before renaming or
431         deleting it.
433 - QValueVector
434         Make operator==() const. Fixed some sharing issues.
436 - QVariant
437         Fixed a few memory leaks when casting complex values to simple
438         types. Faster operator==().
440 - QWaitCondition (Win32 only)
441         Fixed wakeAll().
443 - QWhatsThis
444         Make QWidget::customWhatsThis() work with menu accelerators.
445         Avoid infinite loops with menu effects.
447 - QWidget
448         Fix default focus so that setTabOrder( X, Y ); setTabOrder( Y,
449         Z ); gives focus to X, not Y or Z. Closing a modal dialog with
450         a double click on a widget could result in a mouse release
451         event being delivered to the widget underneath; this has been
452         fixed.
453         Set/Reset WState_HasMouse on DragEnter/DragLeave.
454         - Win32 only: obey WPaintUnclipped. Make reparent() with 0,0
455           positions do the requested positioning.
456         - X11 only: when reparenting widgets to/from toplevel, make
457           sure the XdndAware property is set. Make input methods work
458           with servers other than kinput2. More fixes for 4Dwm's
459           incompliance with ICCCM 4.1.5 regarding geometry handling.
460           When hiding toplevel windows, we call XFlush() to avoid
461           having popup menus hanging around grabbing the mouse and
462           keyboard while the application is busy. Obey the 'erase'
463           value in repaint(const QRegion& reg, bool erase).
465 - QWindowsStyle
466         Various visual fixes, including fixes for right-to-left
467         mode. Most significantly the light source now comes from the
468         top left also in reverse layout the same as modern versions of
469         Windows.
471 - QWorkspace
472         Support document windows without title bars. Scroll to top
473         left corner when cascading/tiling a scrolled workspace. Define
474         a proper baseSize() for workspace children. Fix some side
475         effects with the workspace's maximize controls on Windows
476         style. Don't raise windows over scrollbars. Clients can now
477         call adjustSize() on the workspace when their sizeHint()
478         changes. When showing two scrollbars, maintain a solid corner.
479         Obey a document window's maximum size when tiling.
481 ****************************************************************************
482 *                          Extensions                                      *
483 ****************************************************************************
485 NO CHANGES
487 ****************************************************************************
488 *                             Other                                        *
489 ****************************************************************************
491 - qtconfig (X11 only)
492         It is now possible to turn Xft on and off, as well as turning
493         antialiasing-by-default on and off. This is necessary since
494         Xft doesn't work on dual head.
496 - moc
497         Q_PROPERTY: Support QMap<QString, QVariant> and
498         QValueList<QVariant> as "QMap" and "QValueList". Support
499         parameters of nested template types, for example
500         QValueVector<QValueVector<double> >, as well as
501         Foo<const int>.
503 - uic
504         Fix uic-generated code for QWizard with both "font" and
505         "titleFont" properties set. Put local includes after global
506         includes in generated files.
508 - lupdate
509         Allow translation of menubar items generated with Qt Designer
510         (e.g. "&File", "&Edit", etc.).
512 - libMNG
513         Updated to version 1.0.3.
515 - libPNG
516         Updated to version 1.0.12.
518 - Translations
519         Added Hebrew translations for Qt and the demo application.
521 - Qt Designer
522         Support 'Ignored' size policy. Support properties of type
523         'double'. Fixed saving of custom widgets in toolbars. Various
524         smaller usability improvements.
526 - Qt Assistant
527         When users starts Qt Assistant themselves, always make a new
528         instance. Only use the unique-instance feature when invoking
529         from Qt Designer.
531 - QMsDev
532         Invoke Qt Linguist when opening a .ts file in Visual Studio.
536 ****************************************************************************
537 *                   Qt/Embedded-specific changes                           *
538 ****************************************************************************
540 NO CHANGES