diff -r 000000000000 -r 1918ee327afb dist/changes-3.1.2 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/dist/changes-3.1.2 Mon Jan 11 14:00:40 2010 +0000 @@ -0,0 +1,631 @@ + +Qt 3.1.2 is a bugfix release. It maintains both forward and backward +compatibility (source and binary) with Qt 3.1.1 + + +**************************************************************************** +* General * +**************************************************************************** + +Some build fixes on different platforms. Many small documentation +fixes. + +XFree86 only: Tablet support now also looks for devices called "pen", +not just "stylus" and "eraser". + +Animations: Less CPU-consuming roll effects. +X11 only: Disable effects on displays with <16bpp (rather than +falling back to the scrolling). + + +**************************************************************************** +* Library * +**************************************************************************** + +- QAccel + Allow localization of status bar messages. Try harder to + distinguish between an accelerator and the identical + accelerator with Shift in case on of them is currently + disabled. + +- QAccessible + Send accessibility notification for selection changes in + menubars and popup menus. Send accessibility + notifications for QListBox currentItem/selection changes. + +- QActionGroup + Implement visibility for drop-down actiongroups. + +- QApplication + Return focus to the widget that had it before a popup opened + even if the focus is passed on during the show event handling. + When the programmer/user explicitly sets the style (either + with QApplication::setStyle or the -style command line + option), do not reset the style on settings changes. Creating + a second QApplication reads the settings again. + Windows only: Emit aboutToQuit() when the user logs off. Send + a focusOut event to the focus widget when the user tries to + switch applications using Alt+Tab. Fixed setting of + desktop-wide fade and scroll effects. + Windows95/98/Me: Fixed enter/leave handling. Among other + benefits this makes tooltips work more reliably. + X11 only: Various fixes for input methods, e.g. Korean + 'ami'. Some startup performance improvements with + QSettings. Mark the internal wakeUpGuiThread() pipe with + FD_CLOEXEC. Call XFilterEvent before the public X11 event + filters to avoid applications filtering out events that are + necessary for input methods to operate. Removed old en_US + locale workaround for Solaris. Close all open popups when + clicking on a screen different from the popup's screen. Do not + force 256 colors on 8-bit display (used to be a workaround for + a vnc bug). + Mac only: Popupmenus that are dismissed by clicking outside of their + bounds will no longer send the event to the widget clicked on (to avoid + selection changing when canceling a context menu). QContextMenuEvents + will be sent in the same style as Windows/X11 to make the platforms + more consistent, additionally mapping of Ctrl+Click to RightButton has + been added to allow easy context menu handling. Added warnings when a + Qt application is run outside of an application bundle (in GUI mode) + this will prevent accidental starving from events. Correct state when a + modal dialog is shown (to disable the menubar) is used now, and is + emulated to feel like Carbon applications. Fixed bug so that + QApplication::processEvents() can be called before + QApplication::exec(). Window activation will not change when a popup + menu is displayed. Toolbar toggle button will only toggle the top dock + in a QMainWindow. European text composition is supported now to take + advantage of TextInput modules available on Mac OS X. Window activation + has been improved to allow interleaving windows of different classes + correctly (to decrease differences between X11/Windows and Mac). + +- QBuffer + IO_Truncate no longer detaches the explicitly shared byte array. + +- QButton + In setPixmap(), avoid laying out again if the new pixmap does + not change the size. Use QSharedDoubleBuffer only if it is + enabled (this avoids repainting errors). + +- QButtonGroup + Improve hit testing for cursor navigation. + +- QCanvas + Do not try to double buffer invalid areas. + +- QCanvasEllipse + Windows only: Workaround a Windows limitation that does not + support 2x2 ellipse rendering without a pen. Do not try to + double buffer invalid areas. + +- QColorDialog + Allow the setting of all 48 standard colors. + +- QComboBox + Close any popup menus or listboxes when disabling the combobox. + Fix text alignment when large pixmaps were inserted into the + combobox. + +- QComplexText + Added correct positioning specs for all of Thai and Lao. Some + reordering fixes. + +- QCursor + Mac only: Correct interpretation of mask/data of a QCursor so that the + mask will can be used as documented. + +- QDate + Fixed addYears() for days missing in certain years. + +- QDateTimeEdit + Compute an improved layout for the QDateEdit and QTimeEdit + components of the QDateTimeEdit (based on the size hints). Set + the size policy of the QDateTimeEdit to (Minimum, Fixed). + In time edit: If the display is AM/PM, do not accept 13-24 as + valid input for the hours. Go to the min/max value when + stepping down/up goes out of the valid range. + +- QDesktopWidget + Mac only: Fixes to availableGeometry(). + +- QDialog + Fixed a visibility issue with setExtension(). + X11 only: Modal dialogs that have no parent set their + WM_TRANSIENT_FOR hint to the main application widget (not + root). Do not raise the active modal widget if another one + gets focus. This used to be an incorrect workaround for a + now-obsolete problem where CDE would not keep modal dialogs + above their parents. + Do not reposition laid out dialogs that restore their geometry + in a polish() reimplementation. + +- QDict + Handle zero sized hash tables. + +- QDns + Slightly more reliable now, fixed a memory leak. + +- QDockArea + Fixed resizing of a QDockWindow is no longer affected by + another closed QDockWindow in the same QDockArea. If a QDockWindow + has changed its sizeHint layout items use now the new size. + +- QDockWindow + When undocking a window, use the last undocked size if we have + one. + X11 only: Make sure the moving frame is drawn on the correct screen. + Windows only: Fixed some focus issues. + +- QDom + Create entity references for unknown entities. + +- QDragManager + X11 only: Raise cursor decoration. Improved Motif drop support + to support non-textual data. + Windows only: Do not send any drag events if we don't have a receiver. + Windows 2000 only: Ignore illegal requests for error-clipboard + format when dropping files onto Explorer. + +- QEventLoop + Window only: Fixed mutex lock problem. Fixed processEvents() + with ExcludeUserInput. Fixed QSocketNotifiers not being + removed when the notifier gets deleted and the event + loop is blocking. + Unix only: Fixed a 64 bit problem. + Mac only: Fixed hasPendingEvents() for non-gui apps. + +- QFileDialog + Fix drag'n'drop for the first click into the listbox. Do not + auto-complete when saving a file. Enabled drag'n'drop of files + for all modes. In Directory* mode, do not set the filter to a + non-existent directory if one is specified. + Windows only: Fixed icon lookup. + Win 98/Me only: Make sure getExistingDirectory() doesn't + modify the current directory. + Mac only: Encoding fixes. + +- QFont + Win95 only: Make symbol fonts work. + X11 only: Don't change the Xft enabled/disabled setting + at runtime. Avoid some X server roundtrips when loading fonts. + +- QFontDialog + Fixed getFont() in case no default font is specified. + +- QFrame + Turn on focus and mouse-over style flags for frame painting. + +- QFtp + If the server does not expect a password (i.e. if you are + already logged in after you sent the username), do not send + the password since this might lead to errors. + +- QGLWidget + X11 only: Xft fonts won't work with glXUseXFont() - so do not + try to use them. + Win32 only: Fixed text rendering to pixmap issues. + Mac only: Improved responsiveness when resizing opengl widgets. + Mac only: Optimized swapping between accelerated and + non-accelerated case. + Mac 10.2 only: Improved performance in the case of overlapping + opengl widgets. + +- QHBoxLayout + Handle direction changes in user code. + +- QHeader + Improved sizeHint() takes the arrows of sorted columns + into account. Fix redrawing problems when moving header + sections. Ignore grip-margin in mouse handling for + non-resizable sections. + +- QHttp + Fixed a memory leak. (With thanks to valgrind's developer for + this useful tool). Improved head() implementation to actually + use HEAD requests. Accepts responses from web servers that + return \n instead of \r\n as line separators. Fixed a rare + infinite loop issue. + +- QIconView: + Clip item drawing to current container to fix drawing of + pixmaps with alpha channels. + +- QImageIO + jpegio: Fixed potential buffer overrun. + gif: Fixed a crash for invalid gif files. + +- QInputContext + X11 only: Try harder to provide the input method with an + appropriate - and available - fontset. + +- QInputDialog + Fixed size hint when using height-for-width rich text. + +- QKeySequence + Fixed operator==() for some special cases. + +- QLabel + When the the label is disabled, use identical color roles for both + rich text and plain text. + +- QLibrary + Mac only: Return failure response when a library cannot be opened + due to missing symbols. + +- QLineEdit + Do not truncate the text when we validateAndSet a text which + is longer than maxLength, but disallow the input. Respect + maxLength() in setText(). Make displayText() and selectedText() + not strip non-breaking spaces anymore. Fixed memory leak when + adding and deleting line edits. Undo now clears the current + selection. Undo/redo now works when overwriting the selection. + Fixed memory leak on constructing/destructing line edits. Give + line edit ownership of the popup menu returned by the default + createPopupMenu() implementation. + +- QListView + Fixed background brush origin when using double buffering. Do + not resize a stretchable column in widthChanged(). Fixed + selecting when auto-scrolling. Initialize multi-selection + anchor. Accept drops outside items when acceptDrops() is true. + Use anchor correctly in Extended selection mode (also for + mouseMove). Make right clicking on a selected item not change + the selection. The AlignHCenter flag of a QCheckListItem now + behaves like for normal QListViewItems. Speed up opening and + closing of invisible items. Fixed a memory leak in removeColumn() + Single selection mode: If the selected item is taken out of the + listview, unselect it and emit selectionChanged(). Fixed + deselecting in multi-selection modes. Right release outside an + item in a listview no longer clears the selection if + ControlButton is set. + +- QListViewItem + Invalidate column sorting in moveToJustAfter(). + +- QLocalFs + The network protocol for local file systems sets sets the + right permissions for the QUrlInfo objects if you do a + QUrlOperator::listChildren(). + +- QMainWindow + Fixed orientation handler calls. + +- QMap + Fixed conversion from std::map. + +- QMenuBar + Mac only: Fix for destruction of menu bars. + Mac only: Use process name instead of argv. + +- QObject + Always emit the destroyed() signal, even when signals are + blocked. + +- QPaintDevice + Mac only: Fixed raster op. for bitBlt. + +- QPainter + X11 only: Fix for rotated rectangles. Fixed drawPolygon() with + winding being false. + Mac only: drawText() fixes. + Mac only: Fix for drawPie(). + +- QPicture + Warn about and catch save operations on still active devices. + +- QPixmap + Made grabWidget() more robust. + X11 only: Fixed a bug in grabWindow(), fixes in + convertFromImage() for MonoOnly. + +- QPointArray + The makeArc() function is now inclusive in respect of the start and + end points. + +- QPopupMenu + If there is a custom QWhatsThis installed for the whole menu + but no whatsThis set for the item, use the custom QWhatsThis + to get the help text. Improved size for multi-column popups. + Mac only: Improved scrollable popups + Mac only: Fix handling of popupmenu dismissing mouse presses. + +- QPrintDialog + Fix reentrancy issues when reading printer dialog settings. + Windows only: Handle lack of default printers more + gracefully. + +- QPrinter + Windows only: Fix reentrancy issues and make sure that all + handles are updated correctly. Improved bottom and right + margin calculation. Fixed some problems with image printing. + Mac only: Support for high resolution printing. Support 1-bit + masking for pixmaps. + +- QProcess + If the process's file descriptor is closed for stdout or + stderr, but the line in the buffer does not end with a \n or + \r\n, it is still possible to read this data using readLine(). + Windows only: Make it safe to call qApp->processEvents() in a + slot connected to QProcess::readyReadStdout(). Fixed start() + with no arguments. Use a non-blocking file descriptor for + writes to stdin. Avoid leaking of handles. + +- QPSPrinter + Fixed codec for Korean PostScript fonts (ksc5601.1987-0, not + the listbox. Do not auto-complete when saving a + fileeucKR). Fixed memory leak. + +- QRichText + Improved Asian line breaking: Avoid breaking before + punctuation and closing braces and after opening braces. Fixed + a freed memory access problem with floating items on + destruction. When copying rich application/x-qrichtext, include + format information for the initial characters until the first + complete span. Make text="color" attributes in qt and body + tags work again. + +- QScrollView + Restored the Qt 3 default sizeHint() that depends on the + scroll view's content, restricted within a 'sane' range (this + has no impact on most child classes, which already reimplement + sizeHint()). + +- QSemaphore + Fixed race condition in operator-=(). + Unix only: A bit more robust. + +- QSettings + Implement scoping for file-based settings (Unix and + Ini-modes). Support storing and reading null strings. Other + fixes. + X11 only: Fixed rehash issues when using multiple screens. + Windows and Mac: Completed Ini mode. + +- QSocket + If the read retruns 0, safely assume that the peer closed the + connection. Fixed readyRead sometimes not being + emitted. Fixed a select bug when the other end terminates + the connection. Some 64 bit fixes. + +- QSound + Mac only: Implemented stop(). + +- QSplitter + Make sizes() return 0 for collapsed widgets. + +- QSqlDriver + All drivers: Fixed crashes when accessing out of bound + fields. Clear the openError() flag when opening a connection + successfully. + MySQL only: Make use of mysql_use_result() in forward-only mode. + TDS only: Return NULL QVariants for NULL fields. + ODBC only: Do not require the SERVER keyword to be in a + connection string. Fix Unicode issues with MS Access. Allow + MS Access people to create a connection string without + creating a DSN entry first. + +- QSqlQuery + Real values in queries containing placeholders were in some + cases incorrectly replaced in emulated prepared queries. + Added support for forward only queries in MySQL. + +- QStatusBar + Make sure QStatusBar updates the minimum height when a child + widget triggers a relayout (e.g. from size/font/etc. changes). + +- QString + Safer QString->std::string conversion (handles null-string + case). Fixed 64-bit issue in toLong() and toULong(). Make + prepend(), append() and operator+=() work with a QByteArray + argument that is not 0-terminated. Since this + fix is done in inline functions, you must recompile your + application to benefit from it. Make QString(const + QByteArray&) respect the array's size where a codec for + C strings is defined. Performance improvements for lower() + and upper(). Fix toDouble() when string contains trailing + whitespace. + +- QSvgDevice + No background for Bezier curves. Fixed omission of font-family + attribute in SVG generator. Fixed bounding rect mapping. + +- QStyle (and subclasses) + Usable size for subcontrols for small scrollbars. Fixed MDI + document window titlebar clipping. + XP style: Support non-default group boxes. Corrected tab + widget border drawing. More compliant dock window + appearance. Fixed translations for QCheckTableItem and + QComboTableItem. + Windows style: Use the highlighted text color role for arrows + in menus. Allow drawing of list view expand controls without + branches. + SGI style: Use correct background brush on pushbuttons with + popdown arrows. + Mac style (Mac only): Comboboxes will now be smaller (and closer to + Aqua Style suggested sizes). Expansion widgets (in a listview) will + now draw in the correct background color to allow non-white listviews. + +- QSpinBox + Stop spinning when users press a button other than the + left one. Support Key_Enter in addition to Key_Return as the + documentation always stated. + +- QTabBar + Let arrow buttons react correctly on style changes. + +- QTabDialog + Fix reverse layout for right to left languages. + +- QTable + Catch hideColumn() on tables with too few columns. Fixed an + endless recursion when swapping header sections. Fixed SingleRow + selection when using the vertical header. Emit the + sizeChange() signal when resizing a table header section with + a double click. Fixed set*MovingEnabled() when the selection + mode is NoSelection. Fix selection drawing for focusStyle == + FollowFocus. Fixed a memory leak. + +- QTableItem + Use virtual text() method for calculations instead of accessing the + data member directly. Do not crash when destroying a table item that + is not in a table. + +- QTextCodec: + Fixed a bug in the Unicode -> jisx0208 conversion table. + +- QTextEdit + Made setFormat() much faster when undo/redo is + disabled. Fixed double deletion crash when clearing a document + with floating custom items. AccelOverride events with Shift + pressed now work the same as for a normal key press. + LogText mode: Allow spaces in the font color tag. Fixed + background redraw issue. Stop scrollbar from disappearing + due to laying out the document incorrectly. + +- QThread + Unix only: Do not rely on PTHREAD_MUTEX_INITIALIZER and + PTHREAD_COND_INITIALIZER. Fixed timeout calculation in + sleep(). + +- QTimeEdit + Typing in input for the first time now overwrites the existing + value. + +- QToolButton + Fixed width calculation for multiline text. + +- QTooltip + Try hard to avoid tooltips for widgets in inactive + windows. Use screen geometry rather than available geometry + for positioning. Avoid the mouse cursor covering part of the + tooltip. + +- QTranslator + Notify main windows when installing an empty translator. + +- QUrlOperator + Make setNameFilter() work with FTP. + +- QValueVector + Fix operator==() to work as expected if the two vectors do not have + the same size. + +- QVariant + Fixed canCast() for Bool -> String and ByteArray -> String conversion. + Fixed operator==() for maps. Fixed the asDouble() function to + detach first before a conversion is done. After streaming into + a QVariant isNull() now returns false. + +- QWaitCondition + Unix only: Make sure the mutex is destroyed after it is + unlocked. + +- QWhatsThis + Use screen geometry rather than available geometry + for positioning. + +- QWidget + In adjustSize(), process LayoutHint events for all widgets, + not only this widget. Fixed a visibility issue with + reparent(). Fixed recursive update of child widgets with + background origin not being WidgetOrigin. Fixed isEnabledTo(). + Windows only: Fixed mapFromGlobal() / mapToGlobal() for + widgets that are not visible. + X11 only: Set the WM_CLIENT_LEADER and SM_CLIENT_ID properties + according to the ICCCM (section 5.1). We accomplish this by + creating a hidden toplevel window to act as the client leader, + and all toplevel widgets will use this window as the client + leader. Fixed calling show() on minimized windows. Fixes to + grabWindow() for platforms that support different color depths + on one display. + Windows only: Handle frameGeometry() changes when users change + the titlebar font. + Mac only: Reparent fixes so that visiblity of a toplevel window + will be retained as well as to avoid painting errors when reparented + onto a different window. Fixed painting errors when a widget is + interactively moved off screen. showNormal() will now toggle + correctly when a window is minimized, additionally toggling between + showMaximized()/showNormal() will operate as expected. Qt will now + try to prevent placing a window partially offscreen. This will not + over-ride explicit window positioning, but it will correct default + placement. + +- QWidgetStack + Make removeWidget() safe when there are several widgets + with the same id. + +- QWorkspace + If the active window is clicked on, transfer focus to + the child. Restore focus to old subcontrol when changing the + active MDI window. Make sure a MDI window is not resized below + a child widget's minimum size. Do not allow resizing windows + when we have an active popup window. Another fix to the + windowActivated() signal. Fixed resize handling for fixed-size + windows. + +- QXmlSimpleReader + Fixed a memory leak for incremental parsing. + + +**************************************************************************** +* Tools * +**************************************************************************** + +- Qt Designer + Some small usability improvements and crash fixes. Fixed + editing properties of multiple selected widgets for custom + widgets. Fixed some problems with pixmaps, when using a pixmap + function. Allow entering ':' in the class name in the + form settings dialog (for namespaces). Do not show deleted + toolbars in the object explorer. Fixed inserting widgets into + toolbars. Fixed displaying nested widget stacks in the object + explorer. Added an option to enable auto saving. Fixed some + issues with auto-indent in the C++ editor plugin. Fixed + problems with slots which have namespaces in their function + arguments. Do not save invalid pixmaps. whatsThis properties + can now be edited with the richtext editor. + +- Qt Assistant + Fixed crash when printing to file was cancelled. Fixed + mimesource settings when a link is opened in a new window. + Added missing translator. Fixed reloading pages when the + font was changed. Added accelerator for exiting Assistant. + Full text search now supports Unicode. Search accepts special + characters like '_'. Added option for disabling the first run + initialization. Now it is possible to open a link or new + window directly from the sidebar. + +- moc + Make 'moc -p foo bar/baz.h' generates #include "foo/baz.h" + instead of #include "foo/bar/baz.h". Also avoid redundant "./" + at the beginning. Accept identifiers trailing the function + signature to allows sneaking in compiler specific attributes + via a macro. + +- qmake + Qmake will no longer put the version number on plugins. These are + not a necessary part of the filename. A parser bug got into qmake + causing (right hand side) functions from being evaluated properly, + additionally the argument parser has been improved to allow functions + calling functions. Qmake now has support for ProjectBuilder 2.1, it + will no longer respect OBJECTS_DIR in ProjectBuilder (as this exposed + a bug in ProjectBuilder itself). It will automatically detect qt-mt + (when linking against Qt) so "CONFIG += thread" is not necessary, + however this will not turn on Q_THREAD_SUPPORT. A new test operator + has been added 'equals()' to allow testing for equality to a variable. + In 'project mode' qmake will now detect TRANSLATIONS files + automatically. + +- uic + Some small fixes in code generation. + +**************************************************************************** +* Extensions * +**************************************************************************** + +- Netscape Plugin + The Netscape Plugin is supported again, now on both Netscape 4.x and + current versions based on the Mozilla code. + +- ActiveQt + Activate socket notifiers and process config requests even if + Qt does not own the event loop. +