dist/changes-3.1.2
changeset 0 1918ee327afb
--- /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.
+