qtbase-opensource-src/dist/changes-3.0.7

376 lines
13 KiB
Groff

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
"<p>". 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.