dist/changes-3.0.7
author Eckhart Koeppen <eckhart.koppen@nokia.com>
Thu, 29 Apr 2010 15:15:16 +0300
branchRCL_3
changeset 17 4b6ee5efea19
parent 0 1918ee327afb
permissions -rw-r--r--
2010-17 9996a03743ab23f83c83c5bc7ade0f82f71b1506

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.