![](https://seccdn.libravatar.org/avatar/af22e20b6884acbc89be6d7736c43e92.jpg?s=120&d=mm&r=g)
Hello community, here is the log from the commit of package qt checked in at Tue May 16 02:21:11 CEST 2006. -------- --- qt/qt-sql-plugins.changes 2006-04-13 15:40:58.000000000 +0200 +++ qt/qt-sql-plugins.changes 2006-05-16 02:20:19.000000000 +0200 @@ -1,0 +2,386 @@ +Mon May 15 17:55:23 CEST 2006 - dmueller@suse.de + +- 4.1.2 update: +- Fix crash when signals or slots were longer than 64 characters. +- QAbstractItemView + Make sure we do not emit the activated() signal with an + invalid index. +- QFileDialog + Make getSaveFileName() use correct directory if the file does + not exist. + Fix crash when autocompleting in a directory with similar + filenames. +- FreeType + Fix compilation with older versions of FreeType. +- QHostAddress + Fix crash in constructors. +- QImage + Fix possible crash in copy() if the QRect is outside the image + bounds. +- QLineEdit + Fix mouse positioning with input methods. +- QMenu + Fix dangling pointers. +- QPixmap + Fix broken resize(). +- QSet + Fix crash when comparing two QSets. +- SQL drivers + Fix compilation with PostgreSQL for earlier versions than 7.4. + Fix TDS plugin build error on 64-bit Linux. +- QSvgRenderer + Fix memory leak in QSvgRenderer when objects were destroyed. +- QTextBrowser + Fix crash when loading large HTML file with tables. +- Text engine + Fix memory corruption in QStackTextEngine. +- QTreeWidget + Fix multi line text items. +- Q3PointArray + Fix assert in makeArc() when the spanning angle is less than + 16. +- QFontDatabase + Fix crash in loadXlfd(). +- Printing + Fix printing for X11. +- QAbstractItemView + Fix selections when mouse-tracking is turned on. + Fixed selection issues after row resizing. + Fixed focus after pressing enter. +- QAbstractItemModel + More consistent behavior in drag-and-drop code. +- QAbstractSlider + Ensure changed-signals are only emitted when the value + actually changed. +- QAbstractSocket + Fixed a crash if disconnected during waitForReadyRead(). +- QAccessibleWidget + Fix an off-by-one navigation error in the accessibility + support for menu bar and menus. +- QByteArray + Fixed leftJustified() and rightJustified() when array contains + \0's. +- QComboBox + Fixed a crash when setting and deleting the model. + Fixed a crash when using a QListWidget as the view. +- QCoreApplication + Fixes race condition during plugin loading. +- QCommonStyle + Fixed wrong size hint of PM_MenuButtonIndicator. +- QDateTime + Fixed a regression in fromString(). + Avoid potential hang when paring invalid date formats. +- QDialog + Fixed an issue where setExtension()/showExtension() didn't + work in a constrained size mode. +- QDir + cd() now fails when attempting to cd to a non-directory. +- QDirModel + Improved stability when appending network drives. + Improved stability when handling symlinks with relative paths. +- QDockWidget + Update toggleViewAction() when widget gets hidden with close + button. +- QFile + Changed behavior of rename() to fail if a file of the same + name already exists. +- QFileDialog + Make sure filter combo box gets enabled when changing from + Directory to ExistingFile mode. + Improve filename completion for files with the same name but + different extension. + Make sure the selection is updated when modifying the filename + by removing characters. + Allow typing in several file names in the file name line edit. + Improve handling of non-existent windows shares. + Improve handling of hidden directories. + Make it possible to create new folder when a folder called + "New Folder" already exists. + Improve usability by not changing the filename text when + directories are selected. + Improve usability by not autoselecting the first item when + changing directories. + Ensure that calling setDirectory() with a path shows the + directory when the path contains a file name. + Avoid unnecessary resolving of mount points, leading to + lockups on Unix. + Fixed potential crash when selecting an extension filter with + no matches in current directory. + Fixed a problem where using selectFilter() didn't update the + view. +- QFileInfo + Fixed issue where copying a QFileInfo and calling refresh() + could result in file info data being cleared. + Fixed issue where calling readLink() would resolve link + targets incorrectly. +- QGLWidget + Switching from full screen mode to normal mode no longer + results in incorrect window decorations. + Fixed overline, underline and strikethrough for text drawn + with renderText(). +- QGridLayout + Respect specified alignment over default alignment. +- QHeaderView + Respects dragDistance. + Respects TextColorRole. + Fixed painting problems caused by clicking both mouse buttons + at the same time. + Fixed painting flaws when using sort indicators. + Fixed issue where QStyleOptionHeader::End would not be set by + paintSection. + Only the left mouse button can now be used to move and resize + header sections. + Fixed incorrect header size after swapping header sections. + Fixed resize mode of header sections after section moves. + Fixed an assert when changing the selection model. +- QHash / QSet + Make the operator==() not take the internal order of elements + into account when comparing. +- QIcon + Fixed issue where creating QIcons with an invalid path could + result in a crash. +- Improved handling of focus events when using input methods. +- QInputDialog + Fixed handling of ampersands in labels. +- QImage + Fixed drawing of QBitmap's onto a QImage. +- QImageIOHandler + Made all supported image formats support the Size option. +- QItemSelectionModel + Fixed an infinite loop in isRowSelected(). +- QItemDelegate + Better handling of QStyleOptionViewItem::Bottom. + Increased the delegate horizontal margin. +- QLayout + Warn instead of crash when adding two layouts to a widget. +- QLocale + Add missing entry for "nb". +- QList + Fixed a memory leak when repeatedly removing items from the + end and inserting items in the middle. +- QListView + Fixed an assert when using QProxyModel as the model. +- QMainWindow + Handle RTL layout for dockwidgets properly. + Make dockwidgets remember their sizes after being hidden. + Improved reliability when saving and restoring state. +- QMenu + Fixed shortcut handling of already selected submenus. + Fix setting the window title on torn off menus. + Fix bug where exec() returned the wrong QAction on some cases. +- QMenuBar + Improved widget placement in setCornerWidget(). +- QMenuItem + Ensure space for both check mark and icon when using + QPlastiqueStyle. +- QMYSQLDriver + Fix crash when formatValue() is called without connection. +- QMessageBox + information() now works correctly when calling it after + returning from QApplication::exec() +- QPaintEngine + Fixed an out of memory issue when drawing very long lines. + OpenGL : Make sure the image and pixmap cache is used. + OpenGL : Faster rect outlining for the most common case. +- QPrintEngine + Better font underlining/overlining. + Support PDF font embedding, resulting in smaller PDF files and + selectable text. + Made our generated PDFs readable by Ghostscript. + Support pens that have patterns/pixmaps for PDFs. + Support landscape mode for PDFs. +- QPixmap + Fixed issue where save() in some cases would return true on + failure. +- QProgressBar + Fix incorrect progress in some cases. +- QPushButton + Buttons reparented into a dialog parent through the layout are + now auto-default. +- QRadioButton + Fixed a potential crash in QRadioButton Qt 3 support + constructors. +- QSortFilterProxyModel + Improve stability when adding rows to source model. + Fixed issue where some nodes would show up as expandable even + if all it's children had been filtered. + Fixed a crash when deleting rows. +- QSizeGrip + Fixed size grip painting when maximizing a QMainWindow in a + QWorkspace. +- QSvgRenderer + Better handling of invalid files. +- QSvg + Improve stroking with pen width 0. + Fix rectangle filling bug. +- QSyntaxHighlighter + Fixed missing handling of blocks of text under certain + conditions. + Improved interaction with input methods. +- QScrollArea + Fixed an issue where the scroll area sometimes would not + resize to compensate for content change. +- QString + Fixed regression in fromLocal8Bit(). +- QTextDocument + Support span style background-color. + Fix nested tables in html documents regression. +- QTextLayout + Added support for soft-hyphens. +- QToolButton + Make popup menus appear on the correct screen. + Fixed ToolButtonPopupMode when QToolButton has a + QAction. +- QToolBar + Combo boxes now appears as submenus in a toolbar extension. + setIconSize() now works correctly. + Relative position within toolbars are now kept when saving and + restoring state. +- QTextBrowser + Fix missing line break after paragraph. +- QTextEdit + Improve handling of the TITLE tag. + Fixed navigating links via tab. + Improved handling of malformed html. + Fixed rendering for tables with thead/tbody/tfoot elements. + Improved copy and paste of content with whitespace + Make undo/redo update the cursor position. + Fixed lost cursorPositionChanged() signal in read-only mode. + Fixed memory leak when calling setHtml() repeatedly. + Significantly improved performance when appending and editing + text. + Improved performance when selecting all text. + Emit copyAvailable() on mouse selection. +- QTableView + Fixed drawing of selections after moving columns. + Do not wrap to the top if Page Down is pressed. + Improve scrolling behavior. + QTableView now takes ownership of QHeaders set using + setHorizontalHeader() + Fixed issue where calling setModel(0) could result in a + crash. +- QTreeView + Fixed scrolling-related item expand bug. + Improve scrolling behavior. + QTreeView now takes ownership of QHeaders set using + setHorizontalHeader() + Avoid crash when calling setRowHidden with no model. + Avoid crash when calling sizeHintForColumn() in some cases. + Improved performance when adding rows. + Fixed update of view when changing row heights. + Fixed a bug where calling setCurrentIndex() did not update the + view correctly. + Removed extra emit of the expanded() signal on already + expanded branches. +- QTreeWidget + Fixed tristate check item behavior. +- QTabWidget + Fixed bug that caused missing resize when dynamically adding + widgets. + Fixed text positioning in a tab with an icon. +- QTemporaryFile + Fixed issue where calling open() could potentially change the + file name. +- QTextDocument + Improved stability when importing incorrectly formed html + tables. + Improved stability when importing closing tags without + corresponding opening tags. +- QTextStream + Ensure valid codec converter state after calling seek(0). + Fixed issue where readAll() would not work with sequential + devices. +- QTabBar + Improve handling of tab removal. +- QUrl + Improve handling of hostnames containing digits. + Fix crash when calling hasQueryItem() on QUrl without any + query items. + Added support for parsing file names with '[' and ']' + characters. +- QVariant + Improve operator==() behavior when comparing different types. + The QVariant(const char *) constructor is now unavailable when + QT_NO_CAST_TO_ASCII is set. Otherwise, it uses + QString::fromAscii to convert the const char * to a Unicode + QString to prevent loss of information. +- QWidget + Fix regression in setMask(). + Fixed issue where incorrect minimum size was reported after + reparenting from a top level widget. + Fixed return value of normalGeometry() after the widget has + been maximized. + Fixed crash on application exit if the widget was created + before the widget mapper is initialized. +- QXpmHandler + Fixed handling of non-transparent XPM images. +- XMLInputReader + Fixed issue where entities in XML files were not + resolved. +- QXmlSimpleReader + A significant (approx. 50x) speedup in QXmlSimpleReader when + parsing documents which contain internal or external entities. +- Q3DataTable + Drivers not supporting the QuerySize feature would display one + row of data too little. +- Q3IconView + Fixed selection appearance. +- Q3TextEdit + Fixed focus indicator tabbing through tables. + Fixed coloring when inserting text after use of setColor(). +- Q3TabDialog + Added missing selected() signal +- Q3ListView + Fixed occasional crashes when deleting items. + Fixed wrong label after addLabel(QString()). +- Q3ScrollView + Fixed default focus policy for deriving classes. +- Q3ToolBar + Q3Action::setOn() now works correctly. + Adding an action now sets all action properties correctly. +- Q3ActionGroup + Fix drop down drawing error. +- Q3MainWindow + Fixed a regression in setUsesIconText(). + Reintroduced qt_x11_set_global_double_buffer() for binary + compatibility. + Improved tablet event handling. +- QApplication + The KeypadModifier is now set when NumLock is enabled. +- QBitmap + Fixed text drawing errors under some fontconfig + settings. +- QLibrary + isLibrary() now returns true for .a and .so on AIX. +- qmake + Improved stability when modifying environment variables + Allow '/' as a path separator on all platforms. +- QPaintEngine + Fixed issue where filling and stroking ellipses could leave + pixel gaps. +- QPainter + Implemented Porter-Duff composition support. + Fix artifacts when drawing aliased primitives with an alpha + pen. + Fixed issue where rotating pixmaps could add a pixel row in + some cases. + Fixed drawing of arcs of less than 1 degree. + Made drawText() honor the Qt::TextWrapAnywhere flag. +- QPrinter + Fixed cleanup of child processes. +- QPrintDialog + Fixed problems when using "From page" and "To page" spin + boxes. + Made it impossible to choose "OK" when no printers are + configured. +- QProcess + Fixed possible deadlock when calling startDetatched(). +- QScrollArea + Catch double click also when size exceeds window system size + limits. +- QTextEdit + Fixed an issue where the horizontal scrollbar did not show up. +- QWorkspace + Fixed missing mouse event propagation to child widgets. + +------------------------------------------------------------------- @@ -4 +390 @@ -- fix wrong assembler mnemonic in QAtomic for s390x +- fix wrong assembler mnemonic in QAtomic for s390x qt.changes: same change Old: ---- 0108-fix-im.diff fix-debug-and-release.patch fix-im-libs.diff fix-qt-edition.patch fix_zero_fontsize.diff qt-debug.changes qt-debug.spec qt-debug.spec.in qt-x11-opensource-src-4.1.0.tar.bz2 qt4-about.patch s390x-fix.diff syntaxhighlighter-rehighlight.diff New: ---- 0112-ksyntaxhighlighter-rehighlight-document.diff 0113-qaction_patch.diff 0115-qaction-altshortcuts.diff 0119-qaction-widgetfactory.diff 0128-no-qhash-warnings.diff 0130-coverity-checks.diff qt-snapshot.diff qt-x11-opensource-src-4.1.2.tar.bz2 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ qt-sql-plugins.spec ++++++ --- /var/tmp/diff_new_pack.vwj3Kn/_old 2006-05-16 02:20:26.000000000 +0200 +++ /var/tmp/diff_new_pack.vwj3Kn/_new 2006-05-16 02:20:26.000000000 +0200 @@ -1,5 +1,5 @@ # -# spec file for package qt-sql-plugins (Version 4.1.0) +# spec file for package qt-sql-plugins (Version 4.1.2) # # Copyright (c) 2006 SUSE LINUX Products GmbH, Nuernberg, Germany. # This file and all modifications and additions to the pristine @@ -19,30 +19,29 @@ Summary: Qt 4 SQL related libraries # COMMON-BEGIN # COMMON-BEGIN -Version: 4.1.0 -Release: 14 +Version: 4.1.2 +Release: 2 %define x11_free -x11-opensource-src- -%define rversion 4.1.0 +%define rversion 4.1.2 Source: qt%x11_free%rversion.tar.bz2 Source10: qt4config.desktop Source11: designer4.desktop Source12: linguist4.desktop Source13: assistant4.desktop +Patch0: qt-snapshot.diff Patch1: external-sqlite.diff -Patch2: qt4-about.patch +Patch2: fix-arthurplugin.patch Patch3: aliasing.diff Patch4: warnings.patch Patch5: lib64.patch -Patch6: fix_zero_fontsize.diff -Patch7: fix-qt-edition.patch -Patch8: syntaxhighlighter-rehighlight.diff -Patch9: fix-arthurplugin.patch -Patch10: fix-debug-and-release.patch -Patch11: 0108-fix-im.diff -Patch12: fix-im-libs.diff +Patch6: 0113-qaction_patch.diff +Patch8: 0112-ksyntaxhighlighter-rehighlight-document.diff +Patch9: 0130-coverity-checks.diff +Patch10: 0115-qaction-altshortcuts.diff +Patch11: 0119-qaction-widgetfactory.diff +Patch12: 0128-no-qhash-warnings.diff Patch13: fix-plugin-loading.diff Patch14: preproorder.patch -Patch15: s390x-fix.diff BuildRoot: %{_tmppath}/%{name}-%{version}-build %define common_options -shared -xkb -tablet -xrender -xrandr -xinerama -xshape -sm -no-nas-sound -no-rpath -system-libjpeg -system-libpng -accessibility -cups -stl -nis -system-zlib -qt-gif -prefix /usr -L %_libdir -libdir %_libdir -docdir %_docdir/qt/ -examplesdir %_docdir/qt/examples -demosdir %_docdir/qt/demos -plugindir %plugindir -translationdir /usr/share/qt/translations -sysconfdir /etc/settings -datadir /usr/share/qt/ @@ -59,20 +58,19 @@ %prep %define plugindir %_libdir/qt/plugins %setup -q -n qt%x11_free%rversion +#%patch -p1 %patch2 %patch3 %patch4 %patch5 %patch6 -%patch7 %patch8 %patch9 -%patch11 +%patch10 +#%patch11 %patch12 %patch13 %patch14 -%patch10 -%patch15 # be sure not to use them rm -rf src/3rdparty/{libjpeg,freetype,libpng,zlib} # COMMON-END @@ -215,6 +213,389 @@ %plugindir/sqldrivers/libqsqlmysql*.so %changelog -n qt-sql-plugins +* Mon May 15 2006 - dmueller@suse.de +- 4.1.2 update: +- Fix crash when signals or slots were longer than 64 characters. +- QAbstractItemView + Make sure we do not emit the activated() signal with an + invalid index. +- QFileDialog + Make getSaveFileName() use correct directory if the file does + not exist. + Fix crash when autocompleting in a directory with similar + filenames. +- FreeType + Fix compilation with older versions of FreeType. +- QHostAddress + Fix crash in constructors. +- QImage + Fix possible crash in copy() if the QRect is outside the image + bounds. +- QLineEdit + Fix mouse positioning with input methods. +- QMenu + Fix dangling pointers. +- QPixmap + Fix broken resize(). +- QSet + Fix crash when comparing two QSets. +- SQL drivers + Fix compilation with PostgreSQL for earlier versions than 7.4. + Fix TDS plugin build error on 64-bit Linux. +- QSvgRenderer + Fix memory leak in QSvgRenderer when objects were destroyed. +- QTextBrowser + Fix crash when loading large HTML file with tables. +- Text engine + Fix memory corruption in QStackTextEngine. +- QTreeWidget + Fix multi line text items. +- Q3PointArray + Fix assert in makeArc() when the spanning angle is less than + 16. +- QFontDatabase + Fix crash in loadXlfd(). +- Printing + Fix printing for X11. +- QAbstractItemView + Fix selections when mouse-tracking is turned on. + Fixed selection issues after row resizing. + Fixed focus after pressing enter. +- QAbstractItemModel + More consistent behavior in drag-and-drop code. +- QAbstractSlider + Ensure changed-signals are only emitted when the value + actually changed. +- QAbstractSocket + Fixed a crash if disconnected during waitForReadyRead(). +- QAccessibleWidget + Fix an off-by-one navigation error in the accessibility + support for menu bar and menus. +- QByteArray + Fixed leftJustified() and rightJustified() when array contains + \0's. +- QComboBox + Fixed a crash when setting and deleting the model. + Fixed a crash when using a QListWidget as the view. +- QCoreApplication + Fixes race condition during plugin loading. +- QCommonStyle + Fixed wrong size hint of PM_MenuButtonIndicator. +- QDateTime + Fixed a regression in fromString(). + Avoid potential hang when paring invalid date formats. +- QDialog + Fixed an issue where setExtension()/showExtension() didn't + work in a constrained size mode. +- QDir + cd() now fails when attempting to cd to a non-directory. +- QDirModel + Improved stability when appending network drives. + Improved stability when handling symlinks with relative paths. +- QDockWidget + Update toggleViewAction() when widget gets hidden with close + button. +- QFile + Changed behavior of rename() to fail if a file of the same + name already exists. +- QFileDialog + Make sure filter combo box gets enabled when changing from + Directory to ExistingFile mode. + Improve filename completion for files with the same name but + different extension. + Make sure the selection is updated when modifying the filename + by removing characters. + Allow typing in several file names in the file name line edit. + Improve handling of non-existent windows shares. + Improve handling of hidden directories. + Make it possible to create new folder when a folder called + "New Folder" already exists. + Improve usability by not changing the filename text when + directories are selected. + Improve usability by not autoselecting the first item when + changing directories. + Ensure that calling setDirectory() with a path shows the + directory when the path contains a file name. + Avoid unnecessary resolving of mount points, leading to + lockups on Unix. + Fixed potential crash when selecting an extension filter with + no matches in current directory. + Fixed a problem where using selectFilter() didn't update the + view. +- QFileInfo + Fixed issue where copying a QFileInfo and calling refresh() + could result in file info data being cleared. + Fixed issue where calling readLink() would resolve link + targets incorrectly. +- QGLWidget + Switching from full screen mode to normal mode no longer + results in incorrect window decorations. + Fixed overline, underline and strikethrough for text drawn + with renderText(). +- QGridLayout + Respect specified alignment over default alignment. +- QHeaderView + Respects dragDistance. + Respects TextColorRole. + Fixed painting problems caused by clicking both mouse buttons + at the same time. + Fixed painting flaws when using sort indicators. + Fixed issue where QStyleOptionHeader::End would not be set by + paintSection. + Only the left mouse button can now be used to move and resize + header sections. + Fixed incorrect header size after swapping header sections. + Fixed resize mode of header sections after section moves. + Fixed an assert when changing the selection model. +- QHash / QSet + Make the operator==() not take the internal order of elements + into account when comparing. +- QIcon + Fixed issue where creating QIcons with an invalid path could + result in a crash. +- Improved handling of focus events when using input methods. +- QInputDialog + Fixed handling of ampersands in labels. +- QImage + Fixed drawing of QBitmap's onto a QImage. +- QImageIOHandler + Made all supported image formats support the Size option. +- QItemSelectionModel + Fixed an infinite loop in isRowSelected(). +- QItemDelegate + Better handling of QStyleOptionViewItem::Bottom. + Increased the delegate horizontal margin. +- QLayout + Warn instead of crash when adding two layouts to a widget. +- QLocale + Add missing entry for "nb". +- QList + Fixed a memory leak when repeatedly removing items from the + end and inserting items in the middle. +- QListView + Fixed an assert when using QProxyModel as the model. +- QMainWindow + Handle RTL layout for dockwidgets properly. + Make dockwidgets remember their sizes after being hidden. + Improved reliability when saving and restoring state. +- QMenu + Fixed shortcut handling of already selected submenus. + Fix setting the window title on torn off menus. + Fix bug where exec() returned the wrong QAction on some cases. +- QMenuBar + Improved widget placement in setCornerWidget(). +- QMenuItem + Ensure space for both check mark and icon when using + QPlastiqueStyle. +- QMYSQLDriver + Fix crash when formatValue() is called without connection. +- QMessageBox + information() now works correctly when calling it after + returning from QApplication::exec() +- QPaintEngine + Fixed an out of memory issue when drawing very long lines. + OpenGL : Make sure the image and pixmap cache is used. + OpenGL : Faster rect outlining for the most common case. +- QPrintEngine + Better font underlining/overlining. + Support PDF font embedding, resulting in smaller PDF files and + selectable text. + Made our generated PDFs readable by Ghostscript. + Support pens that have patterns/pixmaps for PDFs. + Support landscape mode for PDFs. +- QPixmap + Fixed issue where save() in some cases would return true on + failure. +- QProgressBar + Fix incorrect progress in some cases. +- QPushButton + Buttons reparented into a dialog parent through the layout are + now auto-default. +- QRadioButton + Fixed a potential crash in QRadioButton Qt 3 support + constructors. +- QSortFilterProxyModel + Improve stability when adding rows to source model. + Fixed issue where some nodes would show up as expandable even + if all it's children had been filtered. + Fixed a crash when deleting rows. +- QSizeGrip + Fixed size grip painting when maximizing a QMainWindow in a + QWorkspace. +- QSvgRenderer + Better handling of invalid files. +- QSvg + Improve stroking with pen width 0. + Fix rectangle filling bug. +- QSyntaxHighlighter + Fixed missing handling of blocks of text under certain + conditions. + Improved interaction with input methods. +- QScrollArea + Fixed an issue where the scroll area sometimes would not + resize to compensate for content change. +- QString + Fixed regression in fromLocal8Bit(). +- QTextDocument + Support span style background-color. + Fix nested tables in html documents regression. +- QTextLayout + Added support for soft-hyphens. +- QToolButton + Make popup menus appear on the correct screen. + Fixed ToolButtonPopupMode when QToolButton has a + QAction. +- QToolBar + Combo boxes now appears as submenus in a toolbar extension. + setIconSize() now works correctly. + Relative position within toolbars are now kept when saving and + restoring state. +- QTextBrowser + Fix missing line break after paragraph. +- QTextEdit + Improve handling of the TITLE tag. + Fixed navigating links via tab. + Improved handling of malformed html. + Fixed rendering for tables with thead/tbody/tfoot elements. + Improved copy and paste of content with whitespace + Make undo/redo update the cursor position. + Fixed lost cursorPositionChanged() signal in read-only mode. + Fixed memory leak when calling setHtml() repeatedly. + Significantly improved performance when appending and editing + text. + Improved performance when selecting all text. + Emit copyAvailable() on mouse selection. +- QTableView + Fixed drawing of selections after moving columns. + Do not wrap to the top if Page Down is pressed. + Improve scrolling behavior. + QTableView now takes ownership of QHeaders set using + setHorizontalHeader() + Fixed issue where calling setModel(0) could result in a + crash. +- QTreeView + Fixed scrolling-related item expand bug. + Improve scrolling behavior. + QTreeView now takes ownership of QHeaders set using + setHorizontalHeader() + Avoid crash when calling setRowHidden with no model. + Avoid crash when calling sizeHintForColumn() in some cases. + Improved performance when adding rows. + Fixed update of view when changing row heights. + Fixed a bug where calling setCurrentIndex() did not update the + view correctly. + Removed extra emit of the expanded() signal on already + expanded branches. +- QTreeWidget + Fixed tristate check item behavior. +- QTabWidget + Fixed bug that caused missing resize when dynamically adding + widgets. + Fixed text positioning in a tab with an icon. +- QTemporaryFile + Fixed issue where calling open() could potentially change the + file name. +- QTextDocument + Improved stability when importing incorrectly formed html + tables. + Improved stability when importing closing tags without + corresponding opening tags. +- QTextStream + Ensure valid codec converter state after calling seek(0). + Fixed issue where readAll() would not work with sequential + devices. +- QTabBar + Improve handling of tab removal. +- QUrl + Improve handling of hostnames containing digits. + Fix crash when calling hasQueryItem() on QUrl without any + query items. + Added support for parsing file names with '[' and ']' + characters. +- QVariant + Improve operator==() behavior when comparing different types. + The QVariant(const char *) constructor is now unavailable when + QT_NO_CAST_TO_ASCII is set. Otherwise, it uses + QString::fromAscii to convert the const char * to a Unicode + QString to prevent loss of information. +- QWidget + Fix regression in setMask(). + Fixed issue where incorrect minimum size was reported after + reparenting from a top level widget. + Fixed return value of normalGeometry() after the widget has + been maximized. + Fixed crash on application exit if the widget was created + before the widget mapper is initialized. +- QXpmHandler + Fixed handling of non-transparent XPM images. +- XMLInputReader + Fixed issue where entities in XML files were not + resolved. +- QXmlSimpleReader + A significant (approx. 50x) speedup in QXmlSimpleReader when + parsing documents which contain internal or external entities. +- Q3DataTable + Drivers not supporting the QuerySize feature would display one + row of data too little. +- Q3IconView + Fixed selection appearance. +- Q3TextEdit + Fixed focus indicator tabbing through tables. + Fixed coloring when inserting text after use of setColor(). +- Q3TabDialog + Added missing selected() signal +- Q3ListView + Fixed occasional crashes when deleting items. + Fixed wrong label after addLabel(QString()). +- Q3ScrollView + Fixed default focus policy for deriving classes. +- Q3ToolBar + Q3Action::setOn() now works correctly. + Adding an action now sets all action properties correctly. +- Q3ActionGroup + Fix drop down drawing error. +- Q3MainWindow + Fixed a regression in setUsesIconText(). + Reintroduced qt_x11_set_global_double_buffer() for binary + compatibility. + Improved tablet event handling. +- QApplication + The KeypadModifier is now set when NumLock is enabled. +- QBitmap + Fixed text drawing errors under some fontconfig + settings. +- QLibrary + isLibrary() now returns true for .a and .so on AIX. +- qmake + Improved stability when modifying environment variables + Allow '/' as a path separator on all platforms. +- QPaintEngine + Fixed issue where filling and stroking ellipses could leave + pixel gaps. +- QPainter + Implemented Porter-Duff composition support. + Fix artifacts when drawing aliased primitives with an alpha + pen. + Fixed issue where rotating pixmaps could add a pixel row in + some cases. + Fixed drawing of arcs of less than 1 degree. + Made drawText() honor the Qt::TextWrapAnywhere flag. +- QPrinter + Fixed cleanup of child processes. +- QPrintDialog + Fixed problems when using "From page" and "To page" spin + boxes. + Made it impossible to choose "OK" when no printers are + configured. +- QProcess + Fixed possible deadlock when calling startDetatched(). +- QScrollArea + Catch double click also when size exceeds window system size + limits. +- QTextEdit + Fixed an issue where the horizontal scrollbar did not show up. +- QWorkspace + Fixed missing mouse event propagation to child widgets. * Mon Apr 10 2006 - dmueller@suse.de - fix wrong assembler mnemonic in QAtomic for s390x * Wed Mar 22 2006 - dmueller@suse.de ++++++ qt.spec ++++++ --- /var/tmp/diff_new_pack.vwj3Kn/_old 2006-05-16 02:20:26.000000000 +0200 +++ /var/tmp/diff_new_pack.vwj3Kn/_new 2006-05-16 02:20:26.000000000 +0200 @@ -1,5 +1,5 @@ # -# spec file for package qt (Version 4.1.0) +# spec file for package qt (Version 4.1.2) # # Copyright (c) 2006 SUSE LINUX Products GmbH, Nuernberg, Germany. # This file and all modifications and additions to the pristine @@ -18,30 +18,29 @@ Autoreqprov: on Summary: C++ Program Library, Core Components # COMMON-BEGIN -Version: 4.1.0 -Release: 24 +Version: 4.1.2 +Release: 2 %define x11_free -x11-opensource-src- -%define rversion 4.1.0 +%define rversion 4.1.2 Source: qt%x11_free%rversion.tar.bz2 Source10: qt4config.desktop Source11: designer4.desktop Source12: linguist4.desktop Source13: assistant4.desktop +Patch0: qt-snapshot.diff Patch1: external-sqlite.diff -Patch2: qt4-about.patch +Patch2: fix-arthurplugin.patch Patch3: aliasing.diff Patch4: warnings.patch Patch5: lib64.patch -Patch6: fix_zero_fontsize.diff -Patch7: fix-qt-edition.patch -Patch8: syntaxhighlighter-rehighlight.diff -Patch9: fix-arthurplugin.patch -Patch10: fix-debug-and-release.patch -Patch11: 0108-fix-im.diff -Patch12: fix-im-libs.diff +Patch6: 0113-qaction_patch.diff +Patch8: 0112-ksyntaxhighlighter-rehighlight-document.diff +Patch9: 0130-coverity-checks.diff +Patch10: 0115-qaction-altshortcuts.diff +Patch11: 0119-qaction-widgetfactory.diff +Patch12: 0128-no-qhash-warnings.diff Patch13: fix-plugin-loading.diff Patch14: preproorder.patch -Patch15: s390x-fix.diff BuildRoot: %{_tmppath}/%{name}-%{version}-build %define common_options -shared -xkb -tablet -xrender -xrandr -xinerama -xshape -sm -no-nas-sound -no-rpath -system-libjpeg -system-libpng -accessibility -cups -stl -nis -system-zlib -qt-gif -prefix /usr -L %_libdir -libdir %_libdir -docdir %_docdir/qt/ -examplesdir %_docdir/qt/examples -demosdir %_docdir/qt/demos -plugindir %plugindir -translationdir /usr/share/qt/translations -sysconfdir /etc/settings -datadir /usr/share/qt/ @@ -60,20 +59,19 @@ %prep %define plugindir %_libdir/qt/plugins %setup -q -n qt%x11_free%rversion +#%patch -p1 %patch2 %patch3 %patch4 %patch5 %patch6 -%patch7 %patch8 %patch9 -%patch11 +%patch10 +#%patch11 %patch12 %patch13 %patch14 -%patch10 -%patch15 # be sure not to use them rm -rf src/3rdparty/{libjpeg,freetype,libpng,zlib} # COMMON-END @@ -305,6 +303,389 @@ %_libdir/libQtSql*.so.* %changelog -n qt +* Mon May 15 2006 - dmueller@suse.de +- 4.1.2 update: +- Fix crash when signals or slots were longer than 64 characters. +- QAbstractItemView + Make sure we do not emit the activated() signal with an + invalid index. +- QFileDialog + Make getSaveFileName() use correct directory if the file does + not exist. + Fix crash when autocompleting in a directory with similar + filenames. +- FreeType + Fix compilation with older versions of FreeType. +- QHostAddress + Fix crash in constructors. +- QImage + Fix possible crash in copy() if the QRect is outside the image + bounds. +- QLineEdit + Fix mouse positioning with input methods. +- QMenu + Fix dangling pointers. +- QPixmap + Fix broken resize(). +- QSet + Fix crash when comparing two QSets. +- SQL drivers + Fix compilation with PostgreSQL for earlier versions than 7.4. + Fix TDS plugin build error on 64-bit Linux. +- QSvgRenderer + Fix memory leak in QSvgRenderer when objects were destroyed. +- QTextBrowser + Fix crash when loading large HTML file with tables. +- Text engine + Fix memory corruption in QStackTextEngine. +- QTreeWidget + Fix multi line text items. +- Q3PointArray + Fix assert in makeArc() when the spanning angle is less than + 16. +- QFontDatabase + Fix crash in loadXlfd(). +- Printing + Fix printing for X11. +- QAbstractItemView + Fix selections when mouse-tracking is turned on. + Fixed selection issues after row resizing. + Fixed focus after pressing enter. +- QAbstractItemModel + More consistent behavior in drag-and-drop code. +- QAbstractSlider + Ensure changed-signals are only emitted when the value + actually changed. +- QAbstractSocket + Fixed a crash if disconnected during waitForReadyRead(). +- QAccessibleWidget + Fix an off-by-one navigation error in the accessibility + support for menu bar and menus. +- QByteArray + Fixed leftJustified() and rightJustified() when array contains + \0's. +- QComboBox + Fixed a crash when setting and deleting the model. + Fixed a crash when using a QListWidget as the view. +- QCoreApplication + Fixes race condition during plugin loading. +- QCommonStyle + Fixed wrong size hint of PM_MenuButtonIndicator. +- QDateTime + Fixed a regression in fromString(). + Avoid potential hang when paring invalid date formats. +- QDialog + Fixed an issue where setExtension()/showExtension() didn't + work in a constrained size mode. +- QDir + cd() now fails when attempting to cd to a non-directory. +- QDirModel + Improved stability when appending network drives. + Improved stability when handling symlinks with relative paths. +- QDockWidget + Update toggleViewAction() when widget gets hidden with close + button. +- QFile + Changed behavior of rename() to fail if a file of the same + name already exists. +- QFileDialog + Make sure filter combo box gets enabled when changing from + Directory to ExistingFile mode. + Improve filename completion for files with the same name but + different extension. + Make sure the selection is updated when modifying the filename + by removing characters. + Allow typing in several file names in the file name line edit. + Improve handling of non-existent windows shares. + Improve handling of hidden directories. + Make it possible to create new folder when a folder called + "New Folder" already exists. + Improve usability by not changing the filename text when + directories are selected. + Improve usability by not autoselecting the first item when + changing directories. + Ensure that calling setDirectory() with a path shows the + directory when the path contains a file name. + Avoid unnecessary resolving of mount points, leading to + lockups on Unix. + Fixed potential crash when selecting an extension filter with + no matches in current directory. + Fixed a problem where using selectFilter() didn't update the + view. +- QFileInfo + Fixed issue where copying a QFileInfo and calling refresh() + could result in file info data being cleared. + Fixed issue where calling readLink() would resolve link + targets incorrectly. +- QGLWidget + Switching from full screen mode to normal mode no longer + results in incorrect window decorations. + Fixed overline, underline and strikethrough for text drawn + with renderText(). +- QGridLayout + Respect specified alignment over default alignment. +- QHeaderView + Respects dragDistance. + Respects TextColorRole. + Fixed painting problems caused by clicking both mouse buttons + at the same time. + Fixed painting flaws when using sort indicators. + Fixed issue where QStyleOptionHeader::End would not be set by + paintSection. + Only the left mouse button can now be used to move and resize + header sections. + Fixed incorrect header size after swapping header sections. + Fixed resize mode of header sections after section moves. + Fixed an assert when changing the selection model. +- QHash / QSet + Make the operator==() not take the internal order of elements + into account when comparing. +- QIcon + Fixed issue where creating QIcons with an invalid path could + result in a crash. +- Improved handling of focus events when using input methods. +- QInputDialog + Fixed handling of ampersands in labels. +- QImage + Fixed drawing of QBitmap's onto a QImage. +- QImageIOHandler + Made all supported image formats support the Size option. +- QItemSelectionModel + Fixed an infinite loop in isRowSelected(). +- QItemDelegate + Better handling of QStyleOptionViewItem::Bottom. + Increased the delegate horizontal margin. +- QLayout + Warn instead of crash when adding two layouts to a widget. +- QLocale + Add missing entry for "nb". +- QList + Fixed a memory leak when repeatedly removing items from the + end and inserting items in the middle. +- QListView + Fixed an assert when using QProxyModel as the model. +- QMainWindow + Handle RTL layout for dockwidgets properly. + Make dockwidgets remember their sizes after being hidden. + Improved reliability when saving and restoring state. +- QMenu + Fixed shortcut handling of already selected submenus. + Fix setting the window title on torn off menus. + Fix bug where exec() returned the wrong QAction on some cases. +- QMenuBar + Improved widget placement in setCornerWidget(). +- QMenuItem + Ensure space for both check mark and icon when using + QPlastiqueStyle. +- QMYSQLDriver + Fix crash when formatValue() is called without connection. +- QMessageBox + information() now works correctly when calling it after + returning from QApplication::exec() +- QPaintEngine + Fixed an out of memory issue when drawing very long lines. + OpenGL : Make sure the image and pixmap cache is used. + OpenGL : Faster rect outlining for the most common case. +- QPrintEngine + Better font underlining/overlining. + Support PDF font embedding, resulting in smaller PDF files and + selectable text. + Made our generated PDFs readable by Ghostscript. + Support pens that have patterns/pixmaps for PDFs. + Support landscape mode for PDFs. +- QPixmap + Fixed issue where save() in some cases would return true on + failure. +- QProgressBar + Fix incorrect progress in some cases. +- QPushButton + Buttons reparented into a dialog parent through the layout are + now auto-default. +- QRadioButton + Fixed a potential crash in QRadioButton Qt 3 support + constructors. +- QSortFilterProxyModel + Improve stability when adding rows to source model. + Fixed issue where some nodes would show up as expandable even + if all it's children had been filtered. + Fixed a crash when deleting rows. +- QSizeGrip + Fixed size grip painting when maximizing a QMainWindow in a + QWorkspace. +- QSvgRenderer + Better handling of invalid files. +- QSvg + Improve stroking with pen width 0. + Fix rectangle filling bug. +- QSyntaxHighlighter + Fixed missing handling of blocks of text under certain + conditions. + Improved interaction with input methods. +- QScrollArea + Fixed an issue where the scroll area sometimes would not + resize to compensate for content change. +- QString + Fixed regression in fromLocal8Bit(). +- QTextDocument + Support span style background-color. + Fix nested tables in html documents regression. +- QTextLayout + Added support for soft-hyphens. +- QToolButton + Make popup menus appear on the correct screen. + Fixed ToolButtonPopupMode when QToolButton has a + QAction. +- QToolBar + Combo boxes now appears as submenus in a toolbar extension. + setIconSize() now works correctly. + Relative position within toolbars are now kept when saving and + restoring state. +- QTextBrowser + Fix missing line break after paragraph. +- QTextEdit + Improve handling of the TITLE tag. + Fixed navigating links via tab. + Improved handling of malformed html. + Fixed rendering for tables with thead/tbody/tfoot elements. + Improved copy and paste of content with whitespace + Make undo/redo update the cursor position. + Fixed lost cursorPositionChanged() signal in read-only mode. + Fixed memory leak when calling setHtml() repeatedly. + Significantly improved performance when appending and editing + text. + Improved performance when selecting all text. + Emit copyAvailable() on mouse selection. +- QTableView + Fixed drawing of selections after moving columns. + Do not wrap to the top if Page Down is pressed. + Improve scrolling behavior. + QTableView now takes ownership of QHeaders set using + setHorizontalHeader() + Fixed issue where calling setModel(0) could result in a + crash. +- QTreeView + Fixed scrolling-related item expand bug. + Improve scrolling behavior. + QTreeView now takes ownership of QHeaders set using + setHorizontalHeader() + Avoid crash when calling setRowHidden with no model. + Avoid crash when calling sizeHintForColumn() in some cases. + Improved performance when adding rows. + Fixed update of view when changing row heights. + Fixed a bug where calling setCurrentIndex() did not update the + view correctly. + Removed extra emit of the expanded() signal on already + expanded branches. +- QTreeWidget + Fixed tristate check item behavior. +- QTabWidget + Fixed bug that caused missing resize when dynamically adding + widgets. + Fixed text positioning in a tab with an icon. +- QTemporaryFile + Fixed issue where calling open() could potentially change the + file name. +- QTextDocument + Improved stability when importing incorrectly formed html + tables. + Improved stability when importing closing tags without + corresponding opening tags. +- QTextStream + Ensure valid codec converter state after calling seek(0). + Fixed issue where readAll() would not work with sequential + devices. +- QTabBar + Improve handling of tab removal. +- QUrl + Improve handling of hostnames containing digits. + Fix crash when calling hasQueryItem() on QUrl without any + query items. + Added support for parsing file names with '[' and ']' + characters. +- QVariant + Improve operator==() behavior when comparing different types. + The QVariant(const char *) constructor is now unavailable when + QT_NO_CAST_TO_ASCII is set. Otherwise, it uses + QString::fromAscii to convert the const char * to a Unicode + QString to prevent loss of information. +- QWidget + Fix regression in setMask(). + Fixed issue where incorrect minimum size was reported after + reparenting from a top level widget. + Fixed return value of normalGeometry() after the widget has + been maximized. + Fixed crash on application exit if the widget was created + before the widget mapper is initialized. +- QXpmHandler + Fixed handling of non-transparent XPM images. +- XMLInputReader + Fixed issue where entities in XML files were not + resolved. +- QXmlSimpleReader + A significant (approx. 50x) speedup in QXmlSimpleReader when + parsing documents which contain internal or external entities. +- Q3DataTable + Drivers not supporting the QuerySize feature would display one + row of data too little. +- Q3IconView + Fixed selection appearance. +- Q3TextEdit + Fixed focus indicator tabbing through tables. + Fixed coloring when inserting text after use of setColor(). +- Q3TabDialog + Added missing selected() signal +- Q3ListView + Fixed occasional crashes when deleting items. + Fixed wrong label after addLabel(QString()). +- Q3ScrollView + Fixed default focus policy for deriving classes. +- Q3ToolBar + Q3Action::setOn() now works correctly. + Adding an action now sets all action properties correctly. +- Q3ActionGroup + Fix drop down drawing error. +- Q3MainWindow + Fixed a regression in setUsesIconText(). + Reintroduced qt_x11_set_global_double_buffer() for binary + compatibility. + Improved tablet event handling. +- QApplication + The KeypadModifier is now set when NumLock is enabled. +- QBitmap + Fixed text drawing errors under some fontconfig + settings. +- QLibrary + isLibrary() now returns true for .a and .so on AIX. +- qmake + Improved stability when modifying environment variables + Allow '/' as a path separator on all platforms. +- QPaintEngine + Fixed issue where filling and stroking ellipses could leave + pixel gaps. +- QPainter + Implemented Porter-Duff composition support. + Fix artifacts when drawing aliased primitives with an alpha + pen. + Fixed issue where rotating pixmaps could add a pixel row in + some cases. + Fixed drawing of arcs of less than 1 degree. + Made drawText() honor the Qt::TextWrapAnywhere flag. +- QPrinter + Fixed cleanup of child processes. +- QPrintDialog + Fixed problems when using "From page" and "To page" spin + boxes. + Made it impossible to choose "OK" when no printers are + configured. +- QProcess + Fixed possible deadlock when calling startDetatched(). +- QScrollArea + Catch double click also when size exceeds window system size + limits. +- QTextEdit + Fixed an issue where the horizontal scrollbar did not show up. +- QWorkspace + Fixed missing mouse event propagation to child widgets. * Mon Apr 10 2006 - dmueller@suse.de - fix wrong assembler mnemonic in QAtomic for s390x * Wed Mar 22 2006 - dmueller@suse.de ++++++ 0112-ksyntaxhighlighter-rehighlight-document.diff ++++++ qt-bugs@ issue : unknown Trolltech task ID : unknown applied: yes author: Laurent Montel <montel@kde.org> Patch from Simon. Code from qt-4.2 to rehighlighting all document. --- src/gui/text/qsyntaxhighlighter.cpp Wed Jan 25 08:53:55 CET 2006 +++ src/gui/text/qsyntaxhighlighter.cpp Wed Jan 25 08:53:55 CET 2006 @@ -32,8 +32,6 @@ QPointer<QTextDocument> doc; - void reformatDocument(); - void reformatBlocks(int from, int charsRemoved, int charsAdded); void reformatBlock(QTextBlock block); @@ -42,18 +40,6 @@ QTextBlock currentBlock; }; -void QSyntaxHighlighterPrivate::reformatDocument() -{ - if (!doc) - return; - - QTextCursor cursor(doc); - cursor.beginEditBlock(); - cursor.movePosition(QTextCursor::End); - reformatBlocks(0, 0, cursor.position()); - cursor.endEditBlock(); -} - void QSyntaxHighlighterPrivate::applyFormatChanges() { QList<QTextLayout::FormatRange> ranges; @@ -330,7 +316,7 @@ if (d->doc) { connect(d->doc, SIGNAL(contentsChange(int, int, int)), this, SLOT(reformatBlocks(int, int, int))); - QTimer::singleShot(0, this, SLOT(reformatDocument())); + QTimer::singleShot(0, this, SLOT(rehighlight())); } } @@ -345,6 +331,22 @@ } /*! + Redoes the highlighting of the whole document. +*/ +void QSyntaxHighlighter::rehighlight() +{ + Q_D(QSyntaxHighlighter); + if (!d->doc) + return; + + QTextCursor cursor(d->doc); + cursor.beginEditBlock(); + cursor.movePosition(QTextCursor::End); + d->reformatBlocks(0, 0, cursor.position()); + cursor.endEditBlock(); +} + +/*! \fn void QSyntaxHighlighter::highlightBlock(const QString &text) Highlights the given text block. This function is called when --- src/gui/text/qsyntaxhighlighter.h Wed Jan 25 08:53:55 CET 2006 +++ src/gui/text/qsyntaxhighlighter.h Wed Jan 25 08:53:55 CET 2006 @@ -44,6 +44,9 @@ void setDocument(QTextDocument *doc); QTextDocument *document() const; +public Q_SLOTS: + void rehighlight(); + protected: virtual void highlightBlock(const QString &text) = 0; @@ -62,7 +65,6 @@ private: Q_DISABLE_COPY(QSyntaxHighlighter) Q_PRIVATE_SLOT(d_func(), void reformatBlocks(int from, int charsRemoved, int charsAdded)) - Q_PRIVATE_SLOT(d_func(), void reformatDocument()) }; #endif // QT_NO_SYNTAXHIGHLIGHTER ++++++ 0113-qaction_patch.diff ++++++ qt-bugs@ issue : none Trolltech task ID : none applied: yes author: Simon Hausmann <simon.hausmann@trolltech.com> Patch that adds a helpful accessor to QAction. --- src/gui/kernel/qaction.cpp Sun Feb 12 20:43:08 CET 2006 +++ src/gui/kernel/qaction.cpp Sun Feb 12 20:43:08 CET 2006 @@ -233,6 +233,18 @@ return (QWidget*)ret; } +/*! + \since 4.2 + Returns a list of widgets this action has been added to. + + \sa QWidget::addAction +*/ +QList<QWidget *> QAction::associatedWidgets() const +{ + Q_D(const QAction); + return d->widgets; +} + #ifndef QT_NO_SHORTCUT /*! \property QAction::shortcut --- src/gui/kernel/qaction.h Sun Feb 12 20:43:08 CET 2006 +++ src/gui/kernel/qaction.h Sun Feb 12 20:43:08 CET 2006 @@ -134,6 +134,8 @@ #endif QWidget *parentWidget() const; + + QList<QWidget *> associatedWidgets() const; protected: bool event(QEvent *); ++++++ 0115-qaction-altshortcuts.diff ++++++ qt-bugs@ issue : none Trolltech task ID : none applied: yes author: Hamish Rodda <rodda@kde.org> Patch that allows QActions to support more than one shortcut each Accepted for qt 4.2 Index: src/gui/kernel/qaction.h =================================================================== --- src/gui/kernel/qaction.h (revision 516238) +++ src/gui/kernel/qaction.h (working copy) @@ -106,6 +106,9 @@ void setShortcut(const QKeySequence &shortcut); QKeySequence shortcut() const; + void setAlternateShortcuts(const QList<QKeySequence> &shortcuts); + QList<QKeySequence> alternateShortcuts() const; + void setShortcutContext(Qt::ShortcutContext context); Qt::ShortcutContext shortcutContext() const; #endif Index: src/gui/kernel/qaction_p.h =================================================================== --- src/gui/kernel/qaction_p.h (revision 516238) +++ src/gui/kernel/qaction_p.h (working copy) @@ -63,10 +63,12 @@ QString whatsthis; #ifndef QT_NO_SHORTCUT QKeySequence shortcut; + QList<QKeySequence> alternateShortcuts; #endif QVariant userData; #ifndef QT_NO_SHORTCUT int shortcutId; + QList<int> alternateShortcutIds; Qt::ShortcutContext shortcutContext; #endif QFont font; @@ -80,6 +82,7 @@ QList<QWidget *> widgets; #ifndef QT_NO_SHORTCUT void redoGrab(QShortcutMap &map); + void redoGrabAlternate(QShortcutMap &map); void setShortcutEnabled(bool enable, QShortcutMap &map); static QShortcutMap *globalMap; Index: src/gui/kernel/qaction.cpp =================================================================== --- src/gui/kernel/qaction.cpp (revision 516238) +++ src/gui/kernel/qaction.cpp (working copy) @@ -96,11 +96,35 @@ map.setShortcutEnabled(false, shortcutId, q); } +void QActionPrivate::redoGrabAlternate(QShortcutMap &map) +{ + Q_Q(QAction); + foreach (int id, alternateShortcutIds) + if (id) + map.removeShortcut(id, q); + alternateShortcutIds.clear(); + if (alternateShortcuts.isEmpty()) + return; + foreach (const QKeySequence& alternate, alternateShortcuts) { + if (!alternate.isEmpty()) + alternateShortcutIds.append(map.addShortcut(q, alternate, shortcutContext)); + else + alternateShortcutIds.append(0); + } + if (!enabled) { + foreach (int id, alternateShortcutIds) + map.setShortcutEnabled(false, id, q); + } +} + void QActionPrivate::setShortcutEnabled(bool enable, QShortcutMap &map) { Q_Q(QAction); if (shortcutId) map.setShortcutEnabled(enable, shortcutId, q); + foreach (int id, alternateShortcutIds) + if (id) + map.setShortcutEnabled(enable, id, q); } #endif // QT_NO_SHORTCUT @@ -281,6 +305,36 @@ } /*! + \since 4.2 + + Sets a list of alternate shortcuts that in addition to the action's + main shortcut trigger the action. +*/ +void QAction::setAlternateShortcuts(const QList<QKeySequence> &shortcuts) +{ + Q_D(QAction); + if (d->alternateShortcuts == shortcuts) + return; + + d->alternateShortcuts = shortcuts; + d->redoGrabAlternate(qApp->d_func()->shortcutMap); + d->sendDataChanged(); +} + +/*! + \since 4.2 + + Returns the list of alternate shortcuts. + + \sa setAlternateShortcuts() +*/ +QList<QKeySequence> QAction::alternateShortcuts() const +{ + Q_D(const QAction); + return d->alternateShortcuts; +} + +/*! \property QAction::shortcutContext \brief the context for the action's shortcut @@ -295,6 +349,7 @@ return; d->shortcutContext = context; d->redoGrab(qApp->d_func()->shortcutMap); + d->redoGrabAlternate(qApp->d_func()->shortcutMap); d->sendDataChanged(); } @@ -822,7 +877,7 @@ #ifndef QT_NO_SHORTCUT if (e->type() == QEvent::Shortcut) { QShortcutEvent *se = static_cast<QShortcutEvent *>(e); - Q_ASSERT_X(se->key() == d_func()->shortcut, + Q_ASSERT_X(se->key() == d_func()->shortcut || d_func()->alternateShortcuts.contains(se->key()), "QAction::event", "Received shortcut event from incorrect shortcut"); if (se->isAmbiguous()) ++++++ 0119-qaction-widgetfactory.diff ++++++ qt-bugs@ issue : none Trolltech task ID : none applied: yes author: Hamish Rodda <rodda@kde.org> Patch that allows QActions to provide custom widgets to be inserted into toolbars, without having to use addWidget(). In principle support from Simon Hausmann. Index: src/gui/kernel/qaction.h =================================================================== --- src/gui/kernel/qaction.h (revision 536610) +++ src/gui/kernel/qaction.h (working copy) @@ -39,6 +39,20 @@ QT_MODULE(Gui) class QMenu; class QActionGroup; class QActionPrivate; +class QToolBar; + +class Q_GUI_EXPORT QActionWidgetFactory +{ +public: + QActionWidgetFactory(); + virtual ~QActionWidgetFactory(); + + virtual QWidget* createToolBarWidget(QToolBar* parent) = 0; + + /// Here the factory has its widget returned... the default implementation + /// deletes it, but subclasses may prefer to keep it for next time + virtual void destroyToolBarWidget(QWidget* widget); +}; class Q_GUI_EXPORT QAction : public QObject { @@ -147,6 +161,9 @@ public: QWidget *parentWidget() const; + QActionWidgetFactory* toolBarWidgetFactory() const; + void setToolBarWidgetFactory(QActionWidgetFactory* factory); + protected: bool event(QEvent *); Index: src/gui/kernel/qaction_p.h =================================================================== --- src/gui/kernel/qaction_p.h (revision 536610) +++ src/gui/kernel/qaction_p.h (working copy) @@ -91,6 +91,8 @@ public: int id, param; #endif void sendDataChanged(); + + QActionWidgetFactory* factory; }; #endif // QT_NO_ACTION Index: src/gui/kernel/qaction.cpp =================================================================== --- src/gui/kernel/qaction.cpp (revision 536610) +++ src/gui/kernel/qaction.cpp (working copy) @@ -53,7 +53,7 @@ static QString qt_strippedText(QString s QActionPrivate::QActionPrivate() : group(0), enabled(1), forceDisabled(0), - visible(1), forceInvisible(0), checkable(0), checked(0), separator(0), fontSet(false) + visible(1), forceInvisible(0), checkable(0), checked(0), separator(0), fontSet(false), factory(0) { #ifdef QT3_SUPPORT static int qt_static_action_id = -1; @@ -906,6 +906,31 @@ void QAction::activate(ActionEvent event } } +QActionWidgetFactory* QAction::toolBarWidgetFactory() const +{ + Q_D(const QAction); + return d->factory; +} + +void QAction::setToolBarWidgetFactory(QActionWidgetFactory* factory) +{ + Q_D(QAction); + d->factory = factory; +} + +QActionWidgetFactory::QActionWidgetFactory() +{ +} + +QActionWidgetFactory::~QActionWidgetFactory() +{ +} + +void QActionWidgetFactory::destroyToolBarWidget(QWidget* widget) +{ + widget->deleteLater(); +} + /*! \fn void QAction::triggered(bool checked) Index: src/gui/widgets/qtoolbar.cpp =================================================================== --- src/gui/widgets/qtoolbar.cpp (revision 536610) +++ src/gui/widgets/qtoolbar.cpp (working copy) @@ -262,6 +262,8 @@ QToolBarItem QToolBarPrivate::createItem QToolBarWidgetAction *widgetAction = qobject_cast<QToolBarWidgetAction *>(action); if (widgetAction) { item.widget = widgetAction->widget(); + } else if (action->toolBarWidgetFactory()) { + item.widget = action->toolBarWidgetFactory()->createToolBarWidget(q); } else if (action->isSeparator()) { item.widget = new QToolBarSeparator(q); QObject::connect(q, SIGNAL(orientationChanged(Qt::Orientation)), @@ -840,6 +842,9 @@ void QToolBar::actionEvent(QActionEvent if (!widgetAction) { // destroy the QToolButton/QToolBarSeparator item.widget->hide(); + if (action->toolBarWidgetFactory()) + action->toolBarWidgetFactory()->destroyToolBarWidget(item.widget); + else item.widget->deleteLater(); } else { if (!isHidden() && item.widget->testAttribute(Qt::WA_WState_Created)) ++++++ 0128-no-qhash-warnings.diff ++++++ qt-bugs@ issue : none yet applied: no author: mueller Fix gcc >= 4.1 warnings when including this file. --- src/corelib/tools/qhash.h (revision 531801) +++ src/corelib/tools/qhash.h (working copy) @@ -463,15 +463,8 @@ Q_INLINE_TEMPLATE void QHash<Key, T>::cl template <class Key, class T> Q_OUTOFLINE_TEMPLATE void QHash<Key, T>::detach_helper() { - size_t asize; - if (QTypeInfo<T>::isDummy) { - asize = reinterpret_cast<char *>(&reinterpret_cast<Node *>(&QHashData::shared_null)->value) - - reinterpret_cast<char *>(&QHashData::shared_null); - } else { - asize = sizeof(Node); - } - - QHashData *x = d->detach_helper(duplicateNode, int(asize)); + QHashData *x = d->detach_helper(duplicateNode, + int(QTypeInfo<T>::isDummy ? sizeof(DummyNode) : sizeof(Node))); x = qAtomicSetPtr(&d, x); if (!x->ref.deref()) freeData(x); ++++++ 0130-coverity-checks.diff ++++++ issue : none yet applied: no author: mueller patches for Coverity reports. Index: src/gui/painting/qprintengine_ps.cpp =================================================================== --- src/gui/painting/qprintengine_ps.cpp (revision 538540) +++ src/gui/painting/qprintengine_ps.cpp (working copy) @@ -1005,8 +1005,7 @@ bool QPSPrintEngine::end() d->outDevice->write(trailer); ignoreSigPipe(false); - if (d->outDevice) - d->outDevice->close(); + d->outDevice->close(); if (d->fd >= 0) ::close(d->fd); d->fd = -1; Index: src/qt3support/network/q3http.cpp =================================================================== --- src/qt3support/network/q3http.cpp (revision 539287) +++ src/qt3support/network/q3http.cpp (working copy) @@ -2028,6 +2028,7 @@ void Q3Http::slotReadyRead() if ( tmp[0] != '\r' || tmp[1] != '\n' ) { finishedWithError( QHttp::tr("Invalid HTTP chunked body"), WrongContentLength ); close(); + delete arr; return; } } Index: src/network/qhttp.cpp =================================================================== --- src/network/qhttp.cpp (revision 539433) +++ src/network/qhttp.cpp (working copy) @@ -2542,6 +2542,7 @@ void QHttpPrivate::_q_slotReadyRead() finishedWithError(QT_TRANSLATE_NOOP("QHttp", "Invalid HTTP chunked body"), QHttp::WrongContentLength); closeConn(); + delete arr; return; } } Index: src/qt3support/network/q3dns.cpp =================================================================== --- src/qt3support/network/q3dns.cpp (revision 539433) +++ src/qt3support/network/q3dns.cpp (working copy) @@ -2545,6 +2545,8 @@ void Q3Dns::doResInit() // this host supports ipv6. if ( address->isIPv4Address() || ipv6support ) ns->append( address ); + else + delete address; } else { delete address; } Index: tools/designer/src/lib/shared/qdesigner_command.cpp =================================================================== --- tools/designer/src/lib/shared/qdesigner_command.cpp (revision 539433) +++ tools/designer/src/lib/shared/qdesigner_command.cpp (working copy) @@ -434,6 +434,7 @@ checkObjectName(m_widget); QWidget *parentWidget = m_widget->parentWidget(); + Q_ASSERT(parentWidget); QDesignerFormEditorInterface *core = formWindow()->core(); QDesignerLayoutDecorationExtension *deco = qt_extension<QDesignerLayoutDecorationExtension*>(core->extensionManager(), parentWidget); ++++++ external-sqlite.diff ++++++ --- /var/tmp/diff_new_pack.vwj3Kn/_old 2006-05-16 02:20:27.000000000 +0200 +++ /var/tmp/diff_new_pack.vwj3Kn/_new 2006-05-16 02:20:27.000000000 +0200 @@ -1,10 +1,35 @@ ---- src/plugins/sqldrivers/sqlite/sqlite.pro 2005/11/22 09:17:14 1.1 -+++ src/plugins/sqldrivers/sqlite/sqlite.pro 2005/11/22 09:20:11 -@@ -4,48 +4,6 @@ +--- configure 2006-03-20 14:04:37.000000000 +0100 ++++ configure 2006-05-16 00:28:16.000000000 +0200 +@@ -3007,21 +3007,6 @@ + fi + ;; + sqlite) +- if [ -f $relpath/src/3rdparty/sqlite/sqlite3.h ]; then +- if [ "$CFG_SQL_sqlite" = "auto" ]; then +- CFG_SQL_sqlite=plugin +- fi +- else +- if [ "$CFG_SQL_sqlite" != "auto" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then +- echo "SQLite support cannot be enabled due to functionality tests!" +- echo " Turn on verbose messaging (-v) to $0 to see the final report." +- echo " If you believe this message is in error you may use the continue" +- echo " switch (-continue) to $0 to continue." +- exit 101 +- else +- CFG_SQL_sqlite=no +- fi +- fi + ;; + *) + if [ "$OPT_VERBOSE" = "yes" ]; then +--- src/plugins/sqldrivers/sqlite/sqlite.pro 2006-03-20 14:04:53.000000000 +0100 ++++ src/plugins/sqldrivers/sqlite/sqlite.pro 2006-05-16 00:29:57.000000000 +0200 +@@ -4,49 +4,6 @@ SOURCES = smain.cpp \ ../../../sql/drivers/sqlite/qsql_sqlite.cpp -!contains( LIBS, .*sqlite.* ) { +- CONFIG(release, debug|release):DEFINES *= NDEBUG - INCLUDEPATH += ../../../3rdparty/sqlite - - SOURCES += ../../../3rdparty/sqlite/alter.c \ @@ -47,16 +72,17 @@ - unix:SOURCES += ../../../3rdparty/sqlite/os_unix.c - win32:SOURCES += ../../../3rdparty/sqlite/os_win.c -} -+LIBS *= -lsqlite3 ++LIBS *= -lsqlite3 include(../qsqldriverbase.pri) ---- src/sql/drivers/drivers.pri 2005/11/22 09:27:31 1.1 -+++ src/sql/drivers/drivers.pri 2005/11/22 09:28:24 -@@ -94,47 +94,8 @@ +--- src/sql/drivers/drivers.pri 2006-03-20 14:04:38.000000000 +0100 ++++ src/sql/drivers/drivers.pri 2006-05-16 00:29:05.000000000 +0200 +@@ -96,50 +96,7 @@ } contains(sql-drivers, sqlite) { - !contains( LIBS, .*sqlite3.* ) { +- CONFIG(release, debug|release):DEFINES *= NDEBUG - INCLUDEPATH += ../3rdparty/sqlite - - SOURCES += ../3rdparty/sqlite/alter.c \ @@ -97,32 +123,9 @@ - ../3rdparty/sqlite/where.c - unix:SOURCES += ../3rdparty/sqlite/os_unix.c - win32:SOURCES += ../3rdparty/sqlite/os_win.c -+ unix { -+ LIBS *= -lsqlite3 - } - +- } +- ++ LIBS *= -lsqlite3 HEADERS += drivers/sqlite/qsql_sqlite.h ---- configure 2005/11/22 10:24:22 1.1 -+++ configure 2005/11/22 14:08:50 -@@ -2939,21 +2942,7 @@ - fi - ;; - sqlite) -- if [ -f $relpath/src/3rdparty/sqlite/sqlite3.h ]; then -- if [ "$CFG_SQL_sqlite" = "auto" ]; then - CFG_SQL_sqlite=plugin -- fi -- else -- if [ "$CFG_SQL_sqlite" != "auto" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then -- echo "SQLite support cannot be enabled due to functionality tests!" -- echo " Turn on verbose messaging (-v) to $0 to see the final report." -- echo " If you believe this message is in error you may use the continue" -- echo " switch (-continue) to $0 to continue." -- exit 101 -- else -- CFG_SQL_sqlite=no -- fi -- fi - ;; - *) - if [ "$OPT_VERBOSE" = "yes" ]; then + SOURCES += drivers/sqlite/qsql_sqlite.cpp + } ++++++ pre_checkin.sh ++++++ --- qt/pre_checkin.sh 2006-03-20 22:00:24.000000000 +0100 +++ qt/pre_checkin.sh 2006-05-15 18:34:45.000000000 +0200 @@ -4,9 +4,8 @@ # commented lines below cp qt.changes qt-sql-plugins.changes -cp qt.changes qt-debug.changes -for spec in qt-sql-plugins.spec qt-debug.spec; do +for spec in qt-sql-plugins.spec; do { sed -n -e '1,/COMMON-BEGIN/p' $spec.in sed -n -e '/COMMON-BEGIN/,/COMMON-END/p' qt.spec sed -n -e '/COMMON-END/,$p' $spec.in; } > $spec.tmp && mv $spec.tmp $spec ++++++ qt-snapshot.diff ++++++ ++++ 63545 lines (skipped) ++++++ qt-x11-opensource-src-4.1.0.tar.bz2 -> qt-x11-opensource-src-4.1.2.tar.bz2 ++++++ qt/qt-x11-opensource-src-4.1.0.tar.bz2 qt/qt-x11-opensource-src-4.1.2.tar.bz2 differ: char 11, line 1 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Remember to have fun...