Qt 3.0.7 is a bugfix release. It maintains both forward and backward compatibility (source and binary) with Qt 3.0.6. **************************************************************************** * General * **************************************************************************** Smaller documentation fixes. Some build issues fixed. Upgraded libpng to 1.0.15. **************************************************************************** * Library * **************************************************************************** - QAction Avoid emitting activated() twice for actions in a toolbar. Possibility to remove an iconset from an action by specifying a null iconset. - QApplication Fixed a font sharing problem with setFont(). Fixed window close with modality. Don't overwrite an explicitely set font with the default font when using the static methods before calling the constructor. When the programmer/user explicitly sets the style (either with QApplication::setStyle or -style command line option), do not reset the style on settings changes. Windows only: Serialize calls to OutputDebugString, as this API is not reentrant. Emit aboutToQuit() when the user logs off. Send a focusOut event to the focus widget when the user tries to switch applications via Alt+Tab. Windows95/98/Me: Fixed enter/leave handling. Among others this makes tooltips work more reliable. X11 only: Spit out warning then the user passes an invalid Display* argument. Fixed figuring out the depth of the visual in case a private colormap is supplied. 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. - QBuffer Make IO_Truncate not detach the explicitely shared byte array. - QButton In setPixmap(), avoid relayouting if the new pixmap doesn't change the size. - QCanvasEllipse Windows only: Workaround a Windows limitation that doesn't support 2x2 ellipse rendering without a pen. Don't try to double buffer invalid areas. - QClipboard Flush the clipboard contents when the application object is destroyed. X11 only: another race condition fixed. Handle paste operations with empty data. - QComboBox Accept enter/return key press events on the line edit. Fixed vertical alignment of text when a global strut is set. Clip drawing of large items. Fixed problem with items not being highlighted the first time the popup is shown. - QCommonStyle Fixed SR_CheckBoxFocusRect for empty checkboxes (now inside the indicator) - QComplexText Added correct positioning specs for all of thai and lao. Some reordering fixes. - QCustomEvent Removed bogus warning on illegal type ids. - QDataTable Don't display a single empty row if result set is empty and QuerySize cannot be determined. Don't resize the table after a refresh() if the size is already known. In closeEvent(), accept the event only when isHidden() - QDateTime Fixed addYears() for days missing in certain years. - 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. - QDom Fixed memory consumption when QDomElement::setAttribute() is called multiple times to change the value of an attribute. Fixed a memory leak in QDomDocument::importNode(). - QDragManager X11 only: Fixed a dangling pointer case when the current widget was deleted. Raise cursor decoration. Windows only: Made dropping of URLs work on Japanese Windows98 - QEffects More robust through deferred deletion. Some code improvements. X11 only: disable effects on displays with <16bpp (rather then falling back to the scrolling). - QFileDialog Fixed problems with '#' in path. Fixed creation on non-existing directories. Make previewMode() check if the preview widgets are visible. Enable renaming in ExistingFiles mode. Fix drag'n'drop for the first click into the listbox. Don't auto-complete when saving a file. Enabled drag'n'drop of files for all modes. - QFont Windows only: Fixed boundingRect(QChar) for non true type fonts. Fixed some positioning issues with Thai diacritics. Win95 only: Make symbol fonts work. X11 only: Fixed some issues with diacritics in non unicode encoded fonts. - QFontDialog Fixed getFont() in case no default font is specified. - QFrame Fixed erasing the margin region for flicker-optimized subclasses (e.g. QLineEdit). Turn on focus and mouse-over style flags for frame painting. - QHeader Some speed improvements for the sake of QTable and QListView. Fix redrawing problems when moving header sections. - QIconView Fixed contentsContextMenuEvent(). Only call QIconViewItem::dragLeft() when the cursor has left the bounding rect and only call QIconViewItem::dragEnter() when the cursor has entered the bounding rect. Some performance improvements. - QInputContext X11 only: Improved XFontSet cache (also for cases where the X server does not know the locale). - QKeyEvent Windows only: Fixed internal ascii to keycode conversion for codes > 0x80. - QLineEdit Fixed doubleclick selection to only use spaces as word seperators. Don't validate twice in a row if fixup() did nothing. Fixed support for background pixmaps. Improved undo mechanism. Respect maxLength() in setText(). - QListBox Fixed null-pointer crash in extended selection mode. - QListView Improved auto scrolling. Restrict drop events to items that have drop enabled and accept the event. Added more null-pointer checks to prevent crashes when reimplementing insertItem. Try harder to draw the focus rectangle with an appropriate contrast. Do not resize a stretachable column in widthChanged(). Fixed selecting when auto scrolling. - 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. - QMenuBar Fixed resizing when it was emptied. Caused some strange problems in QMainWindow widgets. Allow stealing of focus in alt-mode. Activate alt-mode only with the plain Alt key, not AltGr. - QMimeSourceFactory Windows only: If a path starts with \\ then it's an absolute path pointing to a network drive - QMovie For animated GIFs, use a minimum delay of 10ms. This is compatible with both IE and Mozilla and avoids huge loads on application and X-Server. -QPainter Fixed pos() in combination with transformations save/restore pairs. Fixed a bug in the BiDi algorithm. X11 only: some problems when drawing rotated text on Solaris fix (due to floating point arithmetrics). Fixed a matrix related crash on Tru64. Windows only: Draw end pixel in lineTo only for 0-width pens. Avoid painting with invalid transformations. - QPaintDeviceMetrics Windows only: Fixed numColors() for 32 bit displays. - QPixmap Windodws only: Fixed array bounds read error in win32 function in convertFromImage. - QPopupMenu Avoid flickering when showing a just created menu immediately. 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. MacOS only: improved scrollable popups - QPrintDialog Unix only: Continue parsing the nsswitch.conf file using additional services when /etc/printers.conf is not found. Windows only: Handle lack of default printers more gracefully. Fix reentrancy issues when reading printer dialog settings. - QPrinter Unix only: Fixes for 64 bit safety. Windows only: fixed a possible double-freeing of memory of a hdc passed to the Windows Common Dialog. - QProcess Windows only: Less command quoting for clients that use GetCommandLine() directly. Make tryTerminate() robust in case the process does not run. Make it possible to start batch files with spaces in the filename. Make it safe to call qApp->processEvents() in a slot connected to QProcess::readyReadStdout(). - QPSPrinter Fixed codec for korean postscript fonts (ksc5601.1987-0, not the listbox. Don't auto-complete when saving a fileeucKR). - QRichText Fixed a case-sensitive compare for alignment. Fixed a free'd memory access problem with floating items on destruction. - QScrollView If a contents mouse event is accepted, don't propagate as a normal mouse event. - QSemaphore Fixed race condition in operator -=. Unix only: a bit more robust. - QSettings Unix only: Fixed requesting subkeylists for single subkeys. Don't read in QSettings stuff in non-gui mode if desktop-settings-aware is set to false. - QSlider Emit sliderMoved() after the slider was moved. - QSocket If the read retruns 0, safely assume assume that the peer closed the connection. Fixed readyRead sometimes not being emitted. - QSpinBox Fixed setValue so it will ignore input but yet not interpreted text - QSqlDatabase Fixed a crash on manual deletion of the QApplication object. - QSqlDriver Various fixes and improvements for Oracle, Postgres, MySQL - QSqlForm Fixed crash in clearValues() on empty fields. - QString Fixed setNum(n,base) with n == LONG_MIN and n != 10. Make toLong() and toULong() 64bit clean (problems on Tru64). - QStyle Make more use of Style_HasFocus. Enforce a usable size for subcontrols for small scrollbars. Improve titlebar drawing (e.g. no gradient on 95/NT). Allow drawing of list view expand controls without branches . In Windows style: increase default PM_MaximumDragDistance value. Windows only: fixed PM_ScrollBarExtent - QStyleSheet More accurate mightBeRichText() heuristic. Fixed setMargin() to only set left/right/top/bottom as documented, not the firstline margin. - QSvgDevice Fixed curve command mixup. Some bounding rect fixes. Fixed output coordinates for drawArc, drawPie and drawChord. Proper x-axis-rotation and other angle fixes for arcs, pies and chords. Respect text alignments. No background for Bezier the listbox. Don't auto-complete when saving a filecurves. - QTabBar Move focus to the current tab if the tab with focus is being removed. - QTable Fixed contentsContextMenuEvent(). Fixed adjustRow()/adjustColumn() for multi line sections. Support for QApplicaton::globalStrut(). Speed improvements for setNumRows(). Improved sizeHint() to include the left/top header. Fix for mouse release handling. Update geometry of cell widgets when changing rowHeight/colWidth. Fixed QTableItem::sizeHint() for items with wordwrap. Catch hideColumn() on tables with too few columns. Fixed an endless recursion when swapping header sections. - QTableItem Fixed multiple calls to setSpan(). - QTextCodec: Initialize locale before loading textcodec plugins. Fixed a bug in the unicode -> jisx0208 conversion table. - QTextEdit Reset cursor on undos that leave us with an empty textedit. Quote quotes when exporting rich text. Fixed possible crash when appending empty paragraphs like "

". Some drawing problems fixed. Made removeParagraph() and friends work in read-only mode. Fixed cursor blinking with setEnabled() / setDisabled(). When exporting HTML, quote the src attribute of img tags tags that contains spaces. Made setFormat() much faster in case undo/redo is disabled. Fixed double deletion crash when clearing a document with floating custom items. - QToolButton In sizeHint() don't reserve space for icons if button has only a textlabel. Made popups more robust (e.g. if the slot connected to the popup menu results in the destruction of the toolbutton) - QVariant Fixed canCast() for Bool -> String conversion. Fixed operator== for maps. - QWaitCondition Windows only: Fixed multiple waits() - QWheelEvent X11 only: Support for two-wheel mice. This relies on the X-Server option "ZAxisMapping" "4 5 6 7" On Windows, we have not found a reliable way to distringuish the two wheels. Some drivers use larger deltas, something that breaks with other drivers. - QWidget Make focusWidget() return the focus widget even if it has no focus policy. In setEnabled(FALSE) always clear the focus. Made grabWidget() more robust. Fixed isEnabledTo(). X11 only: set WM_WINDOW_ROLE instead of WINDOW_ROLE. Windows only: fixed widget-origin pixmap backgrounds. - QWidgetStack More fixes to reduce flicker. - QWorkspace Traditional activeWindow() fixes. Make maximizing a window while the workspace is invisible work. If the already 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. - QXmlSimpleReader Fixed a memory leak for incremental parsing.