Don't check for null if never happens, but test it if it may...
[qt-netbsd.git] / dist / changes-3.0.7
blobec084d6f18f2ade8e26899ec0be822dcab9e400a
1 Qt 3.0.7 is a bugfix release. It maintains both forward and backward
2 compatibility (source and binary) with Qt 3.0.6.
4 ****************************************************************************
5 *                              General                                     *
6 ****************************************************************************
8 Smaller documentation fixes. Some build issues fixed. Upgraded libpng
9 to 1.0.15.
11 ****************************************************************************
12 *                              Library                                     *
13 ****************************************************************************
15 - QAction
16         Avoid emitting activated() twice for actions in a
17         toolbar. Possibility to remove an iconset from an action by
18         specifying a null iconset.
20 - QApplication
21         Fixed a font sharing problem with setFont(). Fixed window
22         close with modality. Don't overwrite an explicitely set font
23         with the default font when using the static methods before
24         calling the constructor. When the programmer/user explicitly
25         sets the style (either with QApplication::setStyle or -style
26         command line option), do not reset the style on settings
27         changes.
28         Windows only: Serialize calls to OutputDebugString, as this
29         API is not reentrant. Emit aboutToQuit() when the user logs
30         off. Send a focusOut event to the focus widget when the user
31         tries to switch applications via Alt+Tab.
32         Windows95/98/Me: Fixed enter/leave handling. Among others this
33         makes tooltips work more reliable.
34         X11 only: Spit out warning then the user passes an invalid
35         Display* argument. Fixed figuring out the depth of the visual
36         in case a private colormap is supplied. Some startup
37         performance improvements with QSettings. Mark the internal
38         wakeUpGuiThread() pipe with FD_CLOEXEC. Call XFilterEvent
39         before the public X11 event filters to avoid applications
40         filtering out events that are necessary for input methods to
41         operate.
43 - QBuffer
44         Make IO_Truncate not detach the explicitely shared byte array.
46 - QButton
47         In setPixmap(), avoid relayouting if the new pixmap doesn't
48         change the size.
50 - QCanvasEllipse
51         Windows only: Workaround a Windows limitation that doesn't
52         support 2x2 ellipse rendering without a pen. Don't try to
53         double buffer invalid areas.
55 - QClipboard
56         Flush the clipboard contents when the application object is
57         destroyed.
58         X11 only: another race condition fixed. Handle paste
59         operations with empty data.
61 - QComboBox
62         Accept enter/return key press events on the line edit. Fixed
63         vertical alignment of text when a global strut is set. Clip
64         drawing of large items. Fixed problem with items not being
65         highlighted the first time the popup is shown.
67 - QCommonStyle
68         Fixed SR_CheckBoxFocusRect for empty checkboxes (now inside
69         the indicator)
71 - QComplexText
72         Added correct positioning specs for all of thai and lao. Some
73         reordering fixes.
75 - QCustomEvent
76         Removed bogus warning on illegal type ids.
78 - QDataTable
79         Don't display a single empty row if result set is empty and
80         QuerySize cannot be determined. Don't resize the table after a
81         refresh() if the size is already known.
82         In closeEvent(), accept the event only when isHidden()
84 - QDateTime
85         Fixed addYears() for days missing in certain years.
87 - QDns
88         Slightly more reliable now, fixed a memory leak.
90 - QDockArea
91         Fixed resizing of a QDockWindow is no longer affected by
92         another closed QDockWindow in the same QDockArea.
94 - QDom
95         Fixed memory consumption when QDomElement::setAttribute() is
96         called multiple times to change the value of an
97         attribute. Fixed a memory leak in QDomDocument::importNode().
99 - QDragManager
100         X11 only: Fixed a dangling pointer case when the current
101         widget was deleted. Raise cursor decoration.
102         Windows only: Made dropping of URLs work on Japanese Windows98
104 - QEffects
105         More robust through deferred deletion. Some code improvements. 
106         X11 only: disable effects on displays with <16bpp (rather then
107         falling back to the scrolling).
109 - QFileDialog
110         Fixed problems with '#' in path. Fixed creation on
111         non-existing directories. Make previewMode() check if
112         the preview widgets are visible. Enable renaming in
113         ExistingFiles mode. Fix drag'n'drop for the first click into
114         the listbox. Don't auto-complete when saving a file. Enabled
115         drag'n'drop of files for all modes.
117 - QFont
118         Windows only: Fixed boundingRect(QChar) for non true type
119         fonts. Fixed some positioning issues with Thai diacritics.
120         Win95 only: Make symbol fonts work.
121         X11 only: Fixed some issues with diacritics in non unicode
122         encoded fonts.
124 - QFontDialog
125         Fixed getFont() in case no default font is specified.
127 - QFrame
128         Fixed erasing the margin region for flicker-optimized
129         subclasses (e.g. QLineEdit). Turn on focus and mouse-over
130         style flags for frame painting.
132 - QHeader
133         Some speed improvements for the sake of QTable and
134         QListView. Fix redrawing problems when moving header sections.
136 - QIconView
137         Fixed contentsContextMenuEvent(). Only call
138         QIconViewItem::dragLeft() when the cursor has left the
139         bounding rect and only call QIconViewItem::dragEnter() when
140         the cursor has entered the bounding rect. Some performance
141         improvements.
143 - QInputContext
144         X11 only: Improved XFontSet cache (also for cases where the X
145         server does not know the locale).
147 - QKeyEvent
148         Windows only: Fixed internal ascii to keycode conversion for
149         codes > 0x80.
151 - QLineEdit
152         Fixed doubleclick selection to only use spaces as word
153         seperators. Don't validate twice in a row if fixup() did
154         nothing. Fixed support for background pixmaps. Improved undo
155         mechanism. Respect maxLength() in setText().
157 - QListBox
158         Fixed null-pointer crash in extended selection mode.
160 - QListView
161         Improved auto scrolling. Restrict drop events to items that
162         have drop enabled and accept the event. Added more
163         null-pointer checks to prevent crashes when reimplementing
164         insertItem. Try harder to draw the focus rectangle with an
165         appropriate contrast.  Do not resize a stretachable column in
166         widthChanged(). Fixed selecting when auto scrolling.
168 - QLocalFs
169         The network protocol for local file systems sets sets the
170         right permissions for the QUrlInfo objects if you do a
171         QUrlOperator::listChildren().
173 - QMainWindow
174         Fixed orientation handler calls.
176 - QMenuBar
177         Fixed resizing when it was emptied. Caused some strange
178         problems in QMainWindow widgets. Allow stealing of focus in
179         alt-mode. Activate alt-mode only with the plain Alt key, not
180         AltGr.
182 - QMimeSourceFactory
183         Windows only: If a path starts with \\ then it's an absolute
184         path pointing to a network drive
186 - QMovie
187         For animated GIFs, use a minimum delay of 10ms. This is
188         compatible with both IE and Mozilla and avoids huge loads on
189         application and X-Server.
191 -QPainter
192         Fixed pos() in combination with transformations save/restore
193         pairs. Fixed a bug in the BiDi algorithm.
194         X11 only: some problems when drawing rotated text on Solaris
195         fix (due to floating point arithmetrics). Fixed a matrix
196         related crash on Tru64.
197         Windows only: Draw end pixel in lineTo only for 0-width
198         pens. Avoid painting with invalid transformations.
200 - QPaintDeviceMetrics
201         Windows only: Fixed numColors() for 32 bit displays.
203 - QPixmap
204         Windodws only: Fixed array bounds read error in win32
205         function in convertFromImage.
207 - QPopupMenu
208         Avoid flickering when showing a just created menu
209         immediately. If there is a custom QWhatsThis installed for the
210         whole menu but no whatsThis set for the item, use the custom
211         QWhatsThis to get the help text.
212         MacOS only: improved scrollable popups
214 - QPrintDialog
215         Unix only: Continue parsing the nsswitch.conf file using
216         additional services when /etc/printers.conf is not found.
217         Windows only: Handle lack of default printers more
218         gracefully. Fix reentrancy issues when reading printer dialog
219         settings.
221 - QPrinter
222         Unix only: Fixes for 64 bit safety.
223         Windows only: fixed a possible double-freeing of memory of a
224         hdc passed to the Windows Common Dialog.
226 - QProcess
227         Windows only: Less command quoting for clients that use
228         GetCommandLine() directly. Make tryTerminate() robust in case
229         the process does not run. Make it possible to start batch
230         files with spaces in the filename. Make it safe to call
231         qApp->processEvents() in a slot connected to
232         QProcess::readyReadStdout().
234 - QPSPrinter
235         Fixed codec for korean postscript fonts (ksc5601.1987-0, not
236         the listbox. Don't auto-complete when saving a fileeucKR).
238 - QRichText
239         Fixed a case-sensitive compare for alignment. Fixed a free'd
240         memory access problem with floating items on destruction.
242 - QScrollView
243         If a contents mouse event is accepted, don't propagate as
244         a normal mouse event.
246 - QSemaphore
247         Fixed race condition in operator -=.
248         Unix only: a bit more robust.
250 - QSettings
251         Unix only: Fixed requesting subkeylists for single
252         subkeys. Don't read in QSettings stuff in non-gui mode if
253         desktop-settings-aware is set to false.
255 - QSlider
256         Emit sliderMoved() after the slider was moved.
258 - QSocket
259         If the read retruns 0, safely assume assume that the peer
260         closed the connection. Fixed readyRead sometimes not being
261         emitted.
263 - QSpinBox
264         Fixed setValue so it will ignore input but yet
265         not interpreted text
267 - QSqlDatabase
268         Fixed a crash on manual deletion of the QApplication object.
270 - QSqlDriver
271         Various fixes and improvements for Oracle, Postgres, MySQL
273 - QSqlForm
274         Fixed crash in clearValues() on empty fields.
276 - QString
277         Fixed setNum(n,base) with n == LONG_MIN and n != 10. Make
278         toLong() and toULong() 64bit clean (problems on Tru64).
280 - QStyle
281         Make more use of Style_HasFocus. Enforce a usable size for
282         subcontrols for small scrollbars. Improve titlebar drawing
283         (e.g. no gradient on 95/NT). Allow drawing of list view
284         expand controls without branches .
285         In Windows style: increase default PM_MaximumDragDistance
286         value.
287         Windows only: fixed PM_ScrollBarExtent
289 - QStyleSheet
290         More accurate mightBeRichText() heuristic. Fixed setMargin()
291         to only set left/right/top/bottom as documented, not the
292         firstline margin.
294 - QSvgDevice
295         Fixed curve command mixup. Some bounding rect fixes. Fixed
296         output coordinates for drawArc, drawPie and drawChord. Proper
297         x-axis-rotation and other angle fixes for arcs, pies and
298         chords. Respect text alignments. No background for Bezier
299         the listbox. Don't auto-complete when saving a filecurves.
301 - QTabBar
302         Move focus to the current tab if the tab with focus is being
303         removed.
305 - QTable
306         Fixed contentsContextMenuEvent(). Fixed
307         adjustRow()/adjustColumn() for multi line sections. Support
308         for QApplicaton::globalStrut(). Speed improvements for
309         setNumRows(). Improved sizeHint() to include the left/top
310         header. Fix for mouse release handling. Update geometry of
311         cell widgets when changing rowHeight/colWidth. Fixed
312         QTableItem::sizeHint() for items with wordwrap. Catch
313         hideColumn() on tables with too few columns. Fixed an endless
314         recursion when swapping header sections.
316 - QTableItem
317         Fixed multiple calls to setSpan().
319 - QTextCodec:
320         Initialize locale before loading textcodec plugins. Fixed a
321         bug in the unicode -> jisx0208 conversion table.
323 - QTextEdit     
324         Reset cursor on undos that leave us with an empty
325         textedit. Quote quotes when exporting rich text. Fixed
326         possible crash when appending empty paragraphs like
327         "<p>". Some drawing problems fixed. Made removeParagraph() and
328         friends work in read-only mode. Fixed cursor blinking with
329         setEnabled() / setDisabled(). When exporting HTML, quote the
330         src attribute of img tags tags that contains spaces. Made 
331         setFormat() much faster in case undo/redo is disabled. Fixed
332         double deletion crash when clearing a document with floating
333         custom items.
335 - QToolButton
336         In sizeHint() don't reserve space for icons if button has
337         only a textlabel. Made popups more robust (e.g. if the slot
338         connected to the popup menu results in the destruction of the
339         toolbutton)
341 - QVariant
342         Fixed canCast() for Bool -> String conversion. Fixed
343         operator== for maps.
345 - QWaitCondition
346         Windows only: Fixed multiple waits()
348 - QWheelEvent
349         X11 only: Support for two-wheel mice. This relies on the
350         X-Server option "ZAxisMapping" "4 5 6 7"
351         On Windows, we have not found a reliable way to distringuish
352         the two wheels. Some drivers use larger deltas, something that
353         breaks with other drivers.
355 - QWidget
356         Make focusWidget() return the focus widget even if it has no
357         focus policy. In setEnabled(FALSE) always clear the focus.
358         Made grabWidget() more robust. Fixed isEnabledTo().
359         X11 only: set WM_WINDOW_ROLE instead of WINDOW_ROLE.
360         Windows only: fixed widget-origin pixmap backgrounds.
362 - QWidgetStack
363         More fixes to reduce flicker.
365 - QWorkspace
366         Traditional activeWindow() fixes. Make maximizing a window while
367         the workspace is invisible work. If the already active window
368         is clicked on, transfer focus to the child. Restore focus to
369         old subcontrol when changing the active MDI window. Make sure
370         a MDI window is not resized below a child widget's minimum
371         size. Do not allow resizing windows when we have an active
372         popup window.
374 - QXmlSimpleReader
375         Fixed a memory leak for incremental parsing.