diff options
author | Jonathan Callen <jcallen@gentoo.org> | 2009-11-16 04:54:48 +0000 |
---|---|---|
committer | Jonathan Callen <jcallen@gentoo.org> | 2009-11-16 04:54:48 +0000 |
commit | dc7f3b0a290bce29f7104b2f65126621eadff497 (patch) | |
tree | 945918b8a23a589960422c2c80abc00596c04122 | |
parent | Drop unused file (diff) | |
download | historical-dc7f3b0a290bce29f7104b2f65126621eadff497.tar.gz historical-dc7f3b0a290bce29f7104b2f65126621eadff497.tar.bz2 historical-dc7f3b0a290bce29f7104b2f65126621eadff497.zip |
Drop unused files
Package-Manager: portage--svn/cvs/Linux i686
32 files changed, 40 insertions, 1368 deletions
diff --git a/x11-libs/qt-core/ChangeLog b/x11-libs/qt-core/ChangeLog index 27ec46cdf4bb..09c22e534083 100644 --- a/x11-libs/qt-core/ChangeLog +++ b/x11-libs/qt-core/ChangeLog @@ -1,6 +1,13 @@ # ChangeLog for x11-libs/qt-core # Copyright 1999-2009 Gentoo Foundation; Distributed under the GPL v2 -# $Header: /var/cvsroot/gentoo-x86/x11-libs/qt-core/ChangeLog,v 1.74 2009/11/11 15:26:48 yngwin Exp $ +# $Header: /var/cvsroot/gentoo-x86/x11-libs/qt-core/ChangeLog,v 1.75 2009/11/16 04:48:16 abcd Exp $ + + 16 Nov 2009; Jonathan Callen <abcd@gentoo.org> + -files/0167-fix-group-reading.diff, + -files/0253-qmake_correct_path_separators.diff, + -files/0257-qurl-validate-speedup.diff, + -files/qt-core-4.5-boilerplate.diff: + Drop unused files 11 Nov 2009; Ben de Groot <yngwin@gentoo.org> -qt-core-4.4.2.ebuild, -qt-core-4.4.2-r2.ebuild, -qt-core-4.5.1.ebuild, -qt-core-4.5.2.ebuild, diff --git a/x11-libs/qt-core/files/0167-fix-group-reading.diff b/x11-libs/qt-core/files/0167-fix-group-reading.diff deleted file mode 100644 index 5c7ca33c4156..000000000000 --- a/x11-libs/qt-core/files/0167-fix-group-reading.diff +++ /dev/null @@ -1,28 +0,0 @@ -qt-bugs@ issue : none -Trolltech task ID : none yet -bugs.kde.org number : None -applied: no -author: Dirk Mueller <mueller@kde.org> - -in big user environments, getgrgid_r() needs more memory than sysconf() returns. -Try a bit harder. - ---- src/corelib//io/qfsfileengine_unix.cpp -+++ src/corelib//io/qfsfileengine_unix.cpp -@@ -835,9 +835,13 @@ - size_max = sysconf(_SC_GETGR_R_SIZE_MAX); - if (size_max == -1) - size_max = 1024; -- buf.resize(size_max); -- struct group entry; -- getgrgid_r(ownerId(own), &entry, buf.data(), buf.size(), &gr); -+ for (;size_max < 256000; size_max += size_max) { -+ buf.resize(size_max); -+ struct group entry; -+ if (!getgrgid_r(ownerId(own), &entry, buf.data(), buf.size(), &gr) || errno != ERANGE) -+ break; -+ -+ } - #else - gr = getgrgid(ownerId(own)); - #endif diff --git a/x11-libs/qt-core/files/0253-qmake_correct_path_separators.diff b/x11-libs/qt-core/files/0253-qmake_correct_path_separators.diff deleted file mode 100644 index 007146169cd7..000000000000 --- a/x11-libs/qt-core/files/0253-qmake_correct_path_separators.diff +++ /dev/null @@ -1,65 +0,0 @@ -qt-bugs@ issue : none -Trolltech task ID : 214661 -applied: no -author: Christian Ehrlicher <ch.ehrlicher@gmx.de> - -When using qmake outside qt src tree, it sometimes generates wrong -paths (wrong path separator) - - ---- qmake/property.cpp.orig 2008-05-08 21:16:15.902625000 +0200 -+++ qmake/property.cpp 2008-05-08 21:16:10.481500000 +0200 -@@ -83,29 +83,32 @@ - QString - QMakeProperty::value(QString v, bool just_check) - { -+ QString ret; - if(v == "QT_INSTALL_PREFIX") -- return QLibraryInfo::location(QLibraryInfo::PrefixPath); -+ ret = QLibraryInfo::location(QLibraryInfo::PrefixPath); - else if(v == "QT_INSTALL_DATA") -- return QLibraryInfo::location(QLibraryInfo::DataPath); -+ ret = QLibraryInfo::location(QLibraryInfo::DataPath); - else if(v == "QT_INSTALL_DOCS") -- return QLibraryInfo::location(QLibraryInfo::DocumentationPath); -+ ret = QLibraryInfo::location(QLibraryInfo::DocumentationPath); - else if(v == "QT_INSTALL_HEADERS") -- return QLibraryInfo::location(QLibraryInfo::HeadersPath); -+ ret = QLibraryInfo::location(QLibraryInfo::HeadersPath); - else if(v == "QT_INSTALL_LIBS") -- return QLibraryInfo::location(QLibraryInfo::LibrariesPath); -+ ret = QLibraryInfo::location(QLibraryInfo::LibrariesPath); - else if(v == "QT_INSTALL_BINS") -- return QLibraryInfo::location(QLibraryInfo::BinariesPath); -+ ret = QLibraryInfo::location(QLibraryInfo::BinariesPath); - else if(v == "QT_INSTALL_PLUGINS") -- return QLibraryInfo::location(QLibraryInfo::PluginsPath); -+ ret = QLibraryInfo::location(QLibraryInfo::PluginsPath); - else if(v == "QT_INSTALL_TRANSLATIONS") -- return QLibraryInfo::location(QLibraryInfo::TranslationsPath); -+ ret = QLibraryInfo::location(QLibraryInfo::TranslationsPath); - else if(v == "QT_INSTALL_CONFIGURATION") -- return QLibraryInfo::location(QLibraryInfo::SettingsPath); -+ ret = QLibraryInfo::location(QLibraryInfo::SettingsPath); - else if(v == "QT_INSTALL_EXAMPLES") -- return QLibraryInfo::location(QLibraryInfo::ExamplesPath); -+ ret = QLibraryInfo::location(QLibraryInfo::ExamplesPath); - else if(v == "QT_INSTALL_DEMOS") -- return QLibraryInfo::location(QLibraryInfo::DemosPath); -- else if(v == "QMAKE_MKSPECS") -+ ret = QLibraryInfo::location(QLibraryInfo::DemosPath); -+ if(!ret.isEmpty()) -+ return QDir::toNativeSeparators(ret); -+ if(v == "QMAKE_MKSPECS") - return qmake_mkspec_paths().join(Option::target_mode == Option::TARG_WIN_MODE ? ";" : ":"); - else if(v == "QMAKE_VERSION") - return qmake_version(); -@@ -118,7 +121,7 @@ - int slash = v.lastIndexOf('/'); - QVariant var = settings->value(keyBase(slash == -1) + v); - bool ok = var.isValid(); -- QString ret = var.toString(); -+ ret = var.toString(); - if(!ok) { - QString version = qmake_version(); - if(slash != -1) { diff --git a/x11-libs/qt-core/files/0257-qurl-validate-speedup.diff b/x11-libs/qt-core/files/0257-qurl-validate-speedup.diff deleted file mode 100644 index c3eaa1b6fa7e..000000000000 --- a/x11-libs/qt-core/files/0257-qurl-validate-speedup.diff +++ /dev/null @@ -1,23 +0,0 @@ -qt-bugs@ issue : N234179 -Trolltech task ID : none -bugs.kde.org number : 174144 -applied: no -author: David Faure <faure@kde.org> (and Qt Software, independently) - -QUrl is supposed to have flags for parsing and validating a given URL only once. -However it only sets the Validated flag on error, not after successful validation. -So a valid url will be validated over and over again, every time e.g. port() or isValid() is called. - -Included in Qt 4.5 - ---- src/corelib/io/qurl.cpp -+++ src/corelib/io/qurl.cpp -@@ -3414,6 +3414,8 @@ void QUrlPrivate::validate() const - that->encodedOriginal = that->toEncoded(); // may detach - parse(ParseOnly); - -+ QURL_SETFLAG(that->stateFlags, Validated); -+ - if (!isValid) - return; - diff --git a/x11-libs/qt-core/files/qt-core-4.5-boilerplate.diff b/x11-libs/qt-core/files/qt-core-4.5-boilerplate.diff deleted file mode 100644 index ca9c028774a8..000000000000 --- a/x11-libs/qt-core/files/qt-core-4.5-boilerplate.diff +++ /dev/null @@ -1,40 +0,0 @@ - ---- src/corelib/global/qlibraryinfo.cpp -+++ src/corelib/global/qlibraryinfo.cpp -@@ -525,35 +525,6 @@ void qt_core_init_boilerplate() __attrib - asm ("syscall\n" \ - : : "a" (SYS_exit), "D" (0)); _exit(c) - --# elif defined(QT_ARCH_IA64) --#define sysinit() \ -- asm volatile ("{.mlx\n" \ -- " nop.m 0\n" \ -- " movl r2 = @pcrel(boilerplate);;" \ -- "}\n" \ -- "{.mii\n" \ -- " mov r10 = @ltoffx(boilerplate)\n" \ -- " mov r1 = ip\n" \ -- " adds r2 = -16, r2\n;;\n" \ -- "}\n" \ -- " add r1 = r2, r1;;\n" \ -- " sub r1 = r1, r10;;\n" \ -- : : : "r2", "r10") --#define syswrite(msg, len) \ -- ({ const char *_msg = msg; \ -- asm ("mov out0=%1\n" \ -- "mov out1=%2\n" \ -- "mov out2=%3\n" \ -- ";;\n" \ -- "mov r15=%0\n" \ -- "break 0x100000;;\n" \ -- : : "I" (SYS_write), "I" (1), "r" (_msg), "r" (len)); }) --#define sysexit(c) \ -- asm ("mov out0=%1\n" \ -- ";;\n" \ -- "mov r15=%0\n" \ -- "break 0x100000;;\n" \ -- : : "I" (SYS_exit), "O" (0)); write(1, 0, 0); _exit(c) - # else - #define sysinit() (void)0 - #define syswrite(msg, len) (msg); (len) - diff --git a/x11-libs/qt-gui/ChangeLog b/x11-libs/qt-gui/ChangeLog index 6098297cbf59..e51224c002b3 100644 --- a/x11-libs/qt-gui/ChangeLog +++ b/x11-libs/qt-gui/ChangeLog @@ -1,6 +1,31 @@ # ChangeLog for x11-libs/qt-gui # Copyright 1999-2009 Gentoo Foundation; Distributed under the GPL v2 -# $Header: /var/cvsroot/gentoo-x86/x11-libs/qt-gui/ChangeLog,v 1.82 2009/11/11 15:10:19 yngwin Exp $ +# $Header: /var/cvsroot/gentoo-x86/x11-libs/qt-gui/ChangeLog,v 1.83 2009/11/16 04:50:23 abcd Exp $ + + 16 Nov 2009; Jonathan Callen <abcd@gentoo.org> + -files/0195-compositing-properties.diff, + -files/0203-qtexthtmlparser-link-color.diff, + -files/0224-fast-qpixmap-fill.diff, + -files/0225-invalidate-tabbar-geometry-on-refresh.patch, + -files/0226-qtreeview-column_resize_when_needed.diff, + -files/0238-fix-qt-qttabbar-size.diff, + -files/0245-fix-randr-changes-detecting.diff, + -files/0248-fix-qwidget-scroll-slowness.diff, + -files/0254-fix-qgraphicsproxywidget-deletion-crash.diff, + -files/0255-qtreeview-selection-columns-hidden.diff, + -files/0256-fix-recursive-backingstore-sync-crash.diff, + -files/0258-windowsxpstyle-qbrush.diff, + -files/0260-fix-qgraphicswidget-deletionclearFocus.diff, + -files/0261-sync-before-reset-errorhandler.patch, + -files/0262-fix-treeview-animation-crash.diff, + -files/0263-fix-fontconfig-handling.diff, + -files/0264-fix-zero-height-qpixmap-isnull.diff, + -files/0265-fix-formlayoutcrash.diff, -files/0266-fix-focusChain1.diff, + -files/0267-fix-focusChain2.diff, + -files/qt-gui-4.5.1-0282-fix-qpixmapcache-leak.diff, + -files/qt-gui-4.5.1-ppc-pixmap-fix-backport-196152.patch, + -files/qt-gui-4.5.2-x11-timestamp.patch: + Drop unused files 11 Nov 2009; Ben de Groot <yngwin@gentoo.org> -qt-gui-4.4.2-r3.ebuild, -qt-gui-4.5.1.ebuild, -qt-gui-4.5.1-r1.ebuild, -qt-gui-4.5.1-r2.ebuild, diff --git a/x11-libs/qt-gui/files/0195-compositing-properties.diff b/x11-libs/qt-gui/files/0195-compositing-properties.diff deleted file mode 100644 index 979df943662e..000000000000 --- a/x11-libs/qt-gui/files/0195-compositing-properties.diff +++ /dev/null @@ -1,58 +0,0 @@ -qt-bugs@ issue : none -bugs.kde.org number : none -applied: no -author: Lubos Lunak <l.lunak@kde.org> - -This patch makes override-redirect windows (popup menu, dropdown menu, -tooltip, combobox, etc.) also have more window properties like WM_CLASS, -so they can be used when compositing. - ---- src/gui/kernel/qwidget_x11.cpp -+++ src/gui/kernel/qwidget_x11.cpp -@@ -637,6 +637,11 @@ void QWidgetPrivate::create_sys(WId window, bool initializeWindow, bool destroyO - Q_ASSERT(id); - XChangeWindowAttributes(dpy, id, CWOverrideRedirect | CWSaveUnder, - &wsa); -+ XClassHint class_hint; -+ QByteArray appName = qAppName().toLatin1(); -+ class_hint.res_name = appName.data(); // application name -+ class_hint.res_class = const_cast<char *>(QX11Info::appClass()); // application class -+ XSetWMProperties(dpy, id, 0, 0, 0, 0, 0, 0, &class_hint); - } else if (topLevel && !desktop) { // top-level widget - if (!X11->wm_client_leader) - create_wm_client_leader(); -@@ -685,13 +690,21 @@ void QWidgetPrivate::create_sys(WId window, bool initializeWindow, bool destroyO - // set EWMH window types - setNetWmWindowTypes(); - -+ // when we create a toplevel widget, the frame strut should be dirty -+ data.fstrut_dirty = 1; -+ -+ } else { -+ // non-toplevel widgets don't have a frame, so no need to -+ // update the strut -+ data.fstrut_dirty = 0; -+ } -+ -+ if (initializeWindow && (popup || (topLevel && !desktop))) { // properties set on all toplevel windows - // set _NET_WM_PID - long curr_pid = getpid(); - XChangeProperty(dpy, id, ATOM(_NET_WM_PID), XA_CARDINAL, 32, PropModeReplace, - (unsigned char *) &curr_pid, 1); - -- // when we create a toplevel widget, the frame strut should be dirty -- data.fstrut_dirty = 1; - - // declare the widget's window role - if (QTLWExtra *topData = maybeTopData()) { -@@ -707,10 +720,6 @@ void QWidgetPrivate::create_sys(WId window, bool initializeWindow, bool destroyO - XChangeProperty(dpy, id, ATOM(WM_CLIENT_LEADER), - XA_WINDOW, 32, PropModeReplace, - (unsigned char *)&X11->wm_client_leader, 1); -- } else { -- // non-toplevel widgets don't have a frame, so no need to -- // update the strut -- data.fstrut_dirty = 0; - } - - if (initializeWindow && q->internalWinId()) { diff --git a/x11-libs/qt-gui/files/0203-qtexthtmlparser-link-color.diff b/x11-libs/qt-gui/files/0203-qtexthtmlparser-link-color.diff deleted file mode 100644 index e01c6ab635ed..000000000000 --- a/x11-libs/qt-gui/files/0203-qtexthtmlparser-link-color.diff +++ /dev/null @@ -1,18 +0,0 @@ -qt-bugs@ issue : N190509 -Trolltech task ID : 190904 (Status: closed; Version fix: 4.5.0) -applied: no -author: Rafael Fernández López <ereslibre@kde.org> - -Links are assigned a foreground color according to the system current color scheme. - ---- src/gui/text/qtexthtmlparser.cpp (revisión: 745183) -+++ src/gui/text/qtexthtmlparser.cpp (copia de trabajo) -@@ -1031,7 +1031,7 @@ void QTextHtmlParserNode::initializeProp - && !attributes.at(i + 1).isEmpty()) { - hasHref = true; - charFormat.setUnderlineStyle(QTextCharFormat::SingleUnderline); -- charFormat.setForeground(Qt::blue); -+ charFormat.setForeground(QApplication::palette().link()); - } - } - diff --git a/x11-libs/qt-gui/files/0224-fast-qpixmap-fill.diff b/x11-libs/qt-gui/files/0224-fast-qpixmap-fill.diff deleted file mode 100644 index e64d9d149e32..000000000000 --- a/x11-libs/qt-gui/files/0224-fast-qpixmap-fill.diff +++ /dev/null @@ -1,48 +0,0 @@ -qt-bugs@ issue : None -Trolltech task ID : None -bugs.kde.org number : None -applied: no -author: Fredrik Höglund <fredrik@kde.org> - -Since there's no way to specify that a QPixmap should have an alpha channel -when it's created, it's quite common to call pixmap.fill(Qt::transparent) -immediately after creating it, to force Qt to recreate it with an alpha -channel. Unfortunately QPixmap::fill() does this by creating a QImage, -filling it with the specified color, and then converting it to a QPixmap. - -This patch avoids the expensive image->pixmap conversion by simply discarding -the old pixmap, creating a new one with the correct format, and doing the -fill server side. - -Index: src/gui/image/qpixmap_x11.cpp -=================================================================== ---- src/gui/image/qpixmap_x11.cpp (revision 798574) -+++ src/gui/image/qpixmap_x11.cpp (working copy) -@@ -1107,7 +1107,26 @@ - { - if (fillColor.alpha() != 255) { - #ifndef QT_NO_XRENDER -- if (picture && d == 32) { -+ if (X11->use_xrender) { -+ if (!picture || d != 32) { -+ if (picture) -+ XRenderFreePicture(X11->display, picture); -+ if (mask_picture) -+ XRenderFreePicture(X11->display, mask_picture); -+ if (x11_mask) -+ XFreePixmap(X11->display, x11_mask); -+ if (hd) -+ XFreePixmap(X11->display, hd); -+ if (hd2) -+ XFreePixmap(X11->display, hd2); -+ XRenderPictFormat *format = XRenderFindStandardFormat(X11->display, PictStandardARGB32); -+ hd = XCreatePixmap(X11->display, RootWindow(X11->display, xinfo.screen()), width(), height(), 32); -+ picture = XRenderCreatePicture(X11->display, hd, format, 0, 0); -+ mask_picture = 0; -+ x11_mask = 0; -+ hd2 = 0; -+ d = 32; -+ } - ::Picture src = X11->getSolidFill(xinfo.screen(), fillColor); - XRenderComposite(X11->display, PictOpSrc, src, 0, picture, - 0, 0, width(), height(), diff --git a/x11-libs/qt-gui/files/0225-invalidate-tabbar-geometry-on-refresh.patch b/x11-libs/qt-gui/files/0225-invalidate-tabbar-geometry-on-refresh.patch deleted file mode 100644 index 49daca322f3b..000000000000 --- a/x11-libs/qt-gui/files/0225-invalidate-tabbar-geometry-on-refresh.patch +++ /dev/null @@ -1,35 +0,0 @@ -qt-bugs@ issue : 208185 -Trolltech task ID : 208349 -bugs.kde.org number : 159014 -applied: no -author: Robert Knight <robertknight@gmail.com> - -When tabs are inserted or removed in a QTabBar, QTabBarPrivate::refresh() -is called to update the layout. If the tabbar widget is hidden, this -just sets a boolean variable (layoutDirty) and returns, so the parent widget's layout -is not notified about the possible geometry change. - -Prior to Qt 4.4 this was not a problem because the geometry was recalculated -in QTabBar::sizeHint() if the layoutDirty variable was set. In Qt 4.4 however the layout -caches size hint information in QWidgetItemV2. Since the cache information is not invalidated, -the layout may end up using out-of-date size hint information to compute the widget size. - -If the QTabBar is empty when QTabBar::sizeHint() is called, it will return a size with a height -of 0, which will be kept in the cache and so the tab bar will never be shown. - -This patch fixes the problem by calling updateGeometry() whenever the tab bar's layout is refreshed. - -Index: src/gui/widgets/qtabbar.cpp -=================================================================== ---- src/gui/widgets/qtabbar.cpp (revision 796858) -+++ src/gui/widgets/qtabbar.cpp (working copy) -@@ -533,8 +533,8 @@ - layoutTabs(); - makeVisible(currentIndex); - q->update(); -- q->updateGeometry(); - } -+ q->updateGeometry(); - } - - /*! diff --git a/x11-libs/qt-gui/files/0226-qtreeview-column_resize_when_needed.diff b/x11-libs/qt-gui/files/0226-qtreeview-column_resize_when_needed.diff deleted file mode 100644 index 18bf2ac124db..000000000000 --- a/x11-libs/qt-gui/files/0226-qtreeview-column_resize_when_needed.diff +++ /dev/null @@ -1,110 +0,0 @@ -qt-bugs@ issue : N209927 -Trolltech task ID : 210390 -bugs.kde.org number : None -applied: no -author: Rafael Fernández López <ereslibre@kde.org> - -If we have no header, or not visible header on a QTreeView, we can end up with -an unusable widget if we expand lots of child widgets of the kind - -a - b - c - d - ... - -This patch assures that if no header is shown, or if we only have one column (so -no other columns become shrinked), the contents will be visible. - -Index: src/gui/itemviews/qtreeview.h -=================================================================== ---- src/gui/itemviews/qtreeview.h (revisión: 803370) -+++ src/gui/itemviews/qtreeview.h (copia de trabajo) -@@ -229,6 +229,7 @@ - Q_PRIVATE_SLOT(d_func(), void _q_columnsAboutToBeRemoved(const QModelIndex &, int, int)) - Q_PRIVATE_SLOT(d_func(), void _q_columnsRemoved(const QModelIndex &, int, int)) - Q_PRIVATE_SLOT(d_func(), void _q_modelAboutToBeReset()) -+ Q_PRIVATE_SLOT(d_func(), void _q_forceColumnResizeToFitContents()) - }; - - #endif // QT_NO_TREEVIEW -Index: src/gui/itemviews/qtreeview.cpp -=================================================================== ---- src/gui/itemviews/qtreeview.cpp (revisión: 803370) -+++ src/gui/itemviews/qtreeview.cpp (copia de trabajo) -@@ -246,6 +246,19 @@ - - connect(d->model, SIGNAL(modelAboutToBeReset()), SLOT(_q_modelAboutToBeReset())); - -+ // we connect these signals from the model to a slot that will call -+ // resizeColumnToContents. This is important because if we call it only on -+ // expand() method, when we expand a node, the filling of the model can be -+ // delayed. So, we call it again after the model has finished its job. -+ connect(d->model, SIGNAL(layoutChanged()), -+ this, SLOT(_q_forceColumnResizeToFitContents())); -+ connect(d->model, SIGNAL(rowsInserted(QModelIndex,int,int)), -+ this, SLOT(_q_forceColumnResizeToFitContents())); -+ connect(d->model, SIGNAL(rowsRemoved(QModelIndex,int,int)), -+ this, SLOT(_q_forceColumnResizeToFitContents())); -+ -+ -+ - if (d->sortingEnabled) - sortByColumn(header()->sortIndicatorSection()); - } -@@ -2787,6 +2800,8 @@ - } - if (model->canFetchMore(index)) - model->fetchMore(index); -+ -+ _q_forceColumnResizeToFitContents(); - } - - void QTreeViewPrivate::collapse(int item, bool emitSignal) -@@ -2826,6 +2841,8 @@ - else - emit q->collapsed(modelIndex); - } -+ -+ _q_forceColumnResizeToFitContents(); - } - - void QTreeViewPrivate::prepareAnimatedOperation(int item, AnimatedOperation::Type type) -@@ -2937,6 +2954,25 @@ - viewItems.clear(); - } - -+void QTreeViewPrivate::_q_forceColumnResizeToFitContents() -+{ -+ Q_Q(QTreeView); -+ -+ /** -+ * if: -+ * -+ * a) The tree view has no header (user cannot resize the column) OR -+ * b) The tree view has a header, but hidden (user cannot resize the column) OR -+ * c) The tree view has a visible header, but with _only_ one (or zero) column (that -+ * means: no other information will be affected). -+ * -+ * We can expand the column to make the contents properly visible. -+ */ -+ if (!header || !header->isVisible() || ((header->count() - header->hiddenSectionCount()) <= 1)) { -+ q->resizeColumnToContents(q->currentIndex().column()); -+ } -+} -+ - void QTreeViewPrivate::_q_columnsAboutToBeRemoved(const QModelIndex &parent, int start, int end) - { - Q_UNUSED(parent); -Index: src/gui/itemviews/qtreeview_p.h -=================================================================== ---- src/gui/itemviews/qtreeview_p.h (revision 803534) -+++ src/gui/itemviews/qtreeview_p.h (working copy) -@@ -101,6 +101,7 @@ - QPixmap after; - }; - -+ void _q_forceColumnResizeToFitContents(); - void expand(int item, bool emitSignal); - void collapse(int item, bool emitSignal); - diff --git a/x11-libs/qt-gui/files/0238-fix-qt-qttabbar-size.diff b/x11-libs/qt-gui/files/0238-fix-qt-qttabbar-size.diff deleted file mode 100644 index 266a8cc01da6..000000000000 --- a/x11-libs/qt-gui/files/0238-fix-qt-qttabbar-size.diff +++ /dev/null @@ -1,20 +0,0 @@ -qt-bugs@ issue : N216195 -Trolltech task ID : 216537 (Applied in Qt 4.5) -bugs.kde.org number : 162737 -applied: no -author: Michael Leupold <lemma@confuego.org> - -This patch fixes some characters in a tabbar being cut-off due -to a wrong size hint (visible if using a kstyle). - ---- src/gui/widgets/qtabbar.cpp (Revision 820510) -+++ src/gui/widgets/qtabbar.cpp (Arbeitskopie) -@@ -1084,7 +1084,7 @@ - QStyleOptionTabV2 opt; - initStyleOption(&opt, index); - opt.text = d->tabList.at(index).text; -- QSize iconSize = tab->icon.isNull() ? QSize() : opt.iconSize; -+ QSize iconSize = tab->icon.isNull() ? QSize(0, 0) : opt.iconSize; - int hframe = style()->pixelMetric(QStyle::PM_TabBarTabHSpace, &opt, this); - int vframe = style()->pixelMetric(QStyle::PM_TabBarTabVSpace, &opt, this); - const QFontMetrics fm = fontMetrics(); diff --git a/x11-libs/qt-gui/files/0245-fix-randr-changes-detecting.diff b/x11-libs/qt-gui/files/0245-fix-randr-changes-detecting.diff deleted file mode 100644 index a5aba1500b8b..000000000000 --- a/x11-libs/qt-gui/files/0245-fix-randr-changes-detecting.diff +++ /dev/null @@ -1,25 +0,0 @@ -qt-bugs@ issue : none yet -Trolltech task ID : none yet -bugs.kde.org number : ? -applied: no -author: Lubos Lunak <l.lunak@kde.org> - -Fix QDesktopWidget not detecting some changes in multiscreen setups -(e.g. two screens 1280x1024, one of them switching to smaller size). - ---- src/gui/kernel/qapplication_x11.cpp.sav 2008-08-21 16:33:15.000000000 +0200 -+++ src/gui/kernel/qapplication_x11.cpp 2008-08-27 12:43:06.000000000 +0200 -@@ -3001,11 +3001,11 @@ int QApplication::x11ProcessEvent(XEvent - QSize oldSize(w->size()); - w->data->crect.setWidth(DisplayWidth(X11->display, scr)); - w->data->crect.setHeight(DisplayHeight(X11->display, scr)); -- if (w->size() != oldSize) { -+// if (w->size() != oldSize) { - QResizeEvent e(w->size(), oldSize); - QApplication::sendEvent(w, &e); - emit desktop()->resized(scr); -- } -+// } - } - #endif // QT_NO_XRANDR - diff --git a/x11-libs/qt-gui/files/0248-fix-qwidget-scroll-slowness.diff b/x11-libs/qt-gui/files/0248-fix-qwidget-scroll-slowness.diff deleted file mode 100644 index 37595052e85e..000000000000 --- a/x11-libs/qt-gui/files/0248-fix-qwidget-scroll-slowness.diff +++ /dev/null @@ -1,43 +0,0 @@ -qt-bugs@ issue : N227210 -Trolltech task ID : 228764 -bugs.kde.org number : 167739 -applied: no -author: Germain Garand <germain@ebooksfrance.org> - -QWidgetPrivate::scrollRect doesn't account for it's rect argument -but rather examine the whole widget surface when pondering if -it can apply accelerated blitting, resulting in unnecessarily slow -and non-blitting QWidget::scroll calls. - -A modified version of this patch is in Qt 4.5 - -Index: src/gui/painting/qbackingstore.cpp -=================================================================== ---- src/gui/painting/qbackingstore.cpp (révision 860438) -+++ src/gui/painting/qbackingstore.cpp (copie de travail) -@@ -523,7 +523,8 @@ - } - - bool overlapped = false; -- bool accelerateScroll = accelEnv && isOpaque() && !(overlapped = isOverlapped(data.crect)); -+ QRect cRect = clipRect(); -+ bool accelerateScroll = accelEnv && isOpaque() && !(overlapped = isOverlapped(rect & cRect)); - - #if defined(Q_WS_QWS) - QWSWindowSurface *surface; -@@ -558,13 +559,13 @@ - #ifdef Q_WS_QWS - QWSWindowSurface *surface = static_cast<QWSWindowSurface*>(wbs->windowSurface); - const QRegion clip = surface->clipRegion().translated(-toplevelOffset) -- & clipRect(); -+ & cRect; - const QRect scrollRect = rect & clip.boundingRect(); - const QRect destRect = scrollRect.translated(dx, dy) - & scrollRect - & clip.boundingRect(); - #else -- QRect scrollRect = rect & clipRect(); -+ QRect scrollRect = rect & cRect; - - QRect destRect = scrollRect.isValid() ? scrollRect.translated(dx,dy).intersected(scrollRect) : QRect(); - diff --git a/x11-libs/qt-gui/files/0254-fix-qgraphicsproxywidget-deletion-crash.diff b/x11-libs/qt-gui/files/0254-fix-qgraphicsproxywidget-deletion-crash.diff deleted file mode 100644 index 245a698acbbb..000000000000 --- a/x11-libs/qt-gui/files/0254-fix-qgraphicsproxywidget-deletion-crash.diff +++ /dev/null @@ -1,25 +0,0 @@ -qt-bugs@ issue : none -Trolltech task ID : None -applied: no -author: Alexis Menard <alexis.menard@trolltech.com> - -Fix deletion of a qgraphicsproxywidget if it is in a layout - -Will be included in 4.4.4 - -Index: src/gui/graphicsview/qgraphicsproxywidget.cpp -=================================================================== ---- src/gui/graphicsview/qgraphicsproxywidget.cpp (revision 863839) -+++ src/gui/graphicsview/qgraphicsproxywidget.cpp (working copy) -@@ -521,9 +521,8 @@ - { - Q_D(QGraphicsProxyWidget); - if (d->widget) { -- QWidget *w = d->widget; -- setWidget(0); -- delete w; -+ QObject::disconnect(d->widget, SIGNAL(destroyed()), this, SLOT(_q_removeWidgetSlot())); -+ delete d->widget; - } - } - diff --git a/x11-libs/qt-gui/files/0255-qtreeview-selection-columns-hidden.diff b/x11-libs/qt-gui/files/0255-qtreeview-selection-columns-hidden.diff deleted file mode 100644 index baf686ff9767..000000000000 --- a/x11-libs/qt-gui/files/0255-qtreeview-selection-columns-hidden.diff +++ /dev/null @@ -1,44 +0,0 @@ -qt-bugs@ issue : N232819 -Trolltech task ID : 232831 -applied: no -author: Rafael Fernández López <ereslibre@kde.org> - -In a treeview with columns like this: - -Column 1 | Column 2 | ... | Column k | ... | Column n - -When selecting with rubberband (by clicking on the blank part of the viewport) while Column k is -hidden, you get double items on the selection model, when asking for selection(). This is becase -ranges are incorrectly calculated when there are hidden columns. A way to reproduce: - -Column 1 | Column 2 | Column 4 (Column 3 is hidden) - item - item - item - x <- press button here and move it up to select items (on this same column) - -If you do like this: - -Column 1 | Column 2 | Column 4 (Column 3 is hidden) - item - item - item - x <- press button here and move it up - -you won't be able to reproduce, since you need the hidden column to be between the one you click and -the last one. The reason is that columnRanges returns two ranges when there is supposed to return 1 -range (even when there are hidden columns). - -diff --git a/src/gui/itemviews/qtreeview.cpp b/src/gui/itemviews/qtreeview.cpp -index d5ca633..b7975be 100644 ---- src/gui/itemviews/qtreeview.cpp -+++ src/gui/itemviews/qtreeview.cpp -@@ -3494,7 +3494,7 @@ QList<QPair<int, int> > QTreeViewPrivate::columnRanges(const QModelIndex &topInd - current.first = -2; // -1 is not enough because -1+1 = 0 - current.second = -2; - foreach(int logicalColumn, logicalIndexes) { -- if (current.second + 1 != logicalColumn) { -+ if (current.second + 1 != logicalColumn && !header->isSectionHidden(current.second + 1)) { - if (current.first != -2) { - //let's save the current one - ret += current; diff --git a/x11-libs/qt-gui/files/0256-fix-recursive-backingstore-sync-crash.diff b/x11-libs/qt-gui/files/0256-fix-recursive-backingstore-sync-crash.diff deleted file mode 100644 index 409ae8f99850..000000000000 --- a/x11-libs/qt-gui/files/0256-fix-recursive-backingstore-sync-crash.diff +++ /dev/null @@ -1,40 +0,0 @@ -qt-bugs@ issue : N227209 -Trolltech task ID : none yet -bugs.kde.org number : 174065 -applied: yes -author: Szymon Tomasz Stefanek <s.stefanek@gmail.com> - -This patch fixes a crash deep inside the qt painting engine. - -The toplevel shared painter is instantiated by the topmost window -which "owns" the backingstore buffer. The topmost window then recursively -asks the children to paint themselves with the shared painter. -With certain widget hierarchies it turns out that the topmost window -may be asked to paint itself deep inside the recursive painting stack: -a sort of "hierarchy-looping recursion". -The window will do the job and then happily destroy the shared -painter leaving the outer stack frames with a dangling pointer. - -This patch stops the "looping recursion" when it's triggered -with a shared painter already active. The bug doesn't seem to -be present in qt 4.5 snapshots, but in the meantime we need this fix. - - -Index: src/gui/painting/qbackingstore.cpp -=================================================================== ---- src/gui/painting/qbackingstore.cpp (revision 879741) -+++ src/gui/painting/qbackingstore.cpp (working copy) -@@ -987,8 +987,12 @@ - return; - } - -- if (tlw->updatesEnabled()) { -+ // With certain widget hierarchies we may end up being called recursively -+ // on the same toplevel. This is likely to explode once the painter is released -+ // in the code below (since there is no reference counting). Avoid it. -+ bool alreadyPainting = tlwExtra->sharedPainter && tlwExtra->sharedPainter->isActive(); - -+ if (tlw->updatesEnabled() && !alreadyPainting) { - // hw: XXX the toClean region is not correct if !dirtyWidgets.isEmpty() - - // Pre render config diff --git a/x11-libs/qt-gui/files/0258-windowsxpstyle-qbrush.diff b/x11-libs/qt-gui/files/0258-windowsxpstyle-qbrush.diff deleted file mode 100644 index 26dff6a5bb95..000000000000 --- a/x11-libs/qt-gui/files/0258-windowsxpstyle-qbrush.diff +++ /dev/null @@ -1,31 +0,0 @@ -qt-bugs@ issue : N234506 -Trolltech task ID : 234932 -applied: no -author: Patrick Spendrin <ps_ml@gmx.de> - -This makes windows style paint a frame and not a rect for QStyle::PE_Frame - -Index: src/gui/styles/qwindowsxpstyle.cpp -=================================================================== ---- src/gui/styles/qwindowsxpstyle.cpp (revision 880116) -+++ src/gui/styles/qwindowsxpstyle.cpp (working copy) -@@ -1426,16 +1426,19 @@ - COLORREF bcRef; - pGetThemeColor(theme.handle(), partId, stateId, TMT_BORDERCOLOR, &bcRef); - QColor bordercolor(qRgb(GetRValue(bcRef), GetGValue(bcRef), GetBValue(bcRef))); -+ QBrush oldBrush = p->brush(); - QPen oldPen = p->pen(); - // int borderSize = 1; - // pGetThemeInt(theme.handle(), partId, stateId, TMT_BORDERCOLOR, &borderSize); - - // Inner white border -+ p->setBrush(Qt::NoBrush); - p->setPen(QPen(option->palette.base().color(), 1)); - p->drawRect(option->rect.adjusted(1, 1, -2, -2)); - // Outer dark border - p->setPen(QPen(bordercolor, 1)); - p->drawRect(option->rect.adjusted(0, 0, -1, -1)); -+ p->setBrush(oldBrush); - p->setPen(oldPen); - return; - } else if (fillType == BT_NONE) { diff --git a/x11-libs/qt-gui/files/0260-fix-qgraphicswidget-deletionclearFocus.diff b/x11-libs/qt-gui/files/0260-fix-qgraphicswidget-deletionclearFocus.diff deleted file mode 100644 index 0ed6df1b12c1..000000000000 --- a/x11-libs/qt-gui/files/0260-fix-qgraphicswidget-deletionclearFocus.diff +++ /dev/null @@ -1,23 +0,0 @@ -qt-bugs@ issue : none -Trolltech task ID : None -applied: no -author: Alexis Menard <alexis.menard@trolltech.com> - -Fix deletion of a qgraphicswidget on clear focus even if it doesn't have the focus. - -Will be included in 4.4.4 - -Index: ../src/gui/graphicsview/qgraphicsitem.cpp -=================================================================== ---- src/gui/graphicsview/qgraphicsitem.cpp (revision 883124) -+++ src/gui/graphicsview/qgraphicsitem.cpp (working copy) -@@ -1951,7 +1951,7 @@ - */ - void QGraphicsItem::clearFocus() - { -- if (!d_ptr->scene || !hasFocus()) -+ if (!d_ptr->scene) - return; - if (d_ptr->isWidget) { - // Invisible widget items with focus must explicitly clear subfocus. - diff --git a/x11-libs/qt-gui/files/0261-sync-before-reset-errorhandler.patch b/x11-libs/qt-gui/files/0261-sync-before-reset-errorhandler.patch deleted file mode 100644 index 8a93a14bef3a..000000000000 --- a/x11-libs/qt-gui/files/0261-sync-before-reset-errorhandler.patch +++ /dev/null @@ -1,24 +0,0 @@ -qt-bugs@ issue : 236401 -Trolltech task ID : none -bugs.kde.org number : none -applied: no -author: Lubos Lunak <l.lunak@kde.org> - -Sync X connection before resetting X error handler to the one provided -by Xlib (which just aborts), in case there are still queued requests -that may result in an error. - -Included in Qt 4.5 - - ---- src/gui/kernel/qapplication_x11.cpp.sav 2008-10-20 21:07:11.000000000 +0200 -+++ src/gui/kernel/qapplication_x11.cpp 2008-11-25 15:02:31.000000000 +0100 -@@ -2312,6 +2312,8 @@ void qt_cleanup() - #endif - - // Reset the error handlers -+ if (qt_is_gui_used) -+ XSync(X11->display, False); // sync first to process all possible errors - XSetErrorHandler(original_x_errhandler); - XSetIOErrorHandler(original_xio_errhandler); - diff --git a/x11-libs/qt-gui/files/0262-fix-treeview-animation-crash.diff b/x11-libs/qt-gui/files/0262-fix-treeview-animation-crash.diff deleted file mode 100644 index c9e021536a1e..000000000000 --- a/x11-libs/qt-gui/files/0262-fix-treeview-animation-crash.diff +++ /dev/null @@ -1,46 +0,0 @@ -Trolltech task ID : 236454 -bugs.kde.org number : 176045 -applied: no -author: Olivier Goffart - -This patch makes sure no deleted items are being accessed during an animation of the treeview -It will also be contained in the upcoming Qt snapshots -Index: src/gui/itemviews/qtreeview.cpp -=================================================================== ---- src/gui/itemviews/qtreeview.cpp (revision 889029) -+++ src/gui/itemviews/qtreeview.cpp (working copy) -@@ -2802,10 +2802,9 @@ - q->setState(oldState); - - if (emitSignal) { -+ emit q->expanded(index); - if (animationsEnabled) - beginAnimatedOperation(); -- else -- emit q->expanded(index); - } - if (model->canFetchMore(index)) - model->fetchMore(index); -@@ -2843,10 +2842,9 @@ - q->setState(oldState); - - if (emitSignal) { -+ emit q->collapsed(modelIndex); - if (animationsEnabled) - beginAnimatedOperation(); -- else -- emit q->collapsed(modelIndex); - } - } - -@@ -2901,10 +2899,6 @@ - animatedOperation.before = QPixmap(); - animatedOperation.after = QPixmap(); - q->setState(QAbstractItemView::NoState); -- if (animatedOperation.type == AnimatedOperation::Expand) -- emit q->expanded(viewItems.at(animatedOperation.item).index); -- else // operation == AnimatedOperation::Collapse -- emit q->collapsed(viewItems.at(animatedOperation.item).index); - q->updateGeometries(); - viewport->update(); - } diff --git a/x11-libs/qt-gui/files/0263-fix-fontconfig-handling.diff b/x11-libs/qt-gui/files/0263-fix-fontconfig-handling.diff deleted file mode 100644 index 483cc93da1d8..000000000000 --- a/x11-libs/qt-gui/files/0263-fix-fontconfig-handling.diff +++ /dev/null @@ -1,32 +0,0 @@ -Trolltech task ID : none -bugs.kde.org number : none -applied: no -author: from Trolltech (fixed in Qt 4.5) - -Legacy font-name mappings are also applied when fontconfig is used, -which breaks fontconfig configuration in subtle ways (sans serif -is mapped to helvetica for example). Avoid this legacy substitution -when font config is used. - ---- src/gui/text/qfont.cpp -+++ src/gui/text/qfont.cpp -@@ -59,6 +59,7 @@ - - #ifdef Q_WS_X11 - #include "qx11info_x11.h" -+#include <private/qt_x11_p.h> - #endif - #ifdef Q_WS_QWS - #include "qscreen_qws.h" -@@ -1781,6 +1782,11 @@ static void initFontSubst() - if (!fontSubst->isEmpty()) - return; - -+#if defined(Q_WS_X11) && !defined(QT_NO_FONTCONFIG) -+ if (X11->has_fontconfig) -+ return; -+#endif -+ - for (int i=0; initTbl[i] != 0; i += 2) { - QStringList &list = (*fontSubst)[QString::fromLatin1(initTbl[i])]; - list.append(QString::fromLatin1(initTbl[i+1])); diff --git a/x11-libs/qt-gui/files/0264-fix-zero-height-qpixmap-isnull.diff b/x11-libs/qt-gui/files/0264-fix-zero-height-qpixmap-isnull.diff deleted file mode 100644 index 3f364f36e48b..000000000000 --- a/x11-libs/qt-gui/files/0264-fix-zero-height-qpixmap-isnull.diff +++ /dev/null @@ -1,47 +0,0 @@ -Trolltech task ID : 240752 -bugs.kde.org number : 179978 -applied: yes -author: Alex Merry <kde@randomguy3.me.uk> -os: unix - -QPixmap::isNull() depends on the width of the pixmap being set to 0 -when either the height or width parameters passed in were 0. But, on -X11 at least, this doesn't happen. This patch fixes that. - -Fixed in Qt 4.5 (identical fix, apart from the assigment is done in two lines). - -Test case: -============================== -#include <QApplication> -#include <QDebug> -#include <QPixmap> - -int main(int argc, char **argv) -{ - QApplication app(argc, argv); - QPixmap pm1(0, 8); - qWarning() << "Zero-width pixmap isNull():" << pm1.isNull(); - QPixmap pm2(8, 0); - qWarning() << "Zero-height pixmap isNull():" << pm2.isNull(); - return 0; -} -============================== -Test case result (without patch): -> Zero-width pixmap isNull(): true -> Zero-height pixmap isNull(): false -============================== - - - -Index: src/gui/image/qpixmap_x11.cpp -=================================================================== ---- src/gui/image/qpixmap_x11.cpp (revision 906157) -+++ src/gui/image/qpixmap_x11.cpp (working copy) -@@ -320,6 +320,7 @@ void QX11PixmapData::resize(int width, i - if (make_null || w < 0 || h < 0 || d == 0) { - hd = 0; - picture = 0; -+ w = h = 0; - if (!make_null) - qWarning("QPixmap: Invalid pixmap parameters"); - return; diff --git a/x11-libs/qt-gui/files/0265-fix-formlayoutcrash.diff b/x11-libs/qt-gui/files/0265-fix-formlayoutcrash.diff deleted file mode 100644 index f5985e4e302a..000000000000 --- a/x11-libs/qt-gui/files/0265-fix-formlayoutcrash.diff +++ /dev/null @@ -1,21 +0,0 @@ -qt-bugs@ issue : 177767 -Trolltech task ID : 240759 -applied: no -author: Alexis Menard <alexis.menard@trolltech.com> - -Fix a crash in QFormLayout when a layout is alone in a row -Included in 4.4.4 - -Index: src/gui/kernel/qlayoutitem.cpp -=================================================================== ---- src/gui/kernel/qlayoutitem.cpp (revision 910196) -+++ src/gui/kernel/qlayoutitem.cpp (working copy) -@@ -383,6 +383,8 @@ QSizePolicy::ControlTypes QLayoutItem::controlTypes() const - if (const QWidget *widget = const_cast<QLayoutItem*>(this)->widget()) { - return widget->sizePolicy().controlType(); - } else if (const QLayout *layout = const_cast<QLayoutItem*>(this)->layout()) { -+ if (layout->count() == 0) -+ return QSizePolicy::DefaultType; - QSizePolicy::ControlTypes types; - for (int i = layout->count() - 1; i >= 0; --i) - types |= layout->itemAt(i)->controlTypes(); diff --git a/x11-libs/qt-gui/files/0266-fix-focusChain1.diff b/x11-libs/qt-gui/files/0266-fix-focusChain1.diff deleted file mode 100644 index dfd828acbe73..000000000000 --- a/x11-libs/qt-gui/files/0266-fix-focusChain1.diff +++ /dev/null @@ -1,99 +0,0 @@ -Trolltech task ID : 225816 -KDE : 179287 -applied: no -author: Alexis Menard <alexis.menard@trolltech.com> - -Fix a crash in QGraphicsView with focus chain - -Included in 4.4.4 - -Index: src/gui/graphicsview/qgraphicsscene.cpp ---- src/gui/graphicsview/qgraphicsscene.cpp -+++ src/gui/graphicsview/qgraphicsscene.cpp -@@ -2156,10 +2156,12 @@ void QGraphicsScene::addItem(QGraphicsItem *item) - d->tabFocusFirst = widget; - } else if (!widget->parentWidget()) { - // Adding a widget that is not part of a tab focus chain. -- widget->d_func()->focusNext = d->tabFocusFirst; -- widget->d_func()->focusPrev = d->tabFocusFirst->d_func()->focusPrev; -- d->tabFocusFirst->d_func()->focusPrev->d_func()->focusNext = widget; -- d->tabFocusFirst->d_func()->focusPrev = widget; -+ QGraphicsWidget *last = d->tabFocusFirst->d_func()->focusPrev; -+ QGraphicsWidget *lastNew = widget->d_func()->focusPrev; -+ last->d_func()->focusNext = widget; -+ widget->d_func()->focusPrev = last; -+ d->tabFocusFirst->d_func()->focusPrev = lastNew; -+ lastNew->d_func()->focusNext = d->tabFocusFirst; - } - } - -@@ -2488,11 +2490,7 @@ void QGraphicsScene::removeItem(QGraphicsItem *item) - d->lastFocusItem = 0; - if (item == d->tabFocusFirst) { - QGraphicsWidget *widget = static_cast<QGraphicsWidget *>(item); -- widget->d_func()->focusPrev->d_func()->focusNext = widget->d_func()->focusNext; -- widget->d_func()->focusNext->d_func()->focusPrev = widget->d_func()->focusPrev; -- d->tabFocusFirst = widget->d_func()->focusNext; -- if (widget == d->tabFocusFirst) -- d->tabFocusFirst = 0; -+ widget->d_func()->fixFocusChainBeforeReparenting(0, 0); - } - if (item == d->activeWindow) { - // ### deactivate... -Index: src/gui/graphicsview/qgraphicsscene.h ---- src/gui/graphicsview/qgraphicsscene.h -+++ src/gui/graphicsview/qgraphicsscene.h -@@ -247,6 +247,7 @@ private: - friend class QGraphicsView; - friend class QGraphicsViewPrivate; - friend class QGraphicsWidget; -+ friend class QGraphicsWidgetPrivate; - }; - - Q_DECLARE_OPERATORS_FOR_FLAGS(QGraphicsScene::SceneLayers) -Index: src/gui/graphicsview/qgraphicswidget_p.cpp ---- src/gui/graphicsview/qgraphicswidget_p.cpp -+++ src/gui/graphicsview/qgraphicswidget_p.cpp -@@ -15,6 +15,7 @@ - - #include "qgraphicswidget_p.h" - #include "qgraphicslayout.h" -+#include "qgraphicsscene_p.h" - #include <QtGui/qapplication.h> - #include <QtGui/qgraphicsscene.h> - #include <QtGui/qstyleoption.h> -@@ -540,7 +541,7 @@ void QGraphicsWidgetPrivate::clearFocusWidget() - /** - * is called after a reparent has taken place to fix up the focus chain(s) - */ --void QGraphicsWidgetPrivate::fixFocusChainBeforeReparenting(QGraphicsWidget *newParent) -+void QGraphicsWidgetPrivate::fixFocusChainBeforeReparenting(QGraphicsWidget *newParent, QGraphicsScene *newScene) - { - Q_Q(QGraphicsWidget); - -@@ -589,6 +590,13 @@ void QGraphicsWidgetPrivate::fixFocusChainBeforeReparenting(QGraphicsWidget *new - firstOld->d_func()->focusPrev = o; - } - -+ // update tabFocusFirst for oldScene if the item is going to be removed from oldScene -+ if (newParent) -+ newScene = newParent->scene(); -+ QGraphicsScene *oldScene = q->scene(); -+ if (oldScene && newScene != oldScene) -+ oldScene->d_func()->tabFocusFirst = firstOld; -+ - QGraphicsItem *topLevelItem = newParent ? newParent->topLevelItem() : 0; - QGraphicsWidget *topLevel = 0; - if (topLevelItem && topLevelItem->isWidget()) -Index: src/gui/graphicsview/qgraphicswidget_p.h ---- src/gui/graphicsview/qgraphicswidget_p.h -+++ src/gui/graphicsview/qgraphicswidget_p.h -@@ -83,7 +83,7 @@ public: - void setLayoutItemMargins(qreal left, qreal top, qreal right, qreal bottom); - void setLayoutItemMargins(QStyle::SubElement element, const QStyleOption *opt = 0); - -- void fixFocusChainBeforeReparenting(QGraphicsWidget *newParent); -+ void fixFocusChainBeforeReparenting(QGraphicsWidget *newParent, QGraphicsScene *newScene = 0); - void setLayout_helper(QGraphicsLayout *l); - - qreal leftLayoutItemMargin; diff --git a/x11-libs/qt-gui/files/0267-fix-focusChain2.diff b/x11-libs/qt-gui/files/0267-fix-focusChain2.diff deleted file mode 100644 index 1ae78f8d7fb2..000000000000 --- a/x11-libs/qt-gui/files/0267-fix-focusChain2.diff +++ /dev/null @@ -1,109 +0,0 @@ -Trolltech task ID : 225816 -KDE : 179287 -applied: no -author: Alexis Menard <alexis.menard@trolltech.com> - -Fix a crash in QGraphicsView with focus chain - -Included in 4.4.4 - -Index: src/gui/graphicsview/qgraphicsscene.cpp ---- src/gui/graphicsview/qgraphicsscene.cpp -+++ src/gui/graphicsview/qgraphicsscene.cpp -@@ -580,12 +580,6 @@ void QGraphicsScenePrivate::_q_removeItemLater(QGraphicsItem *item) - focusItem = 0; - if (item == lastFocusItem) - lastFocusItem = 0; -- if (item == tabFocusFirst) { -- QGraphicsWidget *widget = static_cast<QGraphicsWidget *>(item); -- tabFocusFirst = widget->d_func()->focusNext; -- if (widget == tabFocusFirst) -- tabFocusFirst = 0; -- } - if (item == activeWindow) { - // ### deactivate... - activeWindow = 0; -@@ -2463,6 +2457,10 @@ void QGraphicsScene::removeItem(QGraphicsItem *item) - // destructor. - d->removeFromIndex(item); - -+ if (item == d->tabFocusFirst) { -+ QGraphicsWidget *widget = static_cast<QGraphicsWidget *>(item); -+ widget->d_func()->fixFocusChainBeforeReparenting(0, 0); -+ } - // Set the item's scene ptr to 0. - item->d_func()->scene = 0; - -@@ -2488,10 +2486,6 @@ void QGraphicsScene::removeItem(QGraphicsItem *item) - d->focusItem = 0; - if (item == d->lastFocusItem) - d->lastFocusItem = 0; -- if (item == d->tabFocusFirst) { -- QGraphicsWidget *widget = static_cast<QGraphicsWidget *>(item); -- widget->d_func()->fixFocusChainBeforeReparenting(0, 0); -- } - if (item == d->activeWindow) { - // ### deactivate... - d->activeWindow = 0; -Index: src/gui/graphicsview/qgraphicswidget.cpp ---- src/gui/graphicsview/qgraphicswidget.cpp -+++ src/gui/graphicsview/qgraphicswidget.cpp -@@ -179,6 +179,11 @@ QGraphicsWidget::QGraphicsWidget(QGraphicsWidgetPrivate &dd, QGraphicsItem *pare - QGraphicsWidget::~QGraphicsWidget() - { - Q_D(QGraphicsWidget); -+ if (QGraphicsScene *scn = scene()) { -+ QGraphicsScenePrivate *sceneD = scn->d_func(); -+ if (sceneD->tabFocusFirst == this) -+ sceneD->tabFocusFirst = (d->focusNext == this ? 0 : d->focusNext); -+ } - d->focusPrev->d_func()->focusNext = d->focusNext; - d->focusNext->d_func()->focusPrev = d->focusPrev; - -@@ -1897,18 +1902,25 @@ bool QGraphicsWidget::close() - #endif - - #if 0 --void QGraphicsWidget::dumpFocusChain(QGraphicsWidget *widget) -+void QGraphicsWidget::dumpFocusChain() - { - qDebug() << "=========== Dumping focus chain =============="; - int i = 0; -- QGraphicsWidget *fw = widget; -- QGraphicsWidget *next = fw; -- if (fw) { -- do { -- qDebug() << i++ << next->className() << next->data(0) << "focusItem:" << (static_cast<QGraphicsItem*>(next) == fw ? "true" : "false") << "next:" << next->d_func()->focusNext->data(0) << "prev:" << next->d_func()->focusPrev->data(0); -- next = next->d_func()->focusNext; -- } while (next != fw); -- } -+ QGraphicsWidget *next = this; -+ QSet<QGraphicsWidget*> visited; -+ do { -+ if (!next) { -+ qWarning("Found a focus chain that is not circular, (next == 0)"); -+ break; -+ } -+ qDebug() << i++ << QString::number(uint(next), 16) << next->className() << next->data(0) << QString::fromAscii("focusItem:%1").arg(next->hasFocus() ? "1" : "0") << QLatin1String("next:") << next->d_func()->focusNext->data(0) << QLatin1String("prev:") << next->d_func()->focusPrev->data(0); -+ if (visited.contains(next)) { -+ qWarning("Already visited this node. However, I expected to dump until I found myself."); -+ break; -+ } -+ visited << next; -+ next = next->d_func()->focusNext; -+ } while (next != this); - } - #endif - -Index: src/gui/graphicsview/qgraphicswidget.h ---- src/gui/graphicsview/qgraphicswidget.h -+++ src/gui/graphicsview/qgraphicswidget.h -@@ -115,7 +115,7 @@ public: - QPainterPath shape() const; - - #if 0 -- static void dumpFocusChain(QGraphicsWidget *widget); -+ static void dumpFocusChain(); - #endif - - // ### Qt 5: Disambiguate diff --git a/x11-libs/qt-gui/files/qt-gui-4.5.1-0282-fix-qpixmapcache-leak.diff b/x11-libs/qt-gui/files/qt-gui-4.5.1-0282-fix-qpixmapcache-leak.diff deleted file mode 100644 index 7de6c9d7a1a0..000000000000 --- a/x11-libs/qt-gui/files/qt-gui-4.5.1-0282-fix-qpixmapcache-leak.diff +++ /dev/null @@ -1,25 +0,0 @@ -qt-bugs@ issue : none -Qt Software task ID : none -bugs.kde.org number : 183191 -applied: yes -author: Alexis Menard <alexis.menard@nokia.com> - -Make sure that QPixmapCache release the old pixmap if -you reinsert a QPixmap with the same key. - -This patch is already in 4.5 branch. - ---- src/gui/image/qpixmapcache.cpp -+++ src/gui/image/qpixmapcache.cpp -@@ -187,6 +187,11 @@ bool QPMCache::insert(const QString& key, const QPixmap &pixmap, int cost) - cacheKeys.insert(key, cacheKey); - return true; - } -+ qint64 oldCacheKey = cacheKeys.value(key, -1); -+ //If for the same key we add already a pixmap we should delete it -+ if (oldCacheKey != -1) -+ QCache<qint64, QDetachedPixmap>::remove(oldCacheKey); -+ - bool success = QCache<qint64, QDetachedPixmap>::insert(cacheKey, new QDetachedPixmap(pixmap), cost); - if (success) { - cacheKeys.insert(key, cacheKey); diff --git a/x11-libs/qt-gui/files/qt-gui-4.5.1-ppc-pixmap-fix-backport-196152.patch b/x11-libs/qt-gui/files/qt-gui-4.5.1-ppc-pixmap-fix-backport-196152.patch deleted file mode 100644 index 00583c5608a2..000000000000 --- a/x11-libs/qt-gui/files/qt-gui-4.5.1-ppc-pixmap-fix-backport-196152.patch +++ /dev/null @@ -1,11 +0,0 @@ ---- a/src/gui/image/qpixmap_x11.cpp -+++ b/src/gui/image/qpixmap_x11.cpp -@@ -1437,7 +1437,7 @@ - - // we may have to swap the byte order - if ((QSysInfo::ByteOrder == QSysInfo::LittleEndian && xi->byte_order == MSBFirst) -- || (QSysInfo::ByteOrder == QSysInfo::BigEndian)) -+ || (QSysInfo::ByteOrder == QSysInfo::BigEndian && xi->byte_order == LSBFirst)) - { - for (int i=0; i < image.height(); i++) { - uint *p = (uint*)image.scanLine(i); diff --git a/x11-libs/qt-gui/files/qt-gui-4.5.2-x11-timestamp.patch b/x11-libs/qt-gui/files/qt-gui-4.5.2-x11-timestamp.patch deleted file mode 100644 index 696e8a83415b..000000000000 --- a/x11-libs/qt-gui/files/qt-gui-4.5.2-x11-timestamp.patch +++ /dev/null @@ -1,92 +0,0 @@ -From 9e5fa633913ef952ca4ef5312fe396bcfc885321 Mon Sep 17 00:00:00 2001 -From: Denis Dzyubenko <denis.dzyubenko@nokia.com> -Date: Wed, 22 Jul 2009 17:12:17 +0200 -Subject: [PATCH] Revert "Added a check that X11 timestamp goes forward only." - -In some cases we might get an invalid timestamp that is far away in -the future, so remembering it will break all consequent X calls that -require a timestamp because it just contains junk (for example -clipboard will stop working). This happens with XIM+SCIM pair - -whenever we start input method and type something to the widget, we -get a XKeyPress event with a commited string, however the 'serial' and -'time' members of the XEvent structure are not initialized (according -to valgrind) and contain junk. - -This reverts commit 2ed015b8a0ffad63f0f59b0e2255057f416895fb. - -Reviewed-By: Brad ---- - src/gui/kernel/qapplication_x11.cpp | 35 +++++++++++++++-------------------- - 1 files changed, 15 insertions(+), 20 deletions(-) - -diff --git a/src/gui/kernel/qapplication_x11.cpp b/src/gui/kernel/qapplication_x11.cpp -index 163ceb6..abedfd6 100644 ---- a/src/gui/kernel/qapplication_x11.cpp -+++ b/src/gui/kernel/qapplication_x11.cpp -@@ -3142,48 +3142,43 @@ int QApplication::x11ProcessEvent(XEvent* event) - #ifdef ALIEN_DEBUG - //qDebug() << "QApplication::x11ProcessEvent:" << event->type; - #endif -- Time time = 0, userTime = 0; - switch (event->type) { - case ButtonPress: - pressed_window = event->xbutton.window; -- userTime = event->xbutton.time; -+ X11->userTime = event->xbutton.time; - // fallthrough intended - case ButtonRelease: -- time = event->xbutton.time; -+ X11->time = event->xbutton.time; - break; - case MotionNotify: -- time = event->xmotion.time; -+ X11->time = event->xmotion.time; - break; - case XKeyPress: -- userTime = event->xkey.time; -+ X11->userTime = event->xkey.time; - // fallthrough intended - case XKeyRelease: -- time = event->xkey.time; -+ X11->time = event->xkey.time; - break; - case PropertyNotify: -- time = event->xproperty.time; -+ X11->time = event->xproperty.time; - break; - case EnterNotify: - case LeaveNotify: -- time = event->xcrossing.time; -+ X11->time = event->xcrossing.time; - break; - case SelectionClear: -- time = event->xselectionclear.time; -+ X11->time = event->xselectionclear.time; - break; - default: --#ifndef QT_NO_XFIXES -- if (X11->use_xfixes && event->type == (X11->xfixes_eventbase + XFixesSelectionNotify)) { -- XFixesSelectionNotifyEvent *req = -- reinterpret_cast<XFixesSelectionNotifyEvent *>(event); -- time = req->selection_timestamp; -- } --#endif - break; - } -- if (time > X11->time) -- X11->time = time; -- if (userTime > X11->userTime) -- X11->userTime = userTime; -+#ifndef QT_NO_XFIXES -+ if (X11->use_xfixes && event->type == (X11->xfixes_eventbase + XFixesSelectionNotify)) { -+ XFixesSelectionNotifyEvent *req = -+ reinterpret_cast<XFixesSelectionNotifyEvent *>(event); -+ X11->time = req->selection_timestamp; -+ } -+#endif - - QETWidget *widget = (QETWidget*)QWidget::find((WId)event->xany.window); - --- -1.6.1 - diff --git a/x11-libs/qt-webkit/ChangeLog b/x11-libs/qt-webkit/ChangeLog index c686e4583c06..146fe9433342 100644 --- a/x11-libs/qt-webkit/ChangeLog +++ b/x11-libs/qt-webkit/ChangeLog @@ -1,6 +1,11 @@ # ChangeLog for x11-libs/qt-webkit # Copyright 1999-2009 Gentoo Foundation; Distributed under the GPL v2 -# $Header: /var/cvsroot/gentoo-x86/x11-libs/qt-webkit/ChangeLog,v 1.66 2009/11/11 14:31:53 yngwin Exp $ +# $Header: /var/cvsroot/gentoo-x86/x11-libs/qt-webkit/ChangeLog,v 1.67 2009/11/16 04:54:48 abcd Exp $ + + 16 Nov 2009; Jonathan Callen <abcd@gentoo.org> + -files/0249-webkit-stale-frame-pointer.diff, + -files/webkit-CVE-2009-1725.patch: + Drop unused files 11 Nov 2009; Ben de Groot <yngwin@gentoo.org> -qt-webkit-4.4.2-r1.ebuild, -qt-webkit-4.4.2-r2.ebuild, -qt-webkit-4.5.1.ebuild, diff --git a/x11-libs/qt-webkit/files/0249-webkit-stale-frame-pointer.diff b/x11-libs/qt-webkit/files/0249-webkit-stale-frame-pointer.diff deleted file mode 100644 index d4173c457b97..000000000000 --- a/x11-libs/qt-webkit/files/0249-webkit-stale-frame-pointer.diff +++ /dev/null @@ -1,161 +0,0 @@ -qt-bugs@ issue : none yet -Trolltech task ID : none yet -bugs.kde.org number : none -applied: no -author: Apple - -this fixes CVE-2008-3632: - -Use-after-free vulnerability in WebKit in Apple iPod touch 1.1 through 2.0.2, -and iPhone 1.0 through 2.0.2, allows remote attackers to execute arbitrary code -or cause a denial of service (application crash) via a web page with crafted -Cascading Style Sheets (CSS) import statements. - - ---- src/3rdparty/webkit/WebCore/dom/Document.cpp -+++ src/3rdparty/webkit/WebCore/dom/Document.cpp -@@ -291,9 +291,8 @@ - m_renderArena = 0; - - m_axObjectCache = 0; -- -- // FIXME: DocLoader probably no longer needs the frame argument -- m_docLoader = new DocLoader(frame, this); -+ -+ m_docLoader = new DocLoader(this); - - visuallyOrdered = false; - m_bParsing = false; -@@ -1169,15 +1168,23 @@ - if (render) - render->destroy(); - -- // FIXME: is this needed or desirable? -- m_frame = 0; -- -+ // This is required, as our Frame might delete itself as soon as it detaches -+ // us. However, this violates Node::detach() symantics, as it's never -+ // possible to re-attach. Eventually Document::detach() should be renamed -+ // or this call made explicit in each of the callers of Document::detach(). -+ clearFramePointer(); -+ - if (m_renderArena) { - delete m_renderArena; - m_renderArena = 0; - } - } - -+void Document::clearFramePointer() -+{ -+ m_frame = 0; -+} -+ - void Document::removeAllEventListenersFromAllNodes() - { - m_windowEventListeners.clear(); ---- src/3rdparty/webkit/WebCore/dom/Document.h -+++ src/3rdparty/webkit/WebCore/dom/Document.h -@@ -344,6 +344,8 @@ - virtual void attach(); - virtual void detach(); - -+ void clearFramePointer(); -+ - RenderArena* renderArena() { return m_renderArena; } - - AXObjectCache* axObjectCache() const; ---- src/3rdparty/webkit/WebCore/loader/DocLoader.cpp -+++ src/3rdparty/webkit/WebCore/loader/DocLoader.cpp -@@ -40,10 +40,9 @@ - - namespace WebCore { - --DocLoader::DocLoader(Frame *frame, Document* doc) -+DocLoader::DocLoader(Document* doc) - : m_cache(cache()) - , m_cachePolicy(CachePolicyVerify) -- , m_frame(frame) - , m_doc(doc) - , m_requestCount(0) - , m_autoLoadImages(true) -@@ -53,6 +52,11 @@ - m_cache->addDocLoader(this); - } - -+Frame* DocLoader::frame() const -+{ -+ return m_doc->frame(); -+} -+ - DocLoader::~DocLoader() - { - HashMap<String, CachedResource*>::iterator end = m_docResources.end(); -@@ -146,7 +150,7 @@ - } - } - -- if (m_frame && m_frame->loader()->isReloading()) -+ if (frame() && frame()->loader()->isReloading()) - setCachePolicy(CachePolicyReload); - - checkForReload(fullURL); -@@ -197,8 +201,8 @@ - void DocLoader::setLoadInProgress(bool load) - { - m_loadInProgress = load; -- if (!load && m_frame) -- m_frame->loader()->loadDone(); -+ if (!load && frame()) -+ frame()->loader()->loadDone(); - } - - void DocLoader::checkCacheObjectStatus(CachedResource* resource) -@@ -217,7 +221,7 @@ - } - - // Notify the caller that we "loaded". -- if (!m_frame || m_frame->loader()->haveToldBridgeAboutLoad(resource->url())) -+ if (!frame() || frame()->loader()->haveToldBridgeAboutLoad(resource->url())) - return; - - ResourceRequest request(resource->url()); -@@ -226,9 +230,9 @@ - - if (resource->sendResourceLoadCallbacks()) { - // FIXME: If the WebKit client changes or cancels the request, WebCore does not respect this and continues the load. -- m_frame->loader()->loadedResourceFromMemoryCache(request, response, data ? data->size() : 0); -+ frame()->loader()->loadedResourceFromMemoryCache(request, response, data ? data->size() : 0); - } -- m_frame->loader()->didTellBridgeAboutLoad(resource->url()); -+ frame()->loader()->didTellBridgeAboutLoad(resource->url()); - } - - void DocLoader::incrementRequestCount() ---- src/3rdparty/webkit/WebCore/loader/DocLoader.h -+++ src/3rdparty/webkit/WebCore/loader/DocLoader.h -@@ -49,7 +49,7 @@ - friend class HTMLImageLoader; - - public: -- DocLoader(Frame*, Document*); -+ DocLoader(Document*); - ~DocLoader(); - - CachedImage* requestImage(const String& url); -@@ -73,7 +73,7 @@ - CachePolicy cachePolicy() const { return m_cachePolicy; } - void setCachePolicy(CachePolicy); - -- Frame* frame() const { return m_frame; } -+ Frame* frame() const; // Can be NULL - Document* doc() const { return m_doc; } - - void removeCachedResource(CachedResource*) const; -@@ -100,7 +100,6 @@ - HashSet<String> m_reloadedURLs; - mutable HashMap<String, CachedResource*> m_docResources; - CachePolicy m_cachePolicy; -- Frame* m_frame; - Document *m_doc; - - int m_requestCount; diff --git a/x11-libs/qt-webkit/files/webkit-CVE-2009-1725.patch b/x11-libs/qt-webkit/files/webkit-CVE-2009-1725.patch deleted file mode 100644 index 80e45ad9770c..000000000000 --- a/x11-libs/qt-webkit/files/webkit-CVE-2009-1725.patch +++ /dev/null @@ -1,22 +0,0 @@ -Index: master/src/3rdparty/webkit/WebCore/html/HTMLTokenizer.cpp -=================================================================== ---- a/master/src/3rdparty/webkit/WebCore/html/HTMLTokenizer.cpp -+++ b/master/src/3rdparty/webkit/WebCore/html/HTMLTokenizer.cpp -@@ -865,5 +865,7 @@ - } else { - // FIXME: We should eventually colorize entities by sending them as a special token. -- checkBuffer(11); -+ // 12 bytes required: up to 10 bytes in m_cBuffer plus the -+ // leading '&' and trailing ';' -+ checkBuffer(12); - *dest++ = '&'; - for (unsigned i = 0; i < cBufferPos; i++) -@@ -876,5 +878,7 @@ - } - } else { -- checkBuffer(10); -+ // 11 bytes required: up to 10 bytes in m_cBuffer plus the -+ // leading '&' -+ checkBuffer(11); - // ignore the sequence, add it to the buffer as plaintext - *dest++ = '&'; |