Adding auto-tests for commits a2fcc4a5 and 8d500381
[qt-netbsd.git] / dist / changes-4.1.1
blobb18539d684c255f2d169c8580168ddeb16e2f58b
1 Qt 4.1.1 is a bug-fix release. It maintains both forward and backward
2 compatibility (source and binary) with Qt 4.1.0.
4 The Qt version 4.1 series is binary compatible with the 4.0.x series.
5 Applications compiled for 4.0 will continue to run with 4.1.
7 ****************************************************************************
8 *                           General                                        *
9 ****************************************************************************
11 Meta Object Compiler (moc)
12         Better handling of preprocessor statements in combination with
13         multi line comments.
14         Fixed problem where moc would generate meta information for
15         invalid signals/slots.
17 Configure / Compilation
18         Fix build of dumpcpp-dependent projects in Visual Studio 6.
19         Fixed compilation for solaris-cc-64.
20         Respect the -no-sql-mysql flag.
21         Fixed compilation with -no-qt3support on Mac OS 10.3
22         qmake now places PkgInfo in the "Contents" directory of the
23         .app bundle.
25 Porting (qt3to4)
26         Fixed the issue where 'int red' would be translated to
27         'Qt::red'.
28         Improved handling of macros created by moc.
30 Qt Designer
31         uic3: Prevent generation of invalid font tags
32         uic: Fixed bug that caused retranslateUI() to add existing
33         items in combo box once again
34         Fixed dependency problem where qtDesigner modules would depend
35         on a private class.
36         Added missing generation of setColumnCount() and setRowCount()
37         for QTableWidget.
38         Fixed a platform incompatibility when saving icon properties on
39         Windows.
40         Fixed a crash when breaking the layout in a dock widget.
41         Fixed a crash when opening a new .ui file while in "Edit Tab
42         Order" mode.
43         Fixed a crash when adding a widget to a QDockWidget.
44         Improved preview of signal/slot connections.
45         Fixed an issue where moving widgets in a form resulted in lost
46         signal/slot connections and tab order to get.
47         Fixed corruption of shortcut properties in .ui files when
48         saving under some locales.
49         Fixed preview of QComboBox with item icons.
50         Fixed an issue preventing cancellation of 'New resource file'
51         if previous resource file was deleted.
52         Fixed use of F1 as help shortcut.
54 Qt Assistant 
55         Fixed problem with restoring window geometry on multi screen
56         configurations.
58 Qt Linguist / Internationalization
59         Fixed tr() idioms, so that translation actually works.
60         Fixed encoding of translated text.
62 Qt Translation
63         Added translation files for Simplified Chinese.
64         Fixed a problem with lupdate parsing output from uic.
66 ****************************************************************************
67 *                          Library                                         *
68 ****************************************************************************
70 General improvements
71 --------------------
73 - QAbstractItemView
74         Fix selections when mouse-tracking is turned on.
75         Fixed selection issues after row resizing.
76         Fixed focus after pressing enter.
78 - QAbstractItemModel
79         More consistent behavior in drag-and-drop code.
81 - QAbstractSlider
82         Ensure changed-signals are only emitted when the value
83         actually changed.
85 - QAbstractSocket
86         Fixed a crash if disconnected during waitForReadyRead().
88 - QAccessibleWidget 
89         Fix an off-by-one navigation error in the accessibility
90         support for menu bar and menus.
92 - QByteArray
93         Fixed leftJustified() and rightJustified() when array contains
94         \0's.
96 - QComboBox
97         Fixed a crash when setting and deleting the model.
98         Fixed a crash when using a QListWidget as the view.
100 - QCoreApplication
101         Fixes race condition during plugin loading.
103 - QCommonStyle
104         Fixed wrong size hint of PM_MenuButtonIndicator.
106 - QDateTime
107         Fixed a regression in fromString().
108         Avoid potential hang when paring invalid date formats.
110 - QDialog
111         Fixed an issue where setExtension()/showExtension() didn't
112         work in a constrained size mode.
114 - QDir
115         cd() now fails when attempting to cd to a non-directory.
117 - QDirModel
118         Improved stability when appending network drives.
119         Improved stability when handling symlinks with relative paths.
121 - QDockWidget
122         Update toggleViewAction() when widget gets hidden with close
123         button.
125 - QFile
126         Changed behavior of rename() to fail if a file of the same
127         name already exists.
129 - QFileDialog
130         Make sure filter combo box gets enabled when changing from
131         Directory to ExistingFile mode.
132         Improve filename completion for files with the same name but
133         different extension.
134         Make sure the selection is updated when modifying the filename
135         by removing characters.
136         Allow typing in several file names in the file name line edit.
137         Improve handling of non-existent windows shares.
138         Improve handling of hidden directories.
139         Make it possible to create new folder when a folder called
140         "New Folder" already exists.
141         Improve usability by not changing the filename text when
142         directories are selected.
143         Improve usability by not autoselecting the first item when
144         changing directories.
145         Ensure that calling setDirectory() with a path shows the
146         directory when the path contains a file name.
147         Avoid unnecessary resolving of mount points, leading to
148         lockups on Unix.
149         Fixed potential crash when selecting an extension filter with
150         no matches in current directory.
151         Fixed a problem where using selectFilter() didn't update the
152         view.
154 - QFileInfo
155         Fixed issue where copying a QFileInfo and calling refresh()
156         could result in file info data being cleared.
157         Fixed issue where calling readLink() would resolve link
158         targets incorrectly.
160 - QGLWidget
161         Switching from full screen mode to normal mode no longer
162         results in incorrect window decorations.
163         Fixed overline, underline and strikethrough for text drawn
164         with renderText().
166 - QGridLayout 
167         Respect specified alignment over default alignment.
169 - QHeaderView
170         Respects dragDistance.
171         Respects TextColorRole.
172         Fixed painting problems caused by clicking both mouse buttons
173         at the same time.
174         Fixed painting flaws when using sort indicators.
175         Fixed issue where QStyleOptionHeader::End would not be set by
176         paintSection.
177         Only the left mouse button can now be used to move and resize
178         header sections.
179         Fixed incorrect header size after swapping header sections.
180         Fixed resize mode of header sections after section moves.
181         Fixed an assert when changing the selection model.
183 - QHash / QSet
184         Make the operator==() not take the internal order of elements
185         into account when comparing.
187 - QIcon
188         Fixed issue where creating QIcons with an invalid path could
189         result in a crash.
191 - Improved handling of focus events when using input methods.
193 - QInputDialog
194         Fixed handling of ampersands in labels.
196 - QImage
197         Fixed drawing of QBitmap's onto a QImage.
199 - QImageIOHandler
200         Made all supported image formats support the Size option.
202 - QItemSelectionModel
203         Fixed an infinite loop in isRowSelected().
205 - QItemDelegate
206         Better handling of QStyleOptionViewItem::Bottom.
207         Increased the delegate horizontal margin.
209 - QLayout
210         Warn instead of crash when adding two layouts to a widget.
212 - QLocale
213         Add missing entry for "nb".
215 - QList
216         Fixed a memory leak when repeatedly removing items from the
217         end and inserting items in the middle.
219 - QListView
220         Fixed an assert when using QProxyModel as the model.
222 - QMainWindow
223         Handle RTL layout for dockwidgets properly.
224         Make dockwidgets remember their sizes after being hidden.
225         Improved reliability when saving and restoring state.
227 - QMenu
228         Fixed shortcut handling of already selected submenus.
229         Fix setting the window title on torn off menus.
230         Fix bug where exec() returned the wrong QAction on some cases.
232 - QMenuBar
233         Improved widget placement in setCornerWidget().
235 - QMenuItem
236         Ensure space for both check mark and icon when using
237         QPlastiqueStyle.
239 - QMYSQLDriver 
240         Fix crash when formatValue() is called without connection.
242 - QMessageBox
243         information() now works correctly when calling it after
244         returning from QApplication::exec()
246 - QPaintEngine
247         Fixed an out of memory issue when drawing very long lines.
248         OpenGL : Make sure the image and pixmap cache is used.
249         OpenGL : Faster rect outlining for the most common case.
251 - QPrintEngine
252         Better font underlining/overlining.
253         Support PDF font embedding, resulting in smaller PDF files and
254         selectable text.
255         Made our generated PDFs readable by Ghostscript.
256         Support pens that have patterns/pixmaps for PDFs.
257         Support landscape mode for PDFs.
259 - QPixmap
260         Fixed issue where save() in some cases would return true on
261         failure.
263 - QProgressBar
264         Fix incorrect progress in some cases.
266 - QPushButton
267         Buttons reparented into a dialog parent through the layout are
268         now auto-default.
270 - QRadioButton
271         Fixed a potential crash in QRadioButton Qt 3 support
272         constructors.
274 - QSortFilterProxyModel
275         Improve stability when adding rows to source model.
276         Fixed issue where some nodes would show up as expandable even
277         if all it's children had been filtered.
278         Fixed a crash when deleting rows.
280 - QSizeGrip
281         Fixed size grip painting when maximizing a QMainWindow in a
282         QWorkspace.
284 - QSvgRenderer
285         Better handling of invalid files.
287 - QSvg
288         Improve stroking with pen width 0.
289         Fix rectangle filling bug.
291 - QSyntaxHighlighter
292         Fixed missing handling of blocks of text under certain
293         conditions.
294         Improved interaction with input methods.
296 - QScrollArea
297         Fixed an issue where the scroll area sometimes would not
298         resize to compensate for content change.
300 - QString
301         Fixed regression in fromLocal8Bit().
303 - QTextDocument
304         Support span style background-color.
305         Fix nested tables in html documents regression.
307 - QTextLayout
308         Added support for soft-hyphens.
309         
310 - QToolButton
311         Make popup menus appear on the correct screen.
312         Fixed ToolButtonPopupMode when QToolButton has a
313         QAction.
315 - QToolBar
316         Combo boxes now appears as submenus in a toolbar extension.
317         setIconSize() now works correctly.
318         Relative position within toolbars are now kept when saving and
319         restoring state.
321 - QTextBrowser
322         Fix missing line break after paragraph.
323         
324 - QTextEdit
325         Improve handling of the TITLE tag.
326         Fixed navigating links via tab.
327         Improved handling of malformed html.
328         Fixed rendering for tables with thead/tbody/tfoot elements.
329         Improved copy and paste of content with whitespace
330         Make undo/redo update the cursor position.
331         Fixed lost cursorPositionChanged() signal in read-only mode.
332         Fixed memory leak when calling setHtml() repeatedly.
333         Significantly improved performance when appending and editing
334         text.
335         Improved performance when selecting all text.
336         Emit copyAvailable() on mouse selection.
338 - QTableView
339         Fixed drawing of selections after moving columns.
340         Do not wrap to the top if Page Down is pressed.
341         Improve scrolling behavior.
342         QTableView now takes ownership of QHeaders set using
343         setHorizontalHeader()
344         Fixed issue where calling setModel(0) could result in a
345         crash.
346         
347 - QTreeView
348         Fixed scrolling-related item expand bug.
349         Improve scrolling behavior.
350         QTreeView now takes ownership of QHeaders set using
351         setHorizontalHeader()
352         Avoid crash when calling setRowHidden with no model.
353         Avoid crash when calling sizeHintForColumn() in some cases.
354         Improved performance when adding rows.
355         Fixed update of view when changing row heights.
356         Fixed a bug where calling setCurrentIndex() did not update the
357         view correctly.
358         Removed extra emit of the expanded() signal on already
359         expanded branches.
361 - QTreeWidget
362         Fixed tristate check item behavior.
364 - QTabWidget
365         Fixed bug that caused missing resize when dynamically adding
366         widgets.
367         Fixed text positioning in a tab with an icon.
369         
370 - QTemporaryFile
371         Fixed issue where calling open() could potentially change the
372         file name.
374 - QTextDocument
375         Improved stability when importing incorrectly formed html
376         tables.
377         Improved stability when importing closing tags without
378         corresponding opening tags.
379         
380 - QTextStream
381         Ensure valid codec converter state after calling seek(0).
382         Fixed issue where readAll() would not work with sequential
383         devices.
385 - QTabBar
386         Improve handling of tab removal.
388 - QUrl
389         Improve handling of hostnames containing digits.
390         Fix crash when calling hasQueryItem() on QUrl without any
391         query items.
392         Added support for parsing file names with '[' and ']'
393         characters.
395 - QVariant
396         Improve operator==() behavior when comparing different types.
397         The QVariant(const char *) constructor is now unavailable when
398         QT_NO_CAST_TO_ASCII is set. Otherwise, it uses
399         QString::fromAscii to convert the const char * to a Unicode
400         QString to prevent loss of information.
402 - QWidget
403         Fix regression in setMask().
404         Fixed issue where incorrect minimum size was reported after
405         reparenting from a top level widget.
406         Fixed return value of normalGeometry() after the widget has
407         been maximized.
408         Fixed crash on application exit if the widget was created
409         before the widget mapper is initialized.
411 - QXpmHandler
412         Fixed handling of non-transparent XPM images.
414 - XMLInputReader
415         Fixed issue where entities in XML files were not
416         resolved.
418 - QXmlSimpleReader
419         A significant (approx. 50x) speedup in QXmlSimpleReader when
420         parsing documents which contain internal or external entities.
422 - Q3DataTable
423         Drivers not supporting the QuerySize feature would display one
424         row of data too little.
426 - Q3IconView
427         Fixed selection appearance.
429 - Q3TextEdit
430         Fixed focus indicator tabbing through tables.
431         Fixed coloring when inserting text after use of setColor().
433 - Q3TabDialog
434         Added missing selected() signal
436 - Q3ListView
437         Fixed occasional crashes when deleting items.
438         Fixed wrong label after addLabel(QString()).
440 - Q3ScrollView
441         Fixed default focus policy for deriving classes.
443 - Q3ToolBar
444         Q3Action::setOn() now works correctly.
445         Adding an action now sets all action properties correctly.
447 - Q3ActionGroup
448         Fix drop down drawing error.
450 - Q3MainWindow
451         Fixed a regression in setUsesIconText().
454 Platform-Specific changes
455 -------------------------
457 Windows:
459 - QApplication
460         Timers now continue to fire when windows enters a modal event
461         loop.
463 - QAxServer
464         Fixed issue where updateRegistry() would report success, even
465         though the operation failed.
466         Fixed comparison of class attributes.
468 - QAxWidget
469         Support parameters of type short* and char* in signal/slots.
471 - QClipboard
472         Make sure the dataChanged() signal is emitted correctly.
474 - QColordialog
475         Fixed various selection issues in WindowsXP style.
477 - QDockWidget
478         Improve the look of title bar buttons.
479         Improved appearance of dock widget title and frame.
481 - QFileDialog
482         Improve handling of path names with special characters.
483         Maintain modality chain when showing a native modal inside a
484         qt modal.
485         Speedup when browsing dirs containing broken shortcuts.
487 - QHeaderView
488         Improved header highlighting in WindowsXP style.
490 - QInputDialog
491         Calling setText() also selects all text to be consistent with
492         other platforms.
494 - QLabel
495         Improved appearance when disabled.
497 - QLineEdit
498         Make QLineEdit respect the XP color scheme.
500 - QOpenGL
501         Added workaround for missing OpenGL sample buffers on the
502         Mobile Intel 915GM Express Chipset.
503         Fixed rendering into a QPixmap.
505 - QPainter
506         Improve Type 1 font rendering.
507         Improved performance of font rendering.
508         Use the standard fallback fonts for Asian languages.
510 - QPrinter
511         Fixed issue where the orientation for a QPrinter would be
512         ignored.
513         Fix PCL printer line drawing bug.
515 - QPrintDialog
516         Fix unhandled exception when a print dialog is launched from
517         within Visual Studio.
519 - QPrintEngine
520         Ensure correct pageRect() and paperRect() when printer
521         resolution is set manually.
523 - QTableView
524         Improved checkbox coloring within selections.
526 - QUdpSocket
527         Better handling when sending to an unbound port.
529 - QWidget
530         Fix setWindowOpacity() flicker.
532 - QWindowsXPStyle
533         Fixed QApplication::setStyle() if called before construction
534         of the application object.
536 - QWorkSpace
537         Improve window resizing.
538         Improve title bar and button appearance in XP style.
539         Improved focus handling.
540         Fixed update of child masks on style change.
541         Fixed restore action not being enabled on maximize and
542         minimize.
543         Fixed a potential crash in maximizeWindow().
545 X11:
547         Reintroduced qt_x11_set_global_double_buffer() for binary
548         compatibility.
549         Improved tablet event handling.
551 - QApplication
552         The KeypadModifier is now set when NumLock is enabled.
554 - QBitmap
555         Fixed text drawing errors under some fontconfig
556         settings.
558 - QLibrary
559         isLibrary() now returns true for .a and .so on AIX.
561 - qmake
562         Improved stability when modifying environment variables
563         Allow '/' as a path separator on all platforms.
565 - QPaintEngine
566         Fixed issue where filling and stroking ellipses could leave
567         pixel gaps.
569 - QPainter
570         Implemented Porter-Duff composition support.
571         Fix artifacts when drawing aliased primitives with an alpha
572         pen.
573         Fixed issue where rotating pixmaps could add a pixel row in
574         some cases.
575         Fixed drawing of arcs of less than 1 degree.
576         Made drawText() honor the Qt::TextWrapAnywhere flag.
578 - QPrinter
579         Fixed cleanup of child processes.
581 - QPrintDialog
582         Fixed problems when using "From page" and "To page" spin
583         boxes.
584         Made it impossible to choose "OK" when no printers are
585         configured.
587 - QProcess
588         Fixed possible deadlock when calling startDetatched().
590 - QScrollArea
591         Catch double click also when size exceeds window system size
592         limits.
594 - QTextEdit
595         Fixed an issue where the horizontal scrollbar did not show up.
597 - QWorkspace
598         Fixed missing mouse event propagation to child widgets.
600 Mac OS X:
602         General fixes to the drag and drop support.
603         Improved performance when resizing widgets.
604         Fixed font issues for input methods with Japanese.
605         Fixed issue with pasting Japanese text.
606         Correctly set architecture and SDKROOT when creating a Xcode
607         project.
609 - QCursor
610         Fix alpha pixmap cursors.
612 - QDesktopWidget
613         Improve stability when changing users.
615 - QDockWidget 
616         Improve dock widget appearance.
618 - QGroupBox
619         More conformant styling.
621 - QHeaderView
622         Fix text truncating issue on headers.
624 - QLabel
625         Fix labels painted incorrectly when using MacMetalStyle.
627 - QMenu
628         Improved menu styling.
629         Improved popup appearance.
631 - QPainter
632         Add support for SmoothPixmap transform.
634 - QPushButton
635         Make Mac style obey the icon size set by setIconSize().
636         Make sure buttons are not shown as default on inactive
637         windows.
639 - QPrintEngine
640         Fixed truncated PDF generation of large documents.
642 - QSplashScreen
643         Fix painting errors when using showMessage().
645 - QTextEdit
646         Fixed focus issues with Japanese input.
647         Fixed issue with pasting Unicode text between
648         applications.
650 - QToolBar 
651         Improve tool bar appearance.
653 - QTextFormat
654         Fixed a crash when setting a font's pixel size to -1.
656 - QWorkSpace 
657         Improve workspace children appearance.
659 - Q3TextEdit
660         Fixed a crash in paragraphRect() when all content had been
661         deleted.
663 - Q3ListViewItem
664         Fixed a infinite loop when editing an item.
666 Qtopia Core:
668         Removed flickering when mouse cursor is above an animation.
669         Optimized use of shared memory.
670         Optionally use iwmmxt intrinsics to optimize painting.
671         Added a simple example on how to calibrate touch screen mouse
672         handlers.
674 - Fonts
675         Handle BDF fonts without the PIXEL_SIZE property.
676         Added Chinese and Japanese fonts.
678 - PDF
679         Support PDF font embedding.
681 - qvfb
682         Fixed a crash when increasing the display size in the
683         configuration dialog.
685 - QPixmap
686         Implement QPixmap::grabWindow().
688 3rd-party libraries
689 -------------------
691 - FreeType
692         Fix memory leak.