diff options
Diffstat (limited to 'debian/patches')
58 files changed, 602 insertions, 704 deletions
diff --git a/debian/patches/0001_webkit_backround_in_scrollbars_webkit-5b0ea6b840a6e25e97b886e1852c3fc6ef8e8d0d.diff b/debian/patches/0001_webkit_backround_in_scrollbars_webkit-5b0ea6b840a6e25e97b886e1852c3fc6ef8e8d0d.diff deleted file mode 100644 index 5e3195c..0000000 --- a/debian/patches/0001_webkit_backround_in_scrollbars_webkit-5b0ea6b840a6e25e97b886e1852c3fc6ef8e8d0d.diff +++ /dev/null @@ -1,42 +0,0 @@ -This is expected to be in 4.4.2 - - -From: Tor Arne Vestbø <tavestbo@trolltech.com> -Date: Tue, 10 Jun 2008 16:04:06 +0000 (+0200) -Subject: Fill the background of scrollbars to the window color before -X-Git-Url: http://code.staikos.net/cgi-bin/gitweb.cgi?p=webkit;a=commitdiff_plain;h=5b0ea6b840a6e25e97b886e1852c3fc6ef8e8d0d - -Fill the background of scrollbars to the window color before -letting the QStyle paint its primitive elements. - -Signed-off-by: Simon ---- - -+2008-06-10 Tor Arne Vestbø <tavestbo@trolltech.com> -+ -+ Reviewed by Simon -+ -+ Fill the background of scrollbars to the window color before -+ letting the QStyle paint its primitive elements. -+ -+ * platform/qt/PlatformScrollBarQt.cpp: -+ (WebCore::PlatformScrollbar::paint): -+ - 2008-05-30 Adam Treat <treat@kde.org> - - Reviewed by Simon. -diff --git a/WebCore/platform/qt/PlatformScrollBarQt.cpp b/WebCore/platform/qt/PlatformScrollBarQt.cpp -index 66063eb..c7f5bdd 100644 ---- a/src/3rdparty/webkit/WebCore/platform/qt/PlatformScrollBarQt.cpp -+++ b/src/3rdparty/webkit/WebCore/platform/qt/PlatformScrollBarQt.cpp -@@ -183,6 +183,10 @@ void PlatformScrollbar::paint(GraphicsContext* graphicsContext, const IntRect& d - #else - p->translate(topLeft); - m_opt.rect.moveTo(QPoint(0, 0)); -+ -+ // The QStyle expects the background to be already filled -+ p->fillRect(m_opt.rect, m_opt.palette.background()); -+ - QApplication::style()->drawComplexControl(QStyle::CC_ScrollBar, &m_opt, p, 0); - m_opt.rect.moveTo(topLeft); - #endif diff --git a/debian/patches/0002_https_lowercase.cpp b/debian/patches/0002_https_lowercase.cpp deleted file mode 100644 index 3c900d4..0000000 --- a/debian/patches/0002_https_lowercase.cpp +++ /dev/null @@ -1,35 +0,0 @@ -Fetched from 4.4.2 -treat Https, HTtps, hTTps, ... as https as well - -Index: b/src/network/access/qnetworkaccesshttpbackend.cpp -=================================================================== ---- a/src/network/access/qnetworkaccesshttpbackend.cpp -+++ b/src/network/access/qnetworkaccesshttpbackend.cpp -@@ -64,7 +64,7 @@ - static QByteArray makeCacheKey(const QUrl &url) - { - QUrl copy = url; -- bool isEncrypted = url.scheme() == QLatin1String("https"); -+ bool isEncrypted = url.scheme().toLower() == QLatin1String("https"); - copy.setPort(url.port(isEncrypted ? DefaultHttpsPort : DefaultHttpPort)); - return "http-connection:" + copy.toEncoded(QUrl::RemovePassword | QUrl::RemovePath | - QUrl::RemoveQuery | QUrl::RemoveFragment); -@@ -88,7 +88,8 @@ - } - - QUrl url = request.url(); -- if (url.scheme() == QLatin1String("http") || url.scheme() == QLatin1String("https")) -+ QString scheme = url.scheme().lower(); -+ if (scheme == QLatin1String("http") || scheme == QLatin1String("https")) - return new QNetworkAccessHttpBackend; - - return 0; -@@ -309,7 +310,7 @@ - void QNetworkAccessHttpBackend::open() - { - QUrl url = request().url(); -- bool encrypt = url.scheme() == QLatin1String("https"); -+ bool encrypt = url.scheme().toLower() == QLatin1String("https"); - setAttribute(QNetworkRequest::ConnectionEncryptedAttribute, encrypt); - - // set the port number in the reply if it wasn't set diff --git a/debian/patches/0167-fix-group-reading.diff b/debian/patches/0167-fix-group-reading.diff index c7080d5..60e2efc 100644 --- a/debian/patches/0167-fix-group-reading.diff +++ b/debian/patches/0167-fix-group-reading.diff @@ -9,23 +9,20 @@ Try a bit harder. --- a/src/corelib/io/qfsfileengine_unix.cpp +++ b/src/corelib/io/qfsfileengine_unix.cpp -@@ -829,9 +829,16 @@ - } else if (own == OwnerGroup) { - struct group *gr = 0; - #if !defined(QT_NO_THREAD) && defined(_POSIX_THREAD_SAFE_FUNCTIONS) && !defined(Q_OS_OPENBSD) -- buf.resize(sysconf(_SC_GETGR_R_SIZE_MAX)); +@@ -857,9 +857,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 (unsigned size = sysconf(_SC_GETGR_R_SIZE_MAX); size < 256000; size += size) -+ { -+ buf.resize(size); ++ for (;size_max < 256000; size_max += size_max) { ++ buf.resize(size_max); + struct group entry; -+ // ERANGE indicates that the buffer was too small -+ if (!getgrgid_r(ownerId(own), &entry, buf.data(), buf.size(), &gr) -+ || errno != ERANGE) ++ if (!getgrgid_r(ownerId(own), &entry, buf.data(), buf.size(), &gr) || errno != ERANGE) + break; -+ } + ++ } #else gr = getgrgid(ownerId(own)); #endif diff --git a/debian/patches/0180-window-role.diff b/debian/patches/0180-window-role.diff index bbd2900..a26ef89 100644 --- a/debian/patches/0180-window-role.diff +++ b/debian/patches/0180-window-role.diff @@ -14,7 +14,7 @@ this makes the window role set in many cases (which KWin uses for window identif --- a/src/corelib/kernel/qobject.cpp +++ b/src/corelib/kernel/qobject.cpp -@@ -1016,9 +1016,18 @@ +@@ -1037,9 +1037,18 @@ { Q_D(QObject); d->objectName = name; @@ -47,7 +47,7 @@ this makes the window role set in many cases (which KWin uses for window identif struct Connection --- a/src/gui/kernel/qwidget_p.h +++ b/src/gui/kernel/qwidget_p.h -@@ -328,6 +328,7 @@ +@@ -333,6 +333,7 @@ #if defined(Q_WS_X11) void setWindowRole(); @@ -57,7 +57,7 @@ this makes the window role set in many cases (which KWin uses for window identif #endif --- a/src/gui/kernel/qwidget_x11.cpp +++ b/src/gui/kernel/qwidget_x11.cpp -@@ -714,13 +714,17 @@ +@@ -719,13 +719,17 @@ data.fstrut_dirty = 1; // declare the widget's window role @@ -81,7 +81,7 @@ this makes the window role set in many cases (which KWin uses for window identif } // set client leader property -@@ -2857,6 +2861,17 @@ +@@ -2719,6 +2723,17 @@ (unsigned char *)windowRole.constData(), windowRole.length()); } diff --git a/debian/patches/0195-compositing-properties.diff b/debian/patches/0195-compositing-properties.diff index 3e9c2be..1e5b453 100644 --- a/debian/patches/0195-compositing-properties.diff +++ b/debian/patches/0195-compositing-properties.diff @@ -9,7 +9,7 @@ so they can be used when compositing. --- a/src/gui/kernel/qwidget_x11.cpp +++ b/src/gui/kernel/qwidget_x11.cpp -@@ -657,6 +657,11 @@ +@@ -662,6 +662,11 @@ Q_ASSERT(id); XChangeWindowAttributes(dpy, id, CWOverrideRedirect | CWSaveUnder, &wsa); @@ -21,7 +21,7 @@ so they can be used when compositing. } else if (topLevel && !desktop) { // top-level widget if (!X11->wm_client_leader) create_wm_client_leader(); -@@ -705,13 +710,21 @@ +@@ -710,13 +715,21 @@ // set EWMH window types setNetWmWindowTypes(); @@ -45,7 +45,7 @@ so they can be used when compositing. // declare the widget's window role QByteArray windowRole; -@@ -731,10 +744,6 @@ +@@ -736,10 +749,6 @@ XChangeProperty(dpy, id, ATOM(WM_CLIENT_LEADER), XA_WINDOW, 32, PropModeReplace, (unsigned char *)&X11->wm_client_leader, 1); diff --git a/debian/patches/01_qmake_for_debian.diff b/debian/patches/01_qmake_for_debian.diff index d03f635..24b2893 100644 --- a/debian/patches/01_qmake_for_debian.diff +++ b/debian/patches/01_qmake_for_debian.diff @@ -4,7 +4,7 @@ Ensures qmake generates Makefiles that use the -qt4 tools. --- a/mkspecs/common/linux.conf +++ b/mkspecs/common/linux.conf -@@ -23,8 +23,8 @@ +@@ -23,8 +23,8 @@ QMAKE_LIBS_OPENGL = -lGLU -lGL QMAKE_LIBS_OPENGL_QT = -lGL QMAKE_LIBS_THREAD = -lpthread diff --git a/debian/patches/0203-qtexthtmlparser-link-color.diff b/debian/patches/0203-qtexthtmlparser-link-color.diff index 4584160..54b6dca 100644 --- a/debian/patches/0203-qtexthtmlparser-link-color.diff +++ b/debian/patches/0203-qtexthtmlparser-link-color.diff @@ -1,5 +1,5 @@ qt-bugs@ issue : N190509 -Trolltech task ID : 190904 +Trolltech task ID : 190904 (Status: closed; Version fix: 4.5.0) applied: no author: Rafael Fernández López <ereslibre@kde.org> @@ -7,7 +7,7 @@ Links are assigned a foreground color according to the system current color sche --- a/src/gui/text/qtexthtmlparser.cpp +++ b/src/gui/text/qtexthtmlparser.cpp -@@ -1053,7 +1053,7 @@ +@@ -1056,7 +1056,7 @@ && !attributes.at(i + 1).isEmpty()) { hasHref = true; charFormat.setUnderlineStyle(QTextCharFormat::SingleUnderline); diff --git a/debian/patches/0210-fix-crash-q3stylesheet-font-size.diff b/debian/patches/0210-fix-crash-q3stylesheet-font-size.diff deleted file mode 100644 index 338478b..0000000 --- a/debian/patches/0210-fix-crash-q3stylesheet-font-size.diff +++ /dev/null @@ -1,24 +0,0 @@ -qt-bugs@ issue : 197621 -Trolltech task ID : 197836 -bugs.kde.org number : none -applied: no -author: Montel Laurent <montel@kde.org> - -This patch fixes crashs in q3stylesheet (it was possible to -use a qfont size < 1) -Bug reported to TT with this patch. - ---- a/src/qt3support/text/q3stylesheet.cpp -+++ b/src/qt3support/text/q3stylesheet.cpp -@@ -1463,9 +1463,9 @@ - s = baseSize; - } - if (pixel) -- font.setPixelSize(s); -+ font.setPixelSize(qMax(1,s)); - else -- font.setPointSize(s); -+ font.setPointSize(qMax(1,s)); - } - - QT_END_NAMESPACE diff --git a/debian/patches/0214-fix-qgraphicsproxywidget-tab-crash.diff b/debian/patches/0214-fix-qgraphicsproxywidget-tab-crash.diff deleted file mode 100644 index 5a4e01b..0000000 --- a/debian/patches/0214-fix-qgraphicsproxywidget-tab-crash.diff +++ /dev/null @@ -1,23 +0,0 @@ -qt-bugs@ issue : N199058 -Trolltech task ID : none -applied: no -author: Frerich Raabe <raabe@kde.org> - -Fixes a crash in QGraphicsProxyWidget which was triggered when no -QGraphicsProxyWidget item in a QGraphicsScene had a QWidget associated -with it. As soon as the user pressed <Tab>, QGraphicsProxyWidget -attempted to give the focus to *some* QWidget (even if it was null). - ---- a/src/gui/graphicsview/qgraphicsproxywidget.cpp -+++ b/src/gui/graphicsview/qgraphicsproxywidget.cpp -@@ -376,6 +376,10 @@ - } - } - -+ if (!child) { -+ return 0; -+ } -+ - QWidget *oldChild = child; - do { - if (child->isEnabled() diff --git a/debian/patches/0216-allow-isystem-for-headers.diff b/debian/patches/0216-allow-isystem-for-headers.diff index b6b2dbc..7e1d1dd 100644 --- a/debian/patches/0216-allow-isystem-for-headers.diff +++ b/debian/patches/0216-allow-isystem-for-headers.diff @@ -24,7 +24,7 @@ directory at the end of the compiler's header search path. --- a/configure +++ b/configure -@@ -829,6 +829,11 @@ +@@ -833,6 +833,11 @@ VAL=`echo $1 | sed 's,-D,,'` fi ;; @@ -36,7 +36,7 @@ directory at the end of the compiler's header search path. -I?*|-I) VAR="add_ipath" if [ "$1" = "-I" ]; then -@@ -1725,6 +1730,9 @@ +@@ -1740,6 +1745,9 @@ add_ipath) I_FLAGS="$I_FLAGS -I\"${VAL}\"" ;; diff --git a/debian/patches/0220-no-x-recursion-in-xerrhandler.diff b/debian/patches/0220-no-x-recursion-in-xerrhandler.diff deleted file mode 100644 index d756124..0000000 --- a/debian/patches/0220-no-x-recursion-in-xerrhandler.diff +++ /dev/null @@ -1,47 +0,0 @@ -qt-bugs@ issue : 205699 -Trolltech task ID : none yet -bugs.kde.org number : none -applied: no -author: Lubos Lunak <l.lunak@kde.org> -os: unix - -X error handler is not allowed to do X protocol requests. Therefore e.g. creating -QDragManager instance should not be allowed in it, as it results in things like -creating X pixmaps. See https://bugzilla.novell.com/show_bug.cgi?id=368456. - ---- a/src/gui/kernel/qdnd_x11.cpp -+++ b/src/gui/kernel/qdnd_x11.cpp -@@ -1700,21 +1700,23 @@ - - bool QX11Data::xdndHandleBadwindow() - { -- QDragManager *manager = QDragManager::self(); -- if (manager->object && qt_xdnd_current_target) { -- qt_xdnd_current_target = 0; -- qt_xdnd_current_proxy_target = 0; -- manager->object->deleteLater(); -- manager->object = 0; -- delete xdnd_data.deco; -- xdnd_data.deco = 0; -- return true; -+ if (qt_xdnd_current_target) { // avoid possibly on-demand creating the manager in X error handler -+ QDragManager *manager = QDragManager::self(); -+ if (manager->object) { -+ qt_xdnd_current_target = 0; -+ qt_xdnd_current_proxy_target = 0; -+ manager->object->deleteLater(); -+ manager->object = 0; -+ xdnd_data.deco->deleteLater(); -+ xdnd_data.deco = 0; -+ return true; -+ } - } - if (qt_xdnd_dragsource_xid) { - qt_xdnd_dragsource_xid = 0; - if (qt_xdnd_current_widget) { - QDragLeaveEvent e; -- QApplication::sendEvent(qt_xdnd_current_widget, &e); -+ QApplication::postEvent(qt_xdnd_current_widget, &e); - qt_xdnd_current_widget = 0; - } - return true; diff --git a/debian/patches/0223-fix-qpixmap-hasalpha.diff b/debian/patches/0223-fix-qpixmap-hasalpha.diff deleted file mode 100644 index 5e7a058..0000000 --- a/debian/patches/0223-fix-qpixmap-hasalpha.diff +++ /dev/null @@ -1,26 +0,0 @@ -qt-bugs@ issue : N206173 -Trolltech task ID : 206174 -bugs.kde.org number : none -applied: no -author: Fredrik Höglund <fredrik@kde.org> - -Calling data->mask() in a pixmap that has an alpha channel causes -the mask to be generated from the alpha channel. This is a very -expensive operation, and completely unecessary in this case since -the generated bitmap is immediately discarded. - -Fix the issue by reversing the order of the tests in the return -statement, so the function returns true if the pixmap has an alpha -channel, without generating the mask. - ---- a/src/gui/image/qpixmap.cpp -+++ b/src/gui/image/qpixmap.cpp -@@ -1661,7 +1661,7 @@ - */ - bool QPixmap::hasAlpha() const - { -- return (!data->mask().isNull() || data->hasAlphaChannel()); -+ return (data->hasAlphaChannel() || !data->mask().isNull()); - } - - /*! diff --git a/debian/patches/0224-fast-qpixmap-fill.diff b/debian/patches/0224-fast-qpixmap-fill.diff index 6e6c5c6..1fc721f 100644 --- a/debian/patches/0224-fast-qpixmap-fill.diff +++ b/debian/patches/0224-fast-qpixmap-fill.diff @@ -16,7 +16,7 @@ fill server side. --- a/src/gui/image/qpixmap_x11.cpp +++ b/src/gui/image/qpixmap_x11.cpp -@@ -1107,7 +1107,26 @@ +@@ -1121,7 +1121,26 @@ { if (fillColor.alpha() != 255) { #ifndef QT_NO_XRENDER diff --git a/debian/patches/0225-invalidate-tabbar-geometry-on-refresh.diff b/debian/patches/0225-invalidate-tabbar-geometry-on-refresh.patch index 8cdaeb3..a02361c 100644 --- a/debian/patches/0225-invalidate-tabbar-geometry-on-refresh.diff +++ b/debian/patches/0225-invalidate-tabbar-geometry-on-refresh.patch @@ -1,7 +1,7 @@ qt-bugs@ issue : None Trolltech task ID : None bugs.kde.org number : 159014 -applied: yes +applied: no author: Robert Knight <robertknight@gmail.com> When tabs are inserted or removed in a QTabBar, QTabBarPrivate::refresh() diff --git a/debian/patches/0226-qtreeview-column_resize_when_needed.diff b/debian/patches/0226-qtreeview-column_resize_when_needed.diff index 180abec..986b652 100644 --- a/debian/patches/0226-qtreeview-column_resize_when_needed.diff +++ b/debian/patches/0226-qtreeview-column_resize_when_needed.diff @@ -28,7 +28,7 @@ no other columns become shrinked), the contents will be visible. #endif // QT_NO_TREEVIEW --- a/src/gui/itemviews/qtreeview.cpp +++ b/src/gui/itemviews/qtreeview.cpp -@@ -246,6 +246,19 @@ +@@ -248,6 +248,19 @@ connect(d->model, SIGNAL(modelAboutToBeReset()), SLOT(_q_modelAboutToBeReset())); @@ -48,7 +48,7 @@ no other columns become shrinked), the contents will be visible. if (d->sortingEnabled) sortByColumn(header()->sortIndicatorSection()); } -@@ -2787,6 +2800,8 @@ +@@ -2815,6 +2828,8 @@ } if (model->canFetchMore(index)) model->fetchMore(index); @@ -57,7 +57,7 @@ no other columns become shrinked), the contents will be visible. } void QTreeViewPrivate::collapse(int item, bool emitSignal) -@@ -2826,6 +2841,8 @@ +@@ -2854,6 +2869,8 @@ else emit q->collapsed(modelIndex); } @@ -66,7 +66,7 @@ no other columns become shrinked), the contents will be visible. } void QTreeViewPrivate::prepareAnimatedOperation(int item, AnimatedOperation::Type type) -@@ -2937,6 +2954,25 @@ +@@ -2965,6 +2982,25 @@ viewItems.clear(); } diff --git a/debian/patches/0227-qdatastream-regression.diff b/debian/patches/0227-qdatastream-regression.diff deleted file mode 100644 index 17efc0e..0000000 --- a/debian/patches/0227-qdatastream-regression.diff +++ /dev/null @@ -1,63 +0,0 @@ -qt-bugs@ issue : N211089 -Trolltech task ID : 211301 -bugs.kde.org number : None -applied: no -author: Dirk Mueller <mueller@kde.org> - -when launching Qt3 applications under a KDE that runs with Qt 4.4, -all apps either hang, crash, or eat horrible amounts of memory. - ---- a/src/gui/kernel/qpalette.cpp -+++ b/src/gui/kernel/qpalette.cpp -@@ -79,9 +79,9 @@ - int max = QPalette::NColorRoles; - if (s.version() <= QDataStream::Qt_2_1) - max = QPalette::HighlightedText + 1; -- if (s.version() <= QDataStream::Qt_4_3) -+ else if (s.version() <= QDataStream::Qt_4_3) - max = QPalette::AlternateBase + 1; -- for(int r = 0 ; r < max ; r++) -+ for(int r = 0 ; r < max ; r++) - s << g.brush((QPalette::ColorRole)r); - } - return s; -@@ -1021,7 +1021,7 @@ - int max = QPalette::ToolTipText + 1; - if (s.version() <= QDataStream::Qt_2_1) - max = QPalette::HighlightedText + 1; -- if (s.version() <= QDataStream::Qt_4_3) -+ else if (s.version() <= QDataStream::Qt_4_3) - max = QPalette::AlternateBase + 1; - for (int r = 0; r < max; r++) - s << p.d->br[grp][r]; ---- a/src/gui/painting/qbrush.cpp -+++ b/src/gui/painting/qbrush.cpp -@@ -924,12 +924,24 @@ - - QDataStream &operator<<(QDataStream &s, const QBrush &b) - { -- s << (quint8)b.style() << b.color(); -- if (b.style() == Qt::TexturePattern) { -+ quint8 style = (quint8) b.style(); -+ -+ if (s.version() < QDataStream::Qt_4_0) { -+ -+ if (style == Qt::LinearGradientPattern -+ || style == Qt::RadialGradientPattern -+ || style == Qt::ConicalGradientPattern) -+ style = Qt::NoBrush; -+ } -+ -+ s << style << b.color(); -+ if (b.style() == Qt::TexturePattern) - s << b.texture(); -- } else if (b.style() == Qt::LinearGradientPattern -+ -+ if (s.version() >= QDataStream::Qt_4_0 && ( -+ b.style() == Qt::LinearGradientPattern - || b.style() == Qt::RadialGradientPattern -- || b.style() == Qt::ConicalGradientPattern) { -+ || b.style() == Qt::ConicalGradientPattern)) { - const QGradient *gradient = b.gradient(); - int type_as_int = int(gradient->type()); - s << type_as_int; diff --git a/debian/patches/0228-qsortfilterproxymodel-invalidate-noscroll.diff b/debian/patches/0228-qsortfilterproxymodel-invalidate-noscroll.diff deleted file mode 100644 index b6da2cc..0000000 --- a/debian/patches/0228-qsortfilterproxymodel-invalidate-noscroll.diff +++ /dev/null @@ -1,21 +0,0 @@ -qt-bugs@ issue : none -Trolltech task ID : 204403 -bugs.kde.org number : none -applied: no -author: Mikko C. <mikko.cal@gmail.com> - -Calling QSortFilterProxyModel::invalidate causes view -to scroll to the current item/index. -This behavior was not present on the Qt4.3.x. Fixed in Qt4.4.1 snapshots - ---- a/src/gui/itemviews/qabstractitemview.cpp -+++ b/src/gui/itemviews/qabstractitemview.cpp -@@ -2980,7 +2980,7 @@ - if (q->isVisible()) { - q->doItemsLayout(); - const QModelIndex current = q->currentIndex(); -- if (current.isValid()) -+ if (current.isValid() && state == QAbstractItemView::EditingState) - q->scrollTo(current); - } else { - doDelayedItemsLayout(); diff --git a/debian/patches/0230-qtextcontrol-selectnextword.diff b/debian/patches/0230-qtextcontrol-selectnextword.diff deleted file mode 100644 index 91ab87e..0000000 --- a/debian/patches/0230-qtextcontrol-selectnextword.diff +++ /dev/null @@ -1,33 +0,0 @@ -qt-bugs@ issue : N213258 -Trolltech task ID : 213259 -bugs.kde.org number : I guess there is one -applied: no -author: David Faure <faure@kde.org> - -Imagine a konqueror window with two tabs, and in the current tab there's a QTextEdit (in a web form). -When typing Ctrl+Shift+Right, it is expected that the next word is selected. -However, the QAction for "move this tab to the right" is triggered, which is unexpected. -This wouldn't happen if the QTextEdit would react to the ShortcutOverride event which -is sent first, for this exact purpose (so that widget-specific shortcuts are done first). -QTextControl already handles some ShortcutOverride events, but not all of them. -The patch below adds a few useful ones, i.e. possibly-conflicting ones. I guess one could -be exhaustive and list all possible shortcuts there.... - - ---- a/src/gui/text/qtextcontrol.cpp -+++ b/src/gui/text/qtextcontrol.cpp -@@ -1065,6 +1065,14 @@ - || ke == QKeySequence::MoveToPreviousWord - || ke == QKeySequence::MoveToStartOfDocument - || ke == QKeySequence::MoveToEndOfDocument -+ || ke == QKeySequence::SelectNextWord -+ || ke == QKeySequence::SelectPreviousWord -+ || ke == QKeySequence::SelectStartOfLine -+ || ke == QKeySequence::SelectEndOfLine -+ || ke == QKeySequence::SelectStartOfBlock -+ || ke == QKeySequence::SelectEndOfBlock -+ || ke == QKeySequence::SelectStartOfDocument -+ || ke == QKeySequence::SelectEndOfDocument - ) { - ke->accept(); - #endif diff --git a/debian/patches/0233-fix-q3textbrowser-image.diff b/debian/patches/0233-fix-q3textbrowser-image.diff deleted file mode 100644 index 70e9bae..0000000 --- a/debian/patches/0233-fix-q3textbrowser-image.diff +++ /dev/null @@ -1,22 +0,0 @@ -qt-bugs@ issue : N217218 -Trolltech task ID : 217145 (Status: closed; Version fix: 4.4.2) -applied: yes -author: TT :) (bug reported by Laurent Montel montel@kde.org and patch provides by TT - -In qt4.4.x there is a regression in Q3TextBrowser it can load an image. - ---- a/src/qt3support/other/q3mimefactory.cpp 2008-06-25 14:30:02 -0000 -+++ b/src/qt3support/other/q3mimefactory.cpp 2008-06-25 14:30:02 -0000 - -@@ -152,9 +152,8 @@ - QByteArray mimetype("application/octet-stream"); - if (extensions.contains(e)) - mimetype = extensions[e].latin1(); -- QByteArray imgfmt = QImageReader::imageFormat(abs_name); -- if (!imgfmt.isEmpty()) -- mimetype = "image/" + imgfmt.toLower(); -+ if (!QImageReader::imageFormat(abs_name).isEmpty()) -+ mimetype = "application/x-qt-image"; - - QFile f(abs_name); - if (f.open(QIODevice::ReadOnly) && f.size()) { diff --git a/debian/patches/0234-fix-mysql-threaded.diff b/debian/patches/0234-fix-mysql-threaded.diff index f38a656..3ccc006 100644 --- a/debian/patches/0234-fix-mysql-threaded.diff +++ b/debian/patches/0234-fix-mysql-threaded.diff @@ -1,15 +1,15 @@ qt-bugs@ issue : N217716 Trolltech task ID : 217788 bugs.kde.org number : no report -applied: yes +applied: no author: Tobias Koenig <tokoe@kde.org> This patch will fix the handling of connections to mysql server in a multithreaded environment ---- a/src/sql/drivers/mysql/qsql_mysql.cpp (revision 804421) -+++ b/src/sql/drivers/mysql/qsql_mysql.cpp (working copy) -@@ -1215,6 +1215,10 @@ +--- a/src/sql/drivers/mysql/qsql_mysql.cpp ++++ b/src/sql/drivers/mysql/qsql_mysql.cpp +@@ -1248,6 +1248,10 @@ d->preparedQuerysEnabled = false; #endif @@ -20,7 +20,7 @@ mysql server in a multithreaded environment setOpen(true); setOpenError(false); return true; -@@ -1223,6 +1227,9 @@ +@@ -1256,6 +1260,9 @@ void QMYSQLDriver::close() { if (isOpen()) { diff --git a/debian/patches/0235-qdbus-dispatch-async-timeout.diff b/debian/patches/0235-qdbus-dispatch-async-timeout.diff deleted file mode 100644 index edd7fe7..0000000 --- a/debian/patches/0235-qdbus-dispatch-async-timeout.diff +++ /dev/null @@ -1,20 +0,0 @@ -qt-bugs@ issue : none -Trolltech task ID : none -bugs.kde.org number : none -applied: no -author: Michael Leupold <lemma@confuego.org> - -This patch dispatches synthesized timeout messages directly -after handling them. This is neccessary in order to receive timeout -errors to asynchroneous messages. - ---- a/src/dbus/qdbusintegrator.cpp (Revision 827848) -+++ b/src/dbus/qdbusintegrator.cpp (Arbeitskopie) -@@ -988,6 +988,7 @@ - { - DBusTimeout *timeout = timeouts.value(e->timerId(), 0); - q_dbus_timeout_handle(timeout); -+ doDispatch(); - } - - void QDBusConnectionPrivate::customEvent(QEvent *e) diff --git a/debian/patches/0236-qtoolbararealayout-restore.diff b/debian/patches/0236-qtoolbararealayout-restore.diff deleted file mode 100644 index 3f461b3..0000000 --- a/debian/patches/0236-qtoolbararealayout-restore.diff +++ /dev/null @@ -1,23 +0,0 @@ -qt-bugs@ issue : N218280 -Trolltech task ID : 218280 -bugs.kde.org number : none -applied: yes -author: TT - -QMainWindow::restoreState doesn't layout toolbars properly, regression -from Qt-4.4 - -Index: a/src/gui/widgets/qtoolbararealayout.cpp -=================================================================== ---- a/src/gui/widgets/qtoolbararealayout.cpp (revision 829449) -+++ b/src/gui/widgets/qtoolbararealayout.cpp (working copy) -@@ -1323,7 +1323,8 @@ bool QToolBarAreaLayout::restoreState(QD - toolBar->setVisible(shown); - toolBar->d_func()->setWindowState(floating, true, rect); - -- item.extraSpace = item.size - pick(line.o, item.sizeHint()); -+ //if it is -1, it means we should use the default size -+ item.extraSpace = (item.size == -1) ? 0 : item.size - pick(line.o, item.sizeHint()); - - - line.toolBarItems.append(item); diff --git a/debian/patches/0003_tab_text_cutoff.diff b/debian/patches/0238-fix-qt-qttabbar-size.diff index 9f90b9b..8b35ab0 100644 --- a/debian/patches/0003_tab_text_cutoff.diff +++ b/debian/patches/0238-fix-qt-qttabbar-size.diff @@ -1,5 +1,5 @@ qt-bugs@ issue : N216195 -Trolltech task ID : 216537 +Trolltech task ID : 216537 (Applied in Qt 4.5) bugs.kde.org number : 162737 applied: no author: Michael Leupold <lemma@confuego.org> @@ -7,19 +7,14 @@ 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). -More info here. -http://lists.kde.org/?l=kde-core-devel&m=121526335523921&w=2 -It might very well very soon be a qtcopy patch -Index: b/src/gui/widgets/qtabbar.cpp -=================================================================== --- a/src/gui/widgets/qtabbar.cpp +++ b/src/gui/widgets/qtabbar.cpp -@@ -1084,7 +1084,7 @@ +@@ -1078,7 +1078,7 @@ QSize QTabBar::tabSizeHint(int index) co 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; ++ 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/debian/patches/0245-fix-randr-changes-detecting.diff b/debian/patches/0245-fix-randr-changes-detecting.diff new file mode 100644 index 0000000..5eaf5a9 --- /dev/null +++ b/debian/patches/0245-fix-randr-changes-detecting.diff @@ -0,0 +1,25 @@ +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). + +--- a/src/gui/kernel/qapplication_x11.cpp ++++ b/src/gui/kernel/qapplication_x11.cpp +@@ -2994,11 +2994,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/debian/patches/0248-fix-qwidget-scroll-slowness.diff b/debian/patches/0248-fix-qwidget-scroll-slowness.diff new file mode 100644 index 0000000..8e0353b --- /dev/null +++ b/debian/patches/0248-fix-qwidget-scroll-slowness.diff @@ -0,0 +1,39 @@ +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/src/gui/painting/qbackingstore.cpp ++++ b/src/gui/painting/qbackingstore.cpp +@@ -517,7 +517,8 @@ void QWidgetPrivate::scrollRect(const QR + } + + 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; +@@ -552,13 +553,13 @@ void QWidgetPrivate::scrollRect(const QR + #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/debian/patches/0249-webkit-stale-frame-pointer.diff b/debian/patches/0249-webkit-stale-frame-pointer.diff new file mode 100644 index 0000000..c966d9a --- /dev/null +++ b/debian/patches/0249-webkit-stale-frame-pointer.diff @@ -0,0 +1,161 @@ +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. + + +--- a/src/3rdparty/webkit/WebCore/dom/Document.cpp ++++ b/src/3rdparty/webkit/WebCore/dom/Document.cpp +@@ -291,9 +291,8 @@ Document::Document(DOMImplementation* im + 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 @@ void Document::detach() + 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(); +--- a/src/3rdparty/webkit/WebCore/dom/Document.h ++++ b/src/3rdparty/webkit/WebCore/dom/Document.h +@@ -344,6 +344,8 @@ public: + virtual void attach(); + virtual void detach(); + ++ void clearFramePointer(); ++ + RenderArena* renderArena() { return m_renderArena; } + + AXObjectCache* axObjectCache() const; +--- a/src/3rdparty/webkit/WebCore/loader/DocLoader.cpp ++++ b/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 @@ DocLoader::DocLoader(Frame *frame, Docum + 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 @@ CachedResource* DocLoader::requestResour + } + } + +- if (m_frame && m_frame->loader()->isReloading()) ++ if (frame() && frame()->loader()->isReloading()) + setCachePolicy(CachePolicyReload); + + checkForReload(fullURL); +@@ -197,8 +201,8 @@ void DocLoader::removeCachedResource(Cac + 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 @@ void DocLoader::checkCacheObjectStatus(C + } + + // 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 @@ void DocLoader::checkCacheObjectStatus(C + + 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() +--- a/src/3rdparty/webkit/WebCore/loader/DocLoader.h ++++ b/src/3rdparty/webkit/WebCore/loader/DocLoader.h +@@ -49,7 +49,7 @@ friend class Cache; + friend class HTMLImageLoader; + + public: +- DocLoader(Frame*, Document*); ++ DocLoader(Document*); + ~DocLoader(); + + CachedImage* requestImage(const String& url); +@@ -73,7 +73,7 @@ public: + 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 @@ private: + 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/debian/patches/0254-fix-qgraphicsproxywidget-deletion-crash.diff b/debian/patches/0254-fix-qgraphicsproxywidget-deletion-crash.diff new file mode 100644 index 0000000..e9eefe9 --- /dev/null +++ b/debian/patches/0254-fix-qgraphicsproxywidget-deletion-crash.diff @@ -0,0 +1,23 @@ +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 + +--- a/src/gui/graphicsview/qgraphicsproxywidget.cpp ++++ b/src/gui/graphicsview/qgraphicsproxywidget.cpp +@@ -515,9 +515,8 @@ QGraphicsProxyWidget::~QGraphicsProxyWid + { + 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/debian/patches/0255-qtreeview-selection-columns-hidden.diff b/debian/patches/0255-qtreeview-selection-columns-hidden.diff new file mode 100644 index 0000000..4a15b35 --- /dev/null +++ b/debian/patches/0255-qtreeview-selection-columns-hidden.diff @@ -0,0 +1,42 @@ +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). + +--- a/src/gui/itemviews/qtreeview.cpp ++++ b/src/gui/itemviews/qtreeview.cpp +@@ -3530,7 +3530,7 @@ QList<QPair<int, int> > QTreeViewPrivate + 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/debian/patches/0256-fix-recursive-backingstore-sync-crash.diff b/debian/patches/0256-fix-recursive-backingstore-sync-crash.diff new file mode 100644 index 0000000..9665d5a --- /dev/null +++ b/debian/patches/0256-fix-recursive-backingstore-sync-crash.diff @@ -0,0 +1,38 @@ +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. + + +--- a/src/gui/painting/qbackingstore.cpp ++++ b/src/gui/painting/qbackingstore.cpp +@@ -988,8 +988,12 @@ void QWidgetBackingStore::cleanRegion(co + 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/debian/patches/0257-qurl-validate-speedup.diff b/debian/patches/0257-qurl-validate-speedup.diff new file mode 100644 index 0000000..eefd01f --- /dev/null +++ b/debian/patches/0257-qurl-validate-speedup.diff @@ -0,0 +1,21 @@ +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. + +--- a/src/corelib/io/qurl.cpp ++++ b/src/corelib/io/qurl.cpp +@@ -3440,6 +3440,8 @@ void QUrlPrivate::validate() const + that->encodedOriginal = that->toEncoded(); // may detach + parse(ParseOnly); + ++ QURL_SETFLAG(that->stateFlags, Validated); ++ + if (!isValid) + return; + diff --git a/debian/patches/0260-fix-qgraphicswidget-deletionclearFocus.diff b/debian/patches/0260-fix-qgraphicswidget-deletionclearFocus.diff new file mode 100644 index 0000000..3936f34 --- /dev/null +++ b/debian/patches/0260-fix-qgraphicswidget-deletionclearFocus.diff @@ -0,0 +1,20 @@ +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 + +--- a/src/gui/graphicsview/qgraphicsitem.cpp ++++ b/src/gui/graphicsview/qgraphicsitem.cpp +@@ -1951,7 +1951,7 @@ void QGraphicsItem::setFocus(Qt::FocusRe + */ + 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/debian/patches/0261-sync-before-reset-errorhandler.patch b/debian/patches/0261-sync-before-reset-errorhandler.patch new file mode 100644 index 0000000..2128ba8 --- /dev/null +++ b/debian/patches/0261-sync-before-reset-errorhandler.patch @@ -0,0 +1,22 @@ +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. + + +--- a/src/gui/kernel/qapplication_x11.cpp ++++ b/src/gui/kernel/qapplication_x11.cpp +@@ -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/debian/patches/0262-fix-treeview-animation-crash.diff b/debian/patches/0262-fix-treeview-animation-crash.diff new file mode 100644 index 0000000..e307f3a --- /dev/null +++ b/debian/patches/0262-fix-treeview-animation-crash.diff @@ -0,0 +1,44 @@ +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 +--- a/src/gui/itemviews/qtreeview.cpp ++++ b/src/gui/itemviews/qtreeview.cpp +@@ -2815,10 +2815,9 @@ void QTreeViewPrivate::expand(int item, + q->setState(oldState); + + if (emitSignal) { ++ emit q->expanded(index); + if (animationsEnabled) + beginAnimatedOperation(); +- else +- emit q->expanded(index); + } + if (model->canFetchMore(index)) + model->fetchMore(index); +@@ -2858,10 +2857,9 @@ void QTreeViewPrivate::collapse(int item + q->setState(oldState); + + if (emitSignal) { ++ emit q->collapsed(modelIndex); + if (animationsEnabled) + beginAnimatedOperation(); +- else +- emit q->collapsed(modelIndex); + } + + _q_forceColumnResizeToFitContents(); +@@ -2918,10 +2916,6 @@ void QTreeViewPrivate::_q_endAnimatedOpe + 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/debian/patches/02_launch_assistant-qt4.diff b/debian/patches/02_launch_assistant-qt4.diff index aeb1c33..f086432 100644 --- a/debian/patches/02_launch_assistant-qt4.diff +++ b/debian/patches/02_launch_assistant-qt4.diff @@ -1,6 +1,6 @@ --- a/demos/qtdemo/menumanager.cpp +++ b/demos/qtdemo/menumanager.cpp -@@ -291,7 +291,7 @@ +@@ -285,7 +285,7 @@ void MenuManager::showDocInAssistant(con if (this->assistantProcess.state() != QProcess::Running){ QString app = QLibraryInfo::location(QLibraryInfo::BinariesPath) + QDir::separator(); #if !defined(Q_OS_MAC) @@ -11,7 +11,7 @@ #endif --- a/tools/designer/src/designer/assistantclient.cpp +++ b/tools/designer/src/designer/assistantclient.cpp -@@ -115,7 +115,7 @@ +@@ -109,7 +109,7 @@ QString AssistantClient::binary() { QString app = QLibraryInfo::location(QLibraryInfo::BinariesPath) + QDir::separator(); #if !defined(Q_OS_MAC) diff --git a/debian/patches/03_launch_moc-qt4.diff b/debian/patches/03_launch_moc-qt4.diff index b3a354a..e5bfcf4 100644 --- a/debian/patches/03_launch_moc-qt4.diff +++ b/debian/patches/03_launch_moc-qt4.diff @@ -4,7 +4,7 @@ Ensure the Qt4 version of moc is launched. --- a/tools/qdbus/qdbuscpp2xml/qdbuscpp2xml.cpp +++ b/tools/qdbus/qdbuscpp2xml/qdbuscpp2xml.cpp -@@ -398,7 +398,7 @@ +@@ -392,7 +392,7 @@ int main(int argc, char **argv) else { // run moc on this file QProcess proc; diff --git a/debian/patches/04_launch_uic-qt4.diff b/debian/patches/04_launch_uic-qt4.diff index 70e5595..eedb093 100644 --- a/debian/patches/04_launch_uic-qt4.diff +++ b/debian/patches/04_launch_uic-qt4.diff @@ -2,7 +2,7 @@ author: Fathi Boudra <fabo@debian.org> --- a/tools/designer/src/lib/shared/qdesigner_utils.cpp +++ b/tools/designer/src/lib/shared/qdesigner_utils.cpp -@@ -488,7 +488,7 @@ +@@ -482,7 +482,7 @@ namespace qdesigner_internal binary += QDir::separator(); switch (mode) { case UIC_GenerateCode: diff --git a/debian/patches/05_append_qt4_target.diff b/debian/patches/05_append_qt4_target.diff index d2f3b1a..32dfeea 100644 --- a/debian/patches/05_append_qt4_target.diff +++ b/debian/patches/05_append_qt4_target.diff @@ -2,7 +2,7 @@ author: Fathi Boudra <fabo@debian.org> --- a/config.tests/unix/compile.test +++ b/config.tests/unix/compile.test -@@ -51,7 +51,7 @@ +@@ -53,7 +53,7 @@ test -d "$OUTDIR/$TEST" || mkdir -p "$OU cd "$OUTDIR/$TEST" make distclean >/dev/null 2>&1 @@ -13,7 +13,7 @@ author: Fathi Boudra <fabo@debian.org> make --- a/config.tests/unix/doubleformat.test +++ b/config.tests/unix/doubleformat.test -@@ -10,7 +10,7 @@ +@@ -10,7 +10,7 @@ OUTDIR=$4 # build and run a test program test -d "$OUTDIR/config.tests/unix/doubleformat" || mkdir -p "$OUTDIR/config.tests/unix/doubleformat" @@ -24,7 +24,7 @@ author: Fathi Boudra <fabo@debian.org> DOUBLEFORMAT="UNKNOWN" --- a/config.tests/unix/endian.test +++ b/config.tests/unix/endian.test -@@ -10,7 +10,7 @@ +@@ -10,7 +10,7 @@ OUTDIR=$4 # build and run a test program test -d "$OUTDIR/config.tests/unix/endian" || mkdir -p "$OUTDIR/config.tests/unix/endian" @@ -35,7 +35,7 @@ author: Fathi Boudra <fabo@debian.org> --- a/config.tests/unix/ptrsize.test +++ b/config.tests/unix/ptrsize.test -@@ -10,7 +10,7 @@ +@@ -10,7 +10,7 @@ OUTDIR=$4 # build and run a test program test -d "$OUTDIR/config.tests/unix/ptrsize" || mkdir -p "$OUTDIR/config.tests/unix/ptrsize" @@ -46,7 +46,7 @@ author: Fathi Boudra <fabo@debian.org> if [ "$VERBOSE" = "yes" ]; then --- a/config.tests/x11/notype.test +++ b/config.tests/x11/notype.test -@@ -27,7 +27,7 @@ +@@ -27,7 +27,7 @@ if [ $XPLATFORM = "solaris-g++" -o $XPLA NOTYPE=yes test -d "$OUTDIR/config.tests/x11/notype" || mkdir -p "$OUTDIR/config.tests/x11/notype" @@ -57,7 +57,7 @@ author: Fathi Boudra <fabo@debian.org> if [ "$VERBOSE" = "yes" ]; then --- a/configure +++ b/configure -@@ -3799,7 +3799,7 @@ +@@ -3789,7 +3789,7 @@ END { } # build qmake @@ -66,7 +66,7 @@ author: Fathi Boudra <fabo@debian.org> echo "Creating qmake. Please wait..." OLD_QCONFIG_H= -@@ -6012,8 +6012,8 @@ +@@ -6031,8 +6031,8 @@ QMAKE_ABSOLUTE_SOURCE_ROOT = \$\$QT_SOUR QMAKE_MOC_SRC = \$\$QT_BUILD_TREE/src/moc #local paths that cannot be queried from the QT_INSTALL_* properties while building QTDIR @@ -77,7 +77,7 @@ author: Fathi Boudra <fabo@debian.org> QMAKE_UIC3 = \$\$QT_BUILD_TREE/bin/uic3 QMAKE_RCC = \$\$QT_BUILD_TREE/bin/rcc QMAKE_QDBUSXML2CPP = \$\$QT_BUILD_TREE/bin/qdbusxml2cpp -@@ -6313,11 +6313,11 @@ +@@ -6333,11 +6333,11 @@ EXEC="" #------------------------------------------------------------------------------- echo "Finding project files. Please wait..." @@ -91,7 +91,7 @@ author: Fathi Boudra <fabo@debian.org> fi # .projects -> projects to process -@@ -6490,7 +6490,7 @@ +@@ -6510,7 +6510,7 @@ for file in .projects .projects.3; do echo " for $a\c" fi @@ -102,7 +102,7 @@ author: Fathi Boudra <fabo@debian.org> if echo '\c' | grep '\c' >/dev/null; then --- a/projects.pro +++ b/projects.pro -@@ -114,7 +114,7 @@ +@@ -116,7 +116,7 @@ qmake.path=$$[QT_INSTALL_BINS] win32 { qmake.files=$$QT_BUILD_TREE/bin/qmake.exe } else { @@ -113,7 +113,7 @@ author: Fathi Boudra <fabo@debian.org> --- a/qmake/Makefile.unix +++ b/qmake/Makefile.unix -@@ -98,17 +98,17 @@ +@@ -98,17 +98,17 @@ CPPFLAGS = -I. -Igenerators -Igenerators CXXFLAGS = @QMAKE_CXXFLAGS@ $(CPPFLAGS) @@ -137,7 +137,7 @@ author: Fathi Boudra <fabo@debian.org> makedepend -D__MAKEDEPEND__ $(CPPFLAGS) $(DEPEND_SRC) --- a/tools/linguist/lrelease/lrelease.pro +++ b/tools/linguist/lrelease/lrelease.pro -@@ -29,7 +29,7 @@ +@@ -29,7 +29,7 @@ HEADERS += $$PROPARSERPATH/proitems.h \ SOURCES += $$PROPARSERPATH/proitems.cpp \ $$PROPARSERPATH/proreader.cpp @@ -148,7 +148,7 @@ author: Fathi Boudra <fabo@debian.org> --- a/tools/linguist/lupdate/lupdate.pro +++ b/tools/linguist/lupdate/lupdate.pro -@@ -42,7 +42,7 @@ +@@ -42,7 +42,7 @@ SOURCES += $$PROPARSERPATH/proitems.cpp $$PROPARSERPATH/proreader.cpp @@ -168,7 +168,7 @@ author: Fathi Boudra <fabo@debian.org> CONFIG -= qt --- a/src/tools/uic/uic.pro +++ b/src/tools/uic/uic.pro -@@ -9,7 +9,7 @@ +@@ -9,7 +9,7 @@ build_all:!build_pass { unix:!contains(QT_CONFIG, zlib):LIBS += -lz @@ -179,7 +179,7 @@ author: Fathi Boudra <fabo@debian.org> DEFINES += QT_BOOTSTRAPPED QT_UIC QT_LITE_UNICODE QT_NO_DATASTREAM \ --- a/tools/assistant/tools/assistant/assistant.pro +++ b/tools/assistant/tools/assistant/assistant.pro -@@ -2,7 +2,7 @@ +@@ -2,7 +2,7 @@ include($$QT_SOURCE_TREE/tools/shared/fo TEMPLATE = app LANGUAGE = C++ @@ -190,7 +190,7 @@ author: Fathi Boudra <fabo@debian.org> --- a/tools/designer/src/designer/designer.pro +++ b/tools/designer/src/designer/designer.pro -@@ -24,7 +24,7 @@ +@@ -24,7 +24,7 @@ contains(CONFIG, static) { DEFINES += QT_DESIGNER_STATIC } @@ -201,7 +201,7 @@ author: Fathi Boudra <fabo@debian.org> include($$QT_SOURCE_TREE/tools/shared/qttoolbardialog/qttoolbardialog.pri) --- a/tools/linguist/linguist/linguist.pro +++ b/tools/linguist/linguist/linguist.pro -@@ -67,7 +67,7 @@ +@@ -67,7 +67,7 @@ HEADERS += batchtranslationdialog.h \ contains(QT_PRODUCT, OpenSource.*):DEFINES *= QT_OPENSOURCE DEFINES += QT_KEYWORDS DESTDIR = ../../../bin @@ -212,7 +212,7 @@ author: Fathi Boudra <fabo@debian.org> static:CONFIG -= global_init_link_order --- a/tools/qtconfig/qtconfig.pro +++ b/tools/qtconfig/qtconfig.pro -@@ -19,7 +19,7 @@ +@@ -19,7 +19,7 @@ FORMS = mainwindowbase.ui palette RESOURCES = qtconfig.qrc PROJECTNAME = Qt Configuration diff --git a/debian/patches/07_trust_dpkg-arch_over_uname-m.diff b/debian/patches/07_trust_dpkg-arch_over_uname-m.diff index 4671553..48fa1ae 100644 --- a/debian/patches/07_trust_dpkg-arch_over_uname-m.diff +++ b/debian/patches/07_trust_dpkg-arch_over_uname-m.diff @@ -2,7 +2,7 @@ author: Sune Vuorela Reported to trolltech as N180631 - and task 181882 --- a/configure +++ b/configure -@@ -93,7 +93,50 @@ +@@ -94,7 +94,50 @@ getQMakeConf() #------------------------------------------------------------------------------- # need that throughout the script diff --git a/debian/patches/09_qmake_lflags_as-needed.diff b/debian/patches/09_qmake_lflags_as-needed.diff index 5a6d11c..4a191bf 100644 --- a/debian/patches/09_qmake_lflags_as-needed.diff +++ b/debian/patches/09_qmake_lflags_as-needed.diff @@ -5,7 +5,7 @@ Bug reported to Trolltech. --- a/configure +++ b/configure -@@ -503,6 +503,8 @@ +@@ -463,6 +463,8 @@ mkdir -p "$outpath/config.tests" rm -f "$outpath/config.tests/.qmake.cache" cp "$QMAKE_VARS_FILE" "$outpath/config.tests/.qmake.cache" diff --git a/debian/patches/10_config_tests_fixes.diff b/debian/patches/10_config_tests_fixes.diff index 14db57a..acb0670 100644 --- a/debian/patches/10_config_tests_fixes.diff +++ b/debian/patches/10_config_tests_fixes.diff @@ -16,7 +16,7 @@ +LIBS += -liodbc --- a/src/plugins/sqldrivers/odbc/odbc.pro +++ b/src/plugins/sqldrivers/odbc/odbc.pro -@@ -12,7 +12,7 @@ +@@ -12,7 +12,7 @@ mac { unix { !contains( LIBS, .*odbc.* ) { @@ -27,7 +27,7 @@ --- a/src/sql/drivers/drivers.pri +++ b/src/sql/drivers/drivers.pri -@@ -48,7 +48,7 @@ +@@ -48,7 +48,7 @@ contains(sql-drivers, odbc) { SOURCES += drivers/odbc/qsql_odbc.cpp mac:!contains( LIBS, .*odbc.* ):LIBS *= -liodbc @@ -36,7 +36,7 @@ win32 { !win32-borland:LIBS *= -lodbc32 -@@ -93,7 +93,7 @@ +@@ -93,7 +93,7 @@ contains(sql-drivers, ibase) { HEADERS += drivers/ibase/qsql_ibase.h SOURCES += drivers/ibase/qsql_ibase.cpp @@ -47,7 +47,7 @@ !win32-borland:LIBS *= -lgds32_ms --- a/src/plugins/sqldrivers/ibase/ibase.pro +++ b/src/plugins/sqldrivers/ibase/ibase.pro -@@ -4,7 +4,7 @@ +@@ -4,7 +4,7 @@ HEADERS = ../../../sql/drivers/ibase/qs SOURCES = main.cpp \ ../../../sql/drivers/ibase/qsql_ibase.cpp @@ -56,11 +56,3 @@ win32:!contains( LIBS, .*gds.* ):!contains( LIBS, .*fbclient.* ) { !win32-borland:LIBS *= -lgds32_ms ---- a/config.tests/unix/sqlite/sqlite.pro -+++ b/config.tests/unix/sqlite/sqlite.pro -@@ -1,4 +1,4 @@ - SOURCES = sqlite.cpp - CONFIG -= qt dylib - mac:CONFIG -= app_bundle --LIBS += -lsqlite3 -+LIBS += -lsqlite3 -ldl diff --git a/debian/patches/12_fix_qmake_pkgconfig.diff b/debian/patches/12_fix_qmake_pkgconfig.diff index 33fffbb..1535dce 100644 --- a/debian/patches/12_fix_qmake_pkgconfig.diff +++ b/debian/patches/12_fix_qmake_pkgconfig.diff @@ -1,6 +1,6 @@ --- a/qmake/generators/unix/unixmake2.cpp +++ b/qmake/generators/unix/unixmake2.cpp -@@ -1440,6 +1440,8 @@ +@@ -1434,6 +1434,8 @@ UnixMakefileGenerator::writePkgConfigFil pkgConfiglibName = "-l" + lname.left(lname.length()-Option::libtool_ext.length()); } t << pkgConfiglibDir << " " << pkgConfiglibName << " "; diff --git a/debian/patches/14_add_libraries_to_gui_build_where_actually_needed.diff b/debian/patches/14_add_libraries_to_gui_build_where_actually_needed.diff index 47fee7e..aa988de 100644 --- a/debian/patches/14_add_libraries_to_gui_build_where_actually_needed.diff +++ b/debian/patches/14_add_libraries_to_gui_build_where_actually_needed.diff @@ -1,24 +1,17 @@ --- a/src/gui/kernel/kernel.pri +++ b/src/gui/kernel/kernel.pri -@@ -112,6 +112,7 @@ - HEADERS += \ - kernel/qguieventdispatcher_glib_p.h - QMAKE_CXXFLAGS += $$QT_CFLAGS_GLIB -+ LIBS +=$$QT_LIBS_GLIB - } - SOURCES += \ - kernel/qeventdispatcher_x11.cpp -@@ -140,6 +141,7 @@ +@@ -141,6 +141,8 @@ embedded { HEADERS += \ kernel/qeventdispatcher_glib_qws_p.h QMAKE_CXXFLAGS += $$QT_CFLAGS_GLIB ++ LIBS +=$$QT_LIBS_GLIB + LIBS +=$$QT_LIBS_GLIB } --- a/src/gui/painting/painting.pri +++ b/src/gui/painting/painting.pri -@@ -63,6 +63,8 @@ +@@ -63,6 +63,8 @@ SOURCES += \ painting/qpathclipper.cpp \ painting/qmemrotate.cpp diff --git a/debian/patches/15_fix_qmake_makefile_generation.diff b/debian/patches/15_fix_qmake_makefile_generation.diff index 94307e4..17f810b 100644 --- a/debian/patches/15_fix_qmake_makefile_generation.diff +++ b/debian/patches/15_fix_qmake_makefile_generation.diff @@ -1,6 +1,6 @@ --- a/qmake/generators/makefile.cpp +++ b/qmake/generators/makefile.cpp -@@ -2334,7 +2334,7 @@ +@@ -2328,7 +2328,7 @@ MakefileGenerator::writeSubTargets(QText QString mkfile = subtarget->makefile; if(!in_directory.isEmpty()) diff --git a/debian/patches/16_hide_std_symbols_on_qtwebkit.diff b/debian/patches/16_hide_std_symbols_on_qtwebkit.diff index 5df9aa4..3ecbd99 100644 --- a/debian/patches/16_hide_std_symbols_on_qtwebkit.diff +++ b/debian/patches/16_hide_std_symbols_on_qtwebkit.diff @@ -1,8 +1,6 @@ -Index: b/src/3rdparty/webkit/WebKit.pri -=================================================================== --- a/src/3rdparty/webkit/WebKit.pri +++ b/src/3rdparty/webkit/WebKit.pri -@@ -27,6 +27,7 @@ +@@ -27,6 +27,7 @@ CONFIG(release) { BASE_DIR = $$PWD qt-port:INCLUDEPATH += \ $$PWD/WebKit/qt/Api @@ -10,8 +8,6 @@ Index: b/src/3rdparty/webkit/WebKit.pri gtk-port:INCLUDEPATH += \ $$BASE_DIR/WebCore/platform/gtk \ $$BASE_DIR/WebCore/platform/network/curl \ -Index: b/src/3rdparty/webkit/symbols.filter -=================================================================== --- /dev/null +++ b/src/3rdparty/webkit/symbols.filter @@ -0,0 +1,5 @@ diff --git a/debian/patches/17_add_postgresql_8.3_support.diff b/debian/patches/17_add_postgresql_8.3_support.diff new file mode 100644 index 0000000..7edc391 --- /dev/null +++ b/debian/patches/17_add_postgresql_8.3_support.diff @@ -0,0 +1,46 @@ +Enable PostgreSQL 8.3 support. + +--- a/src/sql/drivers/psql/qsql_psql.cpp ++++ b/src/sql/drivers/psql/qsql_psql.cpp +@@ -633,9 +633,12 @@ static QPSQLDriver::Protocol getPSQLVers + serverVersion = QPSQLDriver::Version81; + break; + case 2: +- default: + serverVersion = QPSQLDriver::Version82; + break; ++ case 3: ++ default: ++ serverVersion = QPSQLDriver::Version83; ++ break; + } + break; + default: +@@ -916,6 +919,7 @@ QSqlIndex QPSQLDriver::primaryIndex(cons + case QPSQLDriver::Version8: + case QPSQLDriver::Version81: + case QPSQLDriver::Version82: ++ case QPSQLDriver::Version83: + stmt = QLatin1String("SELECT pg_attribute.attname, pg_attribute.atttypid::int, " + "pg_class.relname " + "FROM pg_attribute, pg_class " +@@ -989,6 +993,7 @@ QSqlRecord QPSQLDriver::record(const QSt + case QPSQLDriver::Version8: + case QPSQLDriver::Version81: + case QPSQLDriver::Version82: ++ case QPSQLDriver::Version83: + stmt = QLatin1String("select pg_attribute.attname, pg_attribute.atttypid::int, " + "pg_attribute.attnotnull, pg_attribute.attlen, pg_attribute.atttypmod, " + "pg_attrdef.adsrc " +--- a/src/sql/drivers/psql/qsql_psql.h ++++ b/src/sql/drivers/psql/qsql_psql.h +@@ -100,7 +100,8 @@ public: + Version74 = 10, + Version8 = 11, + Version81 = 12, +- Version82 = 13 ++ Version82 = 13, ++ Version83 = 14 + }; + + explicit QPSQLDriver(QObject *parent=0); diff --git a/debian/patches/20_mips_atomic_ops.diff b/debian/patches/20_mips_atomic_ops.diff index 5e15f58..11b7fb2 100644 --- a/debian/patches/20_mips_atomic_ops.diff +++ b/debian/patches/20_mips_atomic_ops.diff @@ -4,9 +4,9 @@ Fix compilation for Linux MIPS-I code. --- a/src/corelib/arch/mips/qatomic32.s +++ b/src/corelib/arch/mips/qatomic32.s -@@ -6,10 +6,12 @@ - .globl q_atomic_test_and_set_int +@@ -7,10 +7,12 @@ .ent q_atomic_test_and_set_int + .set mips2 q_atomic_test_and_set_int: + .set mips2 1: ll $8,0($4) @@ -17,25 +17,25 @@ Fix compilation for Linux MIPS-I code. beqz $2,1b nop jr $31 -@@ -21,6 +23,7 @@ - .globl q_atomic_test_and_set_acquire_int +@@ -24,6 +26,7 @@ q_atomic_test_and_set_int: .ent q_atomic_test_and_set_acquire_int + .set mips2 q_atomic_test_and_set_acquire_int: + .set mips2 1: ll $8,0($4) bne $8,$5,2f move $2,$6 -@@ -30,6 +33,7 @@ +@@ -33,6 +36,7 @@ q_atomic_test_and_set_acquire_int: jr $31 nop 2: sync + .set mips0 jr $31 move $2,$0 - .end q_atomic_test_and_set_acquire_int -@@ -37,11 +41,13 @@ - .globl q_atomic_test_and_set_release_int + .set mips0 +@@ -42,11 +46,13 @@ q_atomic_test_and_set_acquire_int: .ent q_atomic_test_and_set_release_int + .set mips2 q_atomic_test_and_set_release_int: + .set mips2 sync @@ -47,9 +47,9 @@ Fix compilation for Linux MIPS-I code. beqz $2,1b nop jr $31 -@@ -53,10 +59,12 @@ - .globl q_atomic_test_and_set_ptr +@@ -60,10 +66,12 @@ q_atomic_test_and_set_release_int: .ent q_atomic_test_and_set_ptr + .set mips2 q_atomic_test_and_set_ptr: + .set mips2 1: ll $8,0($4) @@ -60,25 +60,25 @@ Fix compilation for Linux MIPS-I code. beqz $2,1b nop jr $31 -@@ -68,6 +76,7 @@ - .globl q_atomic_test_and_set_acquire_ptr +@@ -77,6 +85,7 @@ q_atomic_test_and_set_ptr: .ent q_atomic_test_and_set_acquire_ptr + .set mips2 q_atomic_test_and_set_acquire_ptr: + .set mips2 1: ll $8,0($4) bne $8,$5,2f move $2,$6 -@@ -77,6 +86,7 @@ +@@ -86,6 +95,7 @@ q_atomic_test_and_set_acquire_ptr: jr $31 nop 2: sync + .set mips0 jr $31 move $2,$0 - .end q_atomic_test_and_set_acquire_ptr -@@ -84,11 +94,13 @@ - .globl q_atomic_test_and_set_release_ptr + .set mips0 +@@ -95,11 +105,13 @@ q_atomic_test_and_set_acquire_ptr: .ent q_atomic_test_and_set_release_ptr + .set mips2 q_atomic_test_and_set_release_ptr: + .set mips2 sync diff --git a/debian/patches/21_qprintdialog_honour_fileprintersadded.diff b/debian/patches/21_qprintdialog_honour_fileprintersadded.diff deleted file mode 100644 index 3df3beb..0000000 --- a/debian/patches/21_qprintdialog_honour_fileprintersadded.diff +++ /dev/null @@ -1,11 +0,0 @@ ---- a/src/gui/dialogs/qprintdialog_unix.cpp -+++ b/src/gui/dialogs/qprintdialog_unix.cpp -@@ -749,7 +749,7 @@ - Q_ASSERT(index != printerCount - 3); // separator - widget.filename->setEnabled(false); - widget.lOutput->setEnabled(false); -- if (index > printerCount - 3) { // PDF or postscript -+ if (filePrintersAdded && index > printerCount - 3) { // PDF or postscript - widget.location->setText(QPrintDialog::tr("Local file")); - widget.type->setText(QPrintDialog::tr("Write %1 file").arg(index == printerCount - 2 ? - QString::fromLatin1("PDF") : QString::fromLatin1("Postscript"))); diff --git a/debian/patches/30_webkit-unaligned-access.patch b/debian/patches/30_webkit_unaligned_access.diff index 5bec884..8bc9211 100644 --- a/debian/patches/30_webkit-unaligned-access.patch +++ b/debian/patches/30_webkit_unaligned_access.diff @@ -12,11 +12,9 @@ Some compiler warnings about alignment remain, but I don't know if they are a real problem yet. --- -Index: b/src/3rdparty/webkit/JavaScriptCore/wtf/FastMalloc.cpp -=================================================================== --- a/src/3rdparty/webkit/JavaScriptCore/wtf/FastMalloc.cpp +++ b/src/3rdparty/webkit/JavaScriptCore/wtf/FastMalloc.cpp -@@ -1267,14 +1267,14 @@ +@@ -1267,14 +1267,14 @@ static TCMalloc_Central_FreeListPadded c // Page-level allocator static SpinLock pageheap_lock = SPINLOCK_INITIALIZER; @@ -33,11 +31,9 @@ Index: b/src/3rdparty/webkit/JavaScriptCore/wtf/FastMalloc.cpp TCMalloc_PageHeap m_pageHeap; } PageHeapUnion; -Index: b/src/3rdparty/webkit/JavaScriptCore/wtf/ListHashSet.h -=================================================================== --- a/src/3rdparty/webkit/JavaScriptCore/wtf/ListHashSet.h +++ b/src/3rdparty/webkit/JavaScriptCore/wtf/ListHashSet.h -@@ -122,7 +122,7 @@ +@@ -122,7 +122,7 @@ namespace WTF { : m_freeList(pool()) , m_isDoneWithInitialFreeList(false) { @@ -46,7 +42,7 @@ Index: b/src/3rdparty/webkit/JavaScriptCore/wtf/ListHashSet.h } Node* allocate() -@@ -166,7 +166,7 @@ +@@ -166,7 +166,7 @@ namespace WTF { } private: @@ -55,7 +51,7 @@ Index: b/src/3rdparty/webkit/JavaScriptCore/wtf/ListHashSet.h Node* pastPool() { return pool() + m_poolSize; } bool inPool(Node* node) -@@ -177,10 +177,7 @@ +@@ -177,10 +177,7 @@ namespace WTF { Node* m_freeList; bool m_isDoneWithInitialFreeList; static const size_t m_poolSize = 256; @@ -67,8 +63,6 @@ Index: b/src/3rdparty/webkit/JavaScriptCore/wtf/ListHashSet.h }; template<typename ValueArg> struct ListHashSetNode { -Index: b/src/3rdparty/webkit/JavaScriptCore/wtf/Platform.h -=================================================================== --- a/src/3rdparty/webkit/JavaScriptCore/wtf/Platform.h +++ b/src/3rdparty/webkit/JavaScriptCore/wtf/Platform.h @@ -167,6 +167,23 @@ @@ -95,11 +89,9 @@ Index: b/src/3rdparty/webkit/JavaScriptCore/wtf/Platform.h /* Compiler */ /* COMPILER(MSVC) */ -Index: b/src/3rdparty/webkit/JavaScriptCore/wtf/Vector.h -=================================================================== --- a/src/3rdparty/webkit/JavaScriptCore/wtf/Vector.h +++ b/src/3rdparty/webkit/JavaScriptCore/wtf/Vector.h -@@ -355,8 +355,7 @@ +@@ -355,8 +355,7 @@ namespace WTF { static const size_t m_inlineBufferSize = inlineCapacity * sizeof(T); T* inlineBuffer() { return reinterpret_cast<T*>(&m_inlineBuffer); } @@ -109,11 +101,9 @@ Index: b/src/3rdparty/webkit/JavaScriptCore/wtf/Vector.h }; template<typename T, size_t inlineCapacity = 0> -Index: b/src/3rdparty/webkit/WebCore/platform/AtomicString.cpp -=================================================================== --- a/src/3rdparty/webkit/WebCore/platform/AtomicString.cpp +++ b/src/3rdparty/webkit/WebCore/platform/AtomicString.cpp -@@ -104,7 +104,7 @@ +@@ -104,7 +104,7 @@ struct UCharBufferTranslator { if (strLength != bufLength) return false; @@ -122,11 +112,9 @@ Index: b/src/3rdparty/webkit/WebCore/platform/AtomicString.cpp const UChar* strChars = str->characters(); const UChar* bufChars = buf.s; -Index: b/src/3rdparty/webkit/WebCore/platform/StringHash.h -=================================================================== --- a/src/3rdparty/webkit/WebCore/platform/StringHash.h +++ b/src/3rdparty/webkit/WebCore/platform/StringHash.h -@@ -44,6 +44,15 @@ +@@ -44,6 +44,15 @@ namespace WTF { if (aLength != bLength) return false; @@ -142,7 +130,7 @@ Index: b/src/3rdparty/webkit/WebCore/platform/StringHash.h const uint32_t* aChars = reinterpret_cast<const uint32_t*>(a->characters()); const uint32_t* bChars = reinterpret_cast<const uint32_t*>(b->characters()); -@@ -56,6 +65,7 @@ +@@ -56,6 +65,7 @@ namespace WTF { return false; return true; diff --git a/debian/patches/40_alpha_ice.diff b/debian/patches/40_alpha_ice.diff index 524ae33..621bc8a 100644 --- a/debian/patches/40_alpha_ice.diff +++ b/debian/patches/40_alpha_ice.diff @@ -1,6 +1,6 @@ --- a/src/corelib/global/qlibraryinfo.cpp +++ b/src/corelib/global/qlibraryinfo.cpp -@@ -78,14 +78,7 @@ +@@ -72,14 +72,7 @@ class QLibraryInfoPrivate { public: static QSettings *findConfiguration(); @@ -16,7 +16,7 @@ static QSettings *configuration() { #ifdef QT_NO_THREAD -@@ -104,6 +97,15 @@ +@@ -98,6 +91,15 @@ public: } }; @@ -34,7 +34,7 @@ settings = QLibraryInfoPrivate::findConfiguration(); --- a/src/corelib/tools/qhash.h +++ b/src/corelib/tools/qhash.h -@@ -499,7 +499,7 @@ +@@ -493,7 +493,7 @@ Q_INLINE_TEMPLATE void QHash<Key, T>::de } template <class Key, class T> diff --git a/debian/patches/41_disable_opengl_visibility.diff b/debian/patches/41_disable_opengl_visibility.diff index f27b26e..6557b2d 100644 --- a/debian/patches/41_disable_opengl_visibility.diff +++ b/debian/patches/41_disable_opengl_visibility.diff @@ -2,7 +2,7 @@ temporary fix because of alpha, has to be dropped as soon as gcc's bug is fixed. --- a/src/opengl/opengl.pro +++ b/src/opengl/opengl.pro -@@ -6,6 +6,7 @@ +@@ -6,6 +6,7 @@ DEFINES += QT_NO_USING_NAMESPACE win32-msvc*|win32-icc:QMAKE_LFLAGS += /BASE:0x63000000 solaris-cc*:QMAKE_CXXFLAGS_RELEASE -= -O2 diff --git a/debian/patches/50_kfreebsd_build_fix.diff b/debian/patches/50_kfreebsd_build_fix.diff index 84736f6..03a9cb4 100644 --- a/debian/patches/50_kfreebsd_build_fix.diff +++ b/debian/patches/50_kfreebsd_build_fix.diff @@ -4,7 +4,7 @@ Fixes FTBFS on GNU/kFreeBSD by creating new Q_OS_GLIBC. --- a/src/corelib/global/qglobal.h +++ b/src/corelib/global/qglobal.h -@@ -210,6 +210,12 @@ +@@ -204,6 +204,12 @@ namespace QT_NAMESPACE {} # define Q_OS_RELIANT #elif defined(__linux__) || defined(__linux) # define Q_OS_LINUX @@ -17,7 +17,7 @@ Fixes FTBFS on GNU/kFreeBSD by creating new Q_OS_GLIBC. #elif defined(__FreeBSD__) || defined(__DragonFly__) # define Q_OS_FREEBSD # define Q_OS_BSD4 -@@ -230,8 +236,6 @@ +@@ -224,8 +230,6 @@ namespace QT_NAMESPACE {} # define Q_OS_AIX #elif defined(__Lynx__) # define Q_OS_LYNX @@ -28,9 +28,9 @@ Fixes FTBFS on GNU/kFreeBSD by creating new Q_OS_GLIBC. #elif defined(__QNXNTO__) --- a/src/corelib/plugin/qlibrary.cpp +++ b/src/corelib/plugin/qlibrary.cpp -@@ -288,13 +288,13 @@ +@@ -286,13 +286,13 @@ static bool qt_parse_pattern(const char - #if defined(Q_OS_UNIX) && !defined(Q_OS_MAC) + #if defined(Q_OS_UNIX) && !defined(Q_OS_MAC) && !defined(QT_NO_PLUGIN_CHECK) -#if defined(Q_OS_FREEBSD) || defined(Q_OS_LINUX) +#if defined(Q_OS_FREEBSD) || defined(Q_OS_GLIBC) @@ -46,7 +46,7 @@ Fixes FTBFS on GNU/kFreeBSD by creating new Q_OS_GLIBC. const char *pattern, ulong p_len) --- a/src/corelib/tools/qlocale.cpp +++ b/src/corelib/tools/qlocale.cpp -@@ -80,7 +80,7 @@ +@@ -74,7 +74,7 @@ QT_END_NAMESPACE #include <qdebug.h> #include <time.h> @@ -55,7 +55,7 @@ Fixes FTBFS on GNU/kFreeBSD by creating new Q_OS_GLIBC. # include <fenv.h> #endif -@@ -6256,7 +6256,7 @@ +@@ -6253,7 +6253,7 @@ Q_CORE_EXPORT char *qdtoa ( double d, in _control87(MCW_EM, MCW_EM); #endif @@ -64,7 +64,7 @@ Fixes FTBFS on GNU/kFreeBSD by creating new Q_OS_GLIBC. fenv_t envp; feholdexcept(&envp); #endif -@@ -6272,7 +6272,7 @@ +@@ -6269,7 +6269,7 @@ Q_CORE_EXPORT char *qdtoa ( double d, in #endif //_M_X64 #endif //Q_OS_WIN diff --git a/debian/patches/60_m68k_inotify_fix.diff b/debian/patches/60_m68k_inotify_fix.diff deleted file mode 100644 index aac297a..0000000 --- a/debian/patches/60_m68k_inotify_fix.diff +++ /dev/null @@ -1,18 +0,0 @@ -author: Brian Nelson <pyro@debian.org> - -From Roman Zippel <zippel@linux-m68k.org>: These defines are taken from the -m68k tree, they should appear like this soon also in the upstream source. - ---- a/src/corelib/io/qfilesystemwatcher_inotify.cpp -+++ b/src/corelib/io/qfilesystemwatcher_inotify.cpp -@@ -112,6 +112,10 @@ - # define __NR_inotify_init 240 - # define __NR_inotify_add_watch 241 - # define __NR_inotify_rm_watch 242 -+#elif defined (__mc68000__) -+# define __NR_inotify_init 284 -+# define __NR_inotify_add_watch 285 -+# define __NR_inotify_rm_watch 286 - #else - # error "This architecture is not supported. Please talk to qt-bugs@trolltech.com" - #endif diff --git a/debian/patches/71_hppa_unaligned_access_fix_458133.diff b/debian/patches/71_hppa_unaligned_access_fix_458133.diff index 2402781..4d22cbc 100644 --- a/debian/patches/71_hppa_unaligned_access_fix_458133.diff +++ b/debian/patches/71_hppa_unaligned_access_fix_458133.diff @@ -2,71 +2,9 @@ author: Bernhard R. Link <brlink@debian.org> Fix unaligned access on hppa ---- a/src/corelib/global/qnumeric_p.h -+++ b/src/corelib/global/qnumeric_p.h -@@ -64,11 +64,17 @@ - static const unsigned char qt_armfpa_inf_bytes[] = { 0, 0, 0xf0, 0x7f, 0, 0, 0, 0 }; - static inline double qt_inf() - { -+ union { double d; unsigned char bytes[8]; } val; -+ - #ifdef QT_ARMFPA -- return *reinterpret_cast<const double *>(qt_armfpa_inf_bytes); -+ qMemCopy(val.bytes, qt_armfpa_inf_bytes, 8); - #else -- return *reinterpret_cast<const double *>(QSysInfo::ByteOrder == QSysInfo::BigEndian ? qt_be_inf_bytes : qt_le_inf_bytes); -+ if (QSysInfo::ByteOrder == QSysInfo::BigEndian) -+ qMemCopy(val.bytes, qt_be_inf_bytes, 8); -+ else -+ qMemCopy(val.bytes, qt_le_inf_bytes, 8); - #endif -+ return val.d; - } - - // Signaling NAN -@@ -77,11 +83,17 @@ - static const unsigned char qt_armfpa_snan_bytes[] = { 0, 0, 0xf8, 0x7f, 0, 0, 0, 0 }; - static inline double qt_snan() - { -+ union { double d; unsigned char bytes[8]; } val; -+ - #ifdef QT_ARMFPA -- return *reinterpret_cast<const double *>(qt_armfpa_snan_bytes); -+ qMemCopy(val.bytes, qt_armfpa_snan_bytes, 8); - #else -- return *reinterpret_cast<const double *>(QSysInfo::ByteOrder == QSysInfo::BigEndian ? qt_be_snan_bytes : qt_le_snan_bytes); -+ if (QSysInfo::ByteOrder == QSysInfo::BigEndian) -+ qMemCopy(val.bytes, qt_be_snan_bytes, 8); -+ else -+ qMemCopy(val.bytes, qt_le_snan_bytes, 8); - #endif -+ return val.d; - } - - // Quiet NAN -@@ -90,11 +102,17 @@ - static const unsigned char qt_armfpa_qnan_bytes[] = { 0, 0, 0xf8, 0xff, 0, 0, 0, 0 }; - static inline double qt_qnan() - { -+ union { double d; unsigned char bytes[8]; } val; -+ - #ifdef QT_ARMFPA -- return *reinterpret_cast<const double *>(qt_armfpa_qnan_bytes); -+ qMemCopy(val.bytes, qt_armfpa_qnan_bytes, 8); - #else -- return *reinterpret_cast<const double *>(QSysInfo::ByteOrder == QSysInfo::BigEndian ? qt_be_qnan_bytes : qt_le_qnan_bytes); -+ if (QSysInfo::ByteOrder == QSysInfo::BigEndian) -+ qMemCopy(val.bytes, qt_be_qnan_bytes, 8); -+ else -+ qMemCopy(val.bytes, qt_le_qnan_bytes, 8); - #endif -+ return val.d; - } - - static inline bool qt_is_inf(double d) --- a/src/3rdparty/sha1/sha1.cpp +++ b/src/3rdparty/sha1/sha1.cpp -@@ -151,10 +151,10 @@ +@@ -145,10 +145,10 @@ static inline void sha1ProcessChunk(Sha1 quint32 d = state->h3; quint32 e = state->h4; @@ -80,7 +18,7 @@ Fix unaligned access on hppa for (int i = 0; i < 16; ++i) chunk->words[i] = qFromBigEndian(chunk->words[i]); -@@ -190,7 +190,7 @@ +@@ -184,7 +184,7 @@ static inline void sha1ProcessChunk(Sha1 // Wipe variables #ifdef SHA1_WIPE_VARIABLES a = b = c = d = e = 0; diff --git a/debian/patches/72_generic_arch_atomic_header_fix.diff b/debian/patches/72_generic_arch_atomic_header_fix.diff deleted file mode 100644 index a6a1f8d..0000000 --- a/debian/patches/72_generic_arch_atomic_header_fix.diff +++ /dev/null @@ -1,17 +0,0 @@ -http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=475767 - -This mostly affects hppa, but hppa is "community supported" - meaning that the Trolls doesn't care much. - -Index: b/src/corelib/arch/qatomic_generic.h -=================================================================== ---- a/src/corelib/arch/qatomic_generic.h -+++ b/src/corelib/arch/qatomic_generic.h -@@ -223,7 +223,7 @@ - Q_INLINE_TEMPLATE T *QBasicAtomicPointer<T>::fetchAndStoreOrdered(T *newValue) - { - return reinterpret_cast<T *> -- (QBasicAtomicPointer_fetchAndStoreOrdered(&reinterpret_cast<void * volatile *>(&_q_value), -+ (QBasicAtomicPointer_fetchAndStoreOrdered(reinterpret_cast<void * volatile *>(&_q_value), - newValue)); - } - diff --git a/debian/patches/73_from4.4.1_no_AAAA_when_ipv6_disabled.diff b/debian/patches/73_from4.4.1_no_AAAA_when_ipv6_disabled.diff deleted file mode 100644 index df618e1..0000000 --- a/debian/patches/73_from4.4.1_no_AAAA_when_ipv6_disabled.diff +++ /dev/null @@ -1,30 +0,0 @@ ---- a/src/network/kernel/qhostinfo_unix.cpp 2008-04-28 16:11:19.000000000 +0300 -+++ b/src/network/kernel/qhostinfo_unix.cpp 2008-06-08 02:35:23.000000000 +0300 -@@ -167,8 +167,19 @@ - struct addrinfo hints; - memset(&hints, 0, sizeof(hints)); - hints.ai_family = PF_UNSPEC; -+# ifdef AI_ADDRCONFIG -+ hints.ai_flags = AI_ADDRCONFIG; -+# endif - - int result = getaddrinfo(hostName.toLatin1().constData(), 0, &hints, &res); -+# ifdef AI_ADDRCONFIG -+ if (result == EAI_BADFLAGS) { -+ // if the lookup failed with AI_ADDRCONFIG set, try again without it -+ hints.ai_flags = 0; -+ result = getaddrinfo(hostName.toLatin1().constData(), 0, &hints, &res); -+ } -+# endif -+ - if (result == 0) { - addrinfo *node = res; - QList<QHostAddress> addresses; -@@ -200,7 +211,6 @@ - freeaddrinfo(res); - } else if (result == EAI_NONAME - || result == EAI_FAIL -- || result == EAI_FAIL - #ifdef EAI_NODATA - // EAI_NODATA is deprecated in RFC 3493 - || result == EAI_NODATA diff --git a/debian/patches/80_hurd_max_path.diff b/debian/patches/80_hurd_max_path.diff index bda822e..a6983cc 100644 --- a/debian/patches/80_hurd_max_path.diff +++ b/debian/patches/80_hurd_max_path.diff @@ -2,7 +2,7 @@ author: Brian Nelson <pyro@debian.org> --- a/src/corelib/io/qfsfileengine_unix.cpp +++ b/src/corelib/io/qfsfileengine_unix.cpp -@@ -66,6 +66,10 @@ +@@ -60,6 +60,10 @@ QT_BEGIN_NAMESPACE diff --git a/debian/patches/90_gcc43.diff b/debian/patches/90_gcc43.diff deleted file mode 100644 index 71dbc14..0000000 --- a/debian/patches/90_gcc43.diff +++ /dev/null @@ -1,20 +0,0 @@ ---- a/src/sql/drivers/ibase/qsql_ibase.cpp -+++ b/src/sql/drivers/ibase/qsql_ibase.cpp -@@ -467,7 +467,7 @@ - } - /* char** ? seems like bad influence from oracle ... */ - template<> --static QList<QVariant> toList<long>(char** buf, int count, long*) -+QList<QVariant> toList<long>(char** buf, int count, long*) - { - QList<QVariant> res; - for (int i = 0; i < count; ++i) { -@@ -622,7 +622,7 @@ - } - - template<> --static char* fillList<float>(char *buffer, const QList<QVariant> &list, float*) -+char* fillList<float>(char *buffer, const QList<QVariant> &list, float*) - { - for (int i = 0; i < list.size(); ++i) { - double val; diff --git a/debian/patches/series b/debian/patches/series index 81bf1f0..e1b1327 100644 --- a/debian/patches/series +++ b/debian/patches/series @@ -1,28 +1,25 @@ -# patches from upstream -0001_webkit_backround_in_scrollbars_webkit-5b0ea6b840a6e25e97b886e1852c3fc6ef8e8d0d.diff -0002_https_lowercase.cpp -0003_tab_text_cutoff.diff # qt-copy patches 0167-fix-group-reading.diff 0180-window-role.diff 0195-compositing-properties.diff 0203-qtexthtmlparser-link-color.diff 0209-prevent-qt-mixing.diff -0210-fix-crash-q3stylesheet-font-size.diff -0214-fix-qgraphicsproxywidget-tab-crash.diff 0216-allow-isystem-for-headers.diff -0220-no-x-recursion-in-xerrhandler.diff -0223-fix-qpixmap-hasalpha.diff 0224-fast-qpixmap-fill.diff -0225-invalidate-tabbar-geometry-on-refresh.diff +0225-invalidate-tabbar-geometry-on-refresh.patch 0226-qtreeview-column_resize_when_needed.diff -0227-qdatastream-regression.diff -0228-qsortfilterproxymodel-invalidate-noscroll.diff -0230-qtextcontrol-selectnextword.diff -0233-fix-q3textbrowser-image.diff 0234-fix-mysql-threaded.diff -0235-qdbus-dispatch-async-timeout.diff -0236-qtoolbararealayout-restore.diff +0238-fix-qt-qttabbar-size.diff +0245-fix-randr-changes-detecting.diff +0248-fix-qwidget-scroll-slowness.diff +0249-webkit-stale-frame-pointer.diff +0254-fix-qgraphicsproxywidget-deletion-crash.diff +0255-qtreeview-selection-columns-hidden.diff +0256-fix-recursive-backingstore-sync-crash.diff +0257-qurl-validate-speedup.diff +0260-fix-qgraphicswidget-deletionclearFocus.diff +0261-sync-before-reset-errorhandler.patch +0262-fix-treeview-animation-crash.diff # debian patches 01_qmake_for_debian.diff @@ -37,17 +34,13 @@ 14_add_libraries_to_gui_build_where_actually_needed.diff 15_fix_qmake_makefile_generation.diff 16_hide_std_symbols_on_qtwebkit.diff +17_add_postgresql_8.3_support.diff 20_mips_atomic_ops.diff -21_qprintdialog_honour_fileprintersadded.diff -30_webkit-unaligned-access.patch +30_webkit_unaligned_access.diff 40_alpha_ice.diff 41_disable_opengl_visibility.diff 50_kfreebsd_build_fix.diff -60_m68k_inotify_fix.diff 70_hppa_ldcw_fix.diff 71_hppa_unaligned_access_fix_458133.diff -72_generic_arch_atomic_header_fix.diff -73_from4.4.1_no_AAAA_when_ipv6_disabled.diff 80_hurd_max_path.diff 81_hurd_more_max_path.diff -90_gcc43.diff |