summaryrefslogtreecommitdiff
path: root/debian/patches
diff options
context:
space:
mode:
Diffstat (limited to 'debian/patches')
-rw-r--r--debian/patches/0167-fix-group-reading.diff28
-rw-r--r--debian/patches/0180-window-role.diff12
-rw-r--r--debian/patches/0195-compositing-properties.diff6
-rw-r--r--debian/patches/0203-qtexthtmlparser-link-color.diff18
-rw-r--r--debian/patches/0209-prevent-qt-mixing.diff2
-rw-r--r--debian/patches/0216-allow-isystem-for-headers.diff4
-rw-r--r--debian/patches/0224-fast-qpixmap-fill.diff46
-rw-r--r--debian/patches/0225-invalidate-tabbar-geometry-on-refresh.patch6
-rw-r--r--debian/patches/0226-qtreeview-column_resize_when_needed.diff104
-rw-r--r--debian/patches/0234-fix-mysql-threaded.diff6
-rw-r--r--debian/patches/0238-fix-qt-qttabbar-size.diff20
-rw-r--r--debian/patches/0245-fix-randr-changes-detecting.diff2
-rw-r--r--debian/patches/0248-fix-qwidget-scroll-slowness.diff39
-rw-r--r--debian/patches/0249-webkit-stale-frame-pointer.diff161
-rw-r--r--debian/patches/0254-fix-qgraphicsproxywidget-deletion-crash.diff23
-rw-r--r--debian/patches/0255-qtreeview-selection-columns-hidden.diff4
-rw-r--r--debian/patches/0256-fix-recursive-backingstore-sync-crash.diff38
-rw-r--r--debian/patches/0257-qurl-validate-speedup.diff21
-rw-r--r--debian/patches/0260-fix-qgraphicswidget-deletionclearFocus.diff20
-rw-r--r--debian/patches/0261-sync-before-reset-errorhandler.patch22
-rw-r--r--debian/patches/0262-fix-treeview-animation-crash.diff44
-rw-r--r--debian/patches/0273-odbc-64bit-compile.diff23
-rw-r--r--debian/patches/02_launch_assistant-qt4.diff2
-rw-r--r--debian/patches/03_launch_moc-qt4.diff2
-rw-r--r--debian/patches/04_launch_uic-qt4.diff2
-rw-r--r--debian/patches/05_append_qt4_target.diff46
-rw-r--r--debian/patches/07_trust_dpkg-arch_over_uname-m.diff4
-rw-r--r--debian/patches/09_qmake_lflags_as-needed.diff2
-rw-r--r--debian/patches/12_fix_qmake_pkgconfig.diff11
-rw-r--r--debian/patches/14_add_libraries_to_gui_build_where_actually_needed.diff8
-rw-r--r--debian/patches/15_fix_qmake_makefile_generation.diff2
-rw-r--r--debian/patches/16_hide_std_symbols_on_qtwebkit.diff14
-rw-r--r--debian/patches/17_add_postgresql_8.3_support.diff8
-rw-r--r--debian/patches/18_enable_qt3support_qtwebkit_debug_info.diff26
-rw-r--r--debian/patches/19_install_qdoc3.diff21
-rw-r--r--debian/patches/20_fix_ftbfs_callgrindChildExitCode.diff28
-rw-r--r--debian/patches/20_mips_atomic_ops.diff92
-rw-r--r--debian/patches/21_fix_ppc_build.diff11
-rw-r--r--debian/patches/22_fix_qiconvcodec.diff68
-rw-r--r--debian/patches/30_webkit_unaligned_access.diff55
-rw-r--r--debian/patches/40_alpha_ice.diff6
-rw-r--r--debian/patches/41_disable_opengl_visibility.diff10
-rw-r--r--debian/patches/50_kfreebsd_build_fix.diff12
-rw-r--r--debian/patches/71_hppa_unaligned_access_fix_458133.diff4
-rw-r--r--debian/patches/80_hurd_max_path.diff2
-rw-r--r--debian/patches/series21
46 files changed, 285 insertions, 821 deletions
diff --git a/debian/patches/0167-fix-group-reading.diff b/debian/patches/0167-fix-group-reading.diff
deleted file mode 100644
index 60e2efc..0000000
--- a/debian/patches/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.
-
---- a/src/corelib/io/qfsfileengine_unix.cpp
-+++ b/src/corelib/io/qfsfileengine_unix.cpp
-@@ -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 (;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/debian/patches/0180-window-role.diff b/debian/patches/0180-window-role.diff
index a26ef89..15c8706 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
-@@ -1037,9 +1037,18 @@
+@@ -988,9 +988,18 @@ void QObject::setObjectName(const QStrin
{
Q_D(QObject);
d->objectName = name;
@@ -35,7 +35,7 @@ this makes the window role set in many cases (which KWin uses for window identif
QObject::child is compat but needs to call itself recursively,
--- a/src/corelib/kernel/qobject_p.h
+++ b/src/corelib/kernel/qobject_p.h
-@@ -146,6 +146,9 @@
+@@ -139,6 +139,9 @@ public:
mutable quint32 connectedSignals;
QString objectName;
@@ -47,17 +47,17 @@ 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
-@@ -333,6 +333,7 @@
+@@ -355,6 +355,7 @@ public:
#if defined(Q_WS_X11)
void setWindowRole();
+ virtual void checkWindowRole();
void sendStartupMessage(const char *message) const;
void setNetWmWindowTypes();
- #endif
+ void x11UpdateIsOpaque();
--- a/src/gui/kernel/qwidget_x11.cpp
+++ b/src/gui/kernel/qwidget_x11.cpp
-@@ -719,13 +719,17 @@
+@@ -761,13 +761,17 @@ void QWidgetPrivate::create_sys(WId wind
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
-@@ -2719,6 +2723,17 @@
+@@ -2733,6 +2737,17 @@ void QWidgetPrivate::setWindowRole()
(unsigned char *)windowRole.constData(), windowRole.length());
}
diff --git a/debian/patches/0195-compositing-properties.diff b/debian/patches/0195-compositing-properties.diff
index 1e5b453..fc7814e 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
-@@ -662,6 +662,11 @@
+@@ -702,6 +702,11 @@ void QWidgetPrivate::create_sys(WId wind
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();
-@@ -710,13 +715,21 @@
+@@ -752,13 +757,21 @@ void QWidgetPrivate::create_sys(WId wind
// set EWMH window types
setNetWmWindowTypes();
@@ -45,7 +45,7 @@ so they can be used when compositing.
// declare the widget's window role
QByteArray windowRole;
-@@ -736,10 +749,6 @@
+@@ -778,10 +791,6 @@ void QWidgetPrivate::create_sys(WId wind
XChangeProperty(dpy, id, ATOM(WM_CLIENT_LEADER),
XA_WINDOW, 32, PropModeReplace,
(unsigned char *)&X11->wm_client_leader, 1);
diff --git a/debian/patches/0203-qtexthtmlparser-link-color.diff b/debian/patches/0203-qtexthtmlparser-link-color.diff
deleted file mode 100644
index 54b6dca..0000000
--- a/debian/patches/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.
-
---- a/src/gui/text/qtexthtmlparser.cpp
-+++ b/src/gui/text/qtexthtmlparser.cpp
-@@ -1056,7 +1056,7 @@
- && !attributes.at(i + 1).isEmpty()) {
- hasHref = true;
- charFormat.setUnderlineStyle(QTextCharFormat::SingleUnderline);
-- charFormat.setForeground(Qt::blue);
-+ charFormat.setForeground(QApplication::palette().link());
- }
- }
-
diff --git a/debian/patches/0209-prevent-qt-mixing.diff b/debian/patches/0209-prevent-qt-mixing.diff
index e16793c..628c0fb 100644
--- a/debian/patches/0209-prevent-qt-mixing.diff
+++ b/debian/patches/0209-prevent-qt-mixing.diff
@@ -15,7 +15,7 @@ It only further enforces using the same sources for the whole Qt build.
--- a/src/corelib/kernel/qobject_p.h
+++ b/src/corelib/kernel/qobject_p.h
-@@ -85,7 +85,9 @@
+@@ -78,7 +78,9 @@ extern QSignalSpyCallbackSet Q_CORE_EXPO
inline QObjectData::~QObjectData() {}
diff --git a/debian/patches/0216-allow-isystem-for-headers.diff b/debian/patches/0216-allow-isystem-for-headers.diff
index 7e1d1dd..e59688f 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
-@@ -833,6 +833,11 @@
+@@ -845,6 +845,11 @@ while [ "$#" -gt 0 ]; do
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
-@@ -1740,6 +1745,9 @@
+@@ -1805,6 +1810,9 @@ while [ "$#" -gt 0 ]; do
add_ipath)
I_FLAGS="$I_FLAGS -I\"${VAL}\""
;;
diff --git a/debian/patches/0224-fast-qpixmap-fill.diff b/debian/patches/0224-fast-qpixmap-fill.diff
deleted file mode 100644
index 1fc721f..0000000
--- a/debian/patches/0224-fast-qpixmap-fill.diff
+++ /dev/null
@@ -1,46 +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.
-
---- a/src/gui/image/qpixmap_x11.cpp
-+++ b/src/gui/image/qpixmap_x11.cpp
-@@ -1121,7 +1121,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/debian/patches/0225-invalidate-tabbar-geometry-on-refresh.patch b/debian/patches/0225-invalidate-tabbar-geometry-on-refresh.patch
index a02361c..1b5a1e9 100644
--- a/debian/patches/0225-invalidate-tabbar-geometry-on-refresh.patch
+++ b/debian/patches/0225-invalidate-tabbar-geometry-on-refresh.patch
@@ -1,5 +1,5 @@
-qt-bugs@ issue : None
-Trolltech task ID : None
+qt-bugs@ issue : 208185
+Trolltech task ID : 208349
bugs.kde.org number : 159014
applied: no
author: Robert Knight <robertknight@gmail.com>
@@ -21,7 +21,7 @@ This patch fixes the problem by calling updateGeometry() whenever the tab bar's
--- a/src/gui/widgets/qtabbar.cpp
+++ b/src/gui/widgets/qtabbar.cpp
-@@ -533,8 +533,8 @@
+@@ -673,8 +673,8 @@ void QTabBarPrivate::refresh()
layoutTabs();
makeVisible(currentIndex);
q->update();
diff --git a/debian/patches/0226-qtreeview-column_resize_when_needed.diff b/debian/patches/0226-qtreeview-column_resize_when_needed.diff
deleted file mode 100644
index 986b652..0000000
--- a/debian/patches/0226-qtreeview-column_resize_when_needed.diff
+++ /dev/null
@@ -1,104 +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.
-
---- a/src/gui/itemviews/qtreeview.h
-+++ b/src/gui/itemviews/qtreeview.h
-@@ -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
---- a/src/gui/itemviews/qtreeview.cpp
-+++ b/src/gui/itemviews/qtreeview.cpp
-@@ -248,6 +248,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());
- }
-@@ -2815,6 +2828,8 @@
- }
- if (model->canFetchMore(index))
- model->fetchMore(index);
-+
-+ _q_forceColumnResizeToFitContents();
- }
-
- void QTreeViewPrivate::collapse(int item, bool emitSignal)
-@@ -2854,6 +2869,8 @@
- else
- emit q->collapsed(modelIndex);
- }
-+
-+ _q_forceColumnResizeToFitContents();
- }
-
- void QTreeViewPrivate::prepareAnimatedOperation(int item, AnimatedOperation::Type type)
-@@ -2965,6 +2982,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);
---- a/src/gui/itemviews/qtreeview_p.h
-+++ b/src/gui/itemviews/qtreeview_p.h
-@@ -101,6 +101,7 @@
- QPixmap after;
- };
-
-+ void _q_forceColumnResizeToFitContents();
- void expand(int item, bool emitSignal);
- void collapse(int item, bool emitSignal);
-
diff --git a/debian/patches/0234-fix-mysql-threaded.diff b/debian/patches/0234-fix-mysql-threaded.diff
index 3ccc006..fcd4d12 100644
--- a/debian/patches/0234-fix-mysql-threaded.diff
+++ b/debian/patches/0234-fix-mysql-threaded.diff
@@ -9,7 +9,7 @@ mysql server in a multithreaded environment
--- a/src/sql/drivers/mysql/qsql_mysql.cpp
+++ b/src/sql/drivers/mysql/qsql_mysql.cpp
-@@ -1248,6 +1248,10 @@
+@@ -1252,6 +1252,10 @@ bool QMYSQLDriver::open(const QString& d
d->preparedQuerysEnabled = false;
#endif
@@ -20,7 +20,7 @@ mysql server in a multithreaded environment
setOpen(true);
setOpenError(false);
return true;
-@@ -1256,6 +1260,9 @@
+@@ -1260,6 +1264,9 @@ bool QMYSQLDriver::open(const QString& d
void QMYSQLDriver::close()
{
if (isOpen()) {
@@ -28,5 +28,5 @@ mysql server in a multithreaded environment
+ mysql_thread_end();
+#endif
mysql_close(d->mysql);
+ d->mysql = NULL;
setOpen(false);
- setOpenError(false);
diff --git a/debian/patches/0238-fix-qt-qttabbar-size.diff b/debian/patches/0238-fix-qt-qttabbar-size.diff
deleted file mode 100644
index 8b35ab0..0000000
--- a/debian/patches/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).
-
---- a/src/gui/widgets/qtabbar.cpp
-+++ b/src/gui/widgets/qtabbar.cpp
-@@ -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;
- 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
index 5eaf5a9..e77e0e3 100644
--- a/debian/patches/0245-fix-randr-changes-detecting.diff
+++ b/debian/patches/0245-fix-randr-changes-detecting.diff
@@ -9,7 +9,7 @@ Fix QDesktopWidget not detecting some changes in multiscreen setups
--- a/src/gui/kernel/qapplication_x11.cpp
+++ b/src/gui/kernel/qapplication_x11.cpp
-@@ -2994,11 +2994,11 @@ int QApplication::x11ProcessEvent(XEvent
+@@ -3339,11 +3339,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));
diff --git a/debian/patches/0248-fix-qwidget-scroll-slowness.diff b/debian/patches/0248-fix-qwidget-scroll-slowness.diff
deleted file mode 100644
index 8e0353b..0000000
--- a/debian/patches/0248-fix-qwidget-scroll-slowness.diff
+++ /dev/null
@@ -1,39 +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/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
deleted file mode 100644
index c966d9a..0000000
--- a/debian/patches/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.
-
-
---- 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
deleted file mode 100644
index e9eefe9..0000000
--- a/debian/patches/0254-fix-qgraphicsproxywidget-deletion-crash.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 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
index 4a15b35..6409a38 100644
--- a/debian/patches/0255-qtreeview-selection-columns-hidden.diff
+++ b/debian/patches/0255-qtreeview-selection-columns-hidden.diff
@@ -31,10 +31,10 @@ 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
+@@ -3526,7 +3526,7 @@ QList<QPair<int, int> > QTreeViewPrivate
current.first = -2; // -1 is not enough because -1+1 = 0
current.second = -2;
- foreach(int logicalColumn, logicalIndexes) {
+ foreach (int logicalColumn, logicalIndexes) {
- if (current.second + 1 != logicalColumn) {
+ if (current.second + 1 != logicalColumn && !header->isSectionHidden(current.second + 1)) {
if (current.first != -2) {
diff --git a/debian/patches/0256-fix-recursive-backingstore-sync-crash.diff b/debian/patches/0256-fix-recursive-backingstore-sync-crash.diff
deleted file mode 100644
index 9665d5a..0000000
--- a/debian/patches/0256-fix-recursive-backingstore-sync-crash.diff
+++ /dev/null
@@ -1,38 +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.
-
-
---- 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
deleted file mode 100644
index eefd01f..0000000
--- a/debian/patches/0257-qurl-validate-speedup.diff
+++ /dev/null
@@ -1,21 +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.
-
---- 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
deleted file mode 100644
index 3936f34..0000000
--- a/debian/patches/0260-fix-qgraphicswidget-deletionclearFocus.diff
+++ /dev/null
@@ -1,20 +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
-
---- 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
deleted file mode 100644
index 2128ba8..0000000
--- a/debian/patches/0261-sync-before-reset-errorhandler.patch
+++ /dev/null
@@ -1,22 +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.
-
-
---- 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
deleted file mode 100644
index e307f3a..0000000
--- a/debian/patches/0262-fix-treeview-animation-crash.diff
+++ /dev/null
@@ -1,44 +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
---- 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/0273-odbc-64bit-compile.diff b/debian/patches/0273-odbc-64bit-compile.diff
new file mode 100644
index 0000000..b043d79
--- /dev/null
+++ b/debian/patches/0273-odbc-64bit-compile.diff
@@ -0,0 +1,23 @@
+qt-bugs@ issue:
+QtSw task ID:
+applied: no
+author: Alex Merry
+
+--- a/src/sql/drivers/odbc/qsql_odbc.cpp
++++ b/src/sql/drivers/odbc/qsql_odbc.cpp
+@@ -64,13 +64,13 @@ QT_BEGIN_NAMESPACE
+ #endif
+
+ // newer platform SDKs use SQLLEN instead of SQLINTEGER
+-#if defined(SQLLEN) || defined(Q_OS_WIN64)
++#if defined(SQLLEN) || defined(Q_OS_WIN64) || (defined(Q_OS_UNIX) && !defined(Q_OS_MAC))
+ # define QSQLLEN SQLLEN
+ #else
+ # define QSQLLEN SQLINTEGER
+ #endif
+
+-#if defined(SQLULEN) || defined(Q_OS_WIN64)
++#if defined(SQLULEN) || defined(Q_OS_WIN64) || (defined(Q_OS_UNIX) && !defined(Q_OS_MAC))
+ # define QSQLULEN SQLULEN
+ #else
+ # define QSQLULEN SQLUINTEGER
diff --git a/debian/patches/02_launch_assistant-qt4.diff b/debian/patches/02_launch_assistant-qt4.diff
index f086432..44ee566 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
-@@ -285,7 +285,7 @@ void MenuManager::showDocInAssistant(con
+@@ -284,7 +284,7 @@ void MenuManager::showDocInAssistant(con
if (this->assistantProcess.state() != QProcess::Running){
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 e5bfcf4..990cd83 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
-@@ -392,7 +392,7 @@ int main(int argc, char **argv)
+@@ -391,7 +391,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 eedb093..bd0e511 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
-@@ -482,7 +482,7 @@ namespace qdesigner_internal
+@@ -663,7 +663,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 32dfeea..cb5811e 100644
--- a/debian/patches/05_append_qt4_target.diff
+++ b/debian/patches/05_append_qt4_target.diff
@@ -57,7 +57,7 @@ author: Fathi Boudra <fabo@debian.org>
if [ "$VERBOSE" = "yes" ]; then
--- a/configure
+++ b/configure
-@@ -3789,7 +3789,7 @@ END {
+@@ -3935,7 +3935,7 @@ END {
}
# build qmake
@@ -66,7 +66,7 @@ author: Fathi Boudra <fabo@debian.org>
echo "Creating qmake. Please wait..."
OLD_QCONFIG_H=
-@@ -6031,8 +6031,8 @@ QMAKE_ABSOLUTE_SOURCE_ROOT = \$\$QT_SOUR
+@@ -6511,8 +6511,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
-@@ -6333,11 +6333,11 @@ EXEC=""
+@@ -6861,11 +6861,11 @@ EXEC=""
#-------------------------------------------------------------------------------
echo "Finding project files. Please wait..."
@@ -91,7 +91,7 @@ author: Fathi Boudra <fabo@debian.org>
fi
# .projects -> projects to process
-@@ -6510,7 +6510,7 @@ for file in .projects .projects.3; do
+@@ -7038,7 +7038,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
-@@ -116,7 +116,7 @@ qmake.path=$$[QT_INSTALL_BINS]
+@@ -115,7 +115,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 @@ CPPFLAGS = -I. -Igenerators -Igenerators
+@@ -99,17 +99,17 @@ CPPFLAGS = -I. -Igenerators -Igenerators
CXXFLAGS = @QMAKE_CXXFLAGS@ $(CPPFLAGS)
@@ -137,26 +137,22 @@ 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 @@ HEADERS += $$PROPARSERPATH/proitems.h \
- SOURCES += $$PROPARSERPATH/proitems.cpp \
- $$PROPARSERPATH/proreader.cpp
-
+@@ -1,5 +1,5 @@
+ TEMPLATE = app
-TARGET = lrelease
+TARGET = lrelease-qt4
- INCLUDEPATH += ../shared
DESTDIR = ../../../bin
+ QT -= gui
--- a/tools/linguist/lupdate/lupdate.pro
+++ b/tools/linguist/lupdate/lupdate.pro
-@@ -42,7 +42,7 @@ SOURCES += $$PROPARSERPATH/proitems.cpp
- $$PROPARSERPATH/proreader.cpp
-
-
+@@ -1,5 +1,5 @@
+ TEMPLATE = app
-TARGET = lupdate
+TARGET = lupdate-qt4
- INCLUDEPATH += ../shared
DESTDIR = ../../../bin
+ QT -= gui
--- a/src/tools/moc/moc.pro
+++ b/src/tools/moc/moc.pro
@@ -1,5 +1,5 @@
@@ -164,19 +160,17 @@ author: Fathi Boudra <fabo@debian.org>
-TARGET = moc
+TARGET = moc-qt4
- CONFIG += console qtinc
- CONFIG -= qt
+ DEFINES += QT_MOC
+ DESTDIR = ../../../bin
--- a/src/tools/uic/uic.pro
+++ b/src/tools/uic/uic.pro
-@@ -9,7 +9,7 @@ build_all:!build_pass {
-
- unix:!contains(QT_CONFIG, zlib):LIBS += -lz
-
+@@ -1,5 +1,5 @@
+ TEMPLATE = app
-TARGET = uic
+TARGET = uic-qt4
- DESTDIR = ../../../bin
- DEFINES += QT_BOOTSTRAPPED QT_UIC QT_LITE_UNICODE QT_NO_DATASTREAM \
+ DESTDIR = ../../../bin
+ DEFINES += QT_UIC
--- a/tools/assistant/tools/assistant/assistant.pro
+++ b/tools/assistant/tools/assistant/assistant.pro
@@ -2,7 +2,7 @@ include($$QT_SOURCE_TREE/tools/shared/fo
@@ -201,10 +195,10 @@ 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 @@ HEADERS += batchtranslationdialog.h \
+@@ -68,7 +68,7 @@ HEADERS += \
+
contains(QT_PRODUCT, OpenSource.*):DEFINES *= QT_OPENSOURCE
DEFINES += QT_KEYWORDS
- DESTDIR = ../../../bin
-TARGET = linguist
+TARGET = linguist-qt4
win32:RC_FILE = linguist.rc
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 48fa1ae..730132c 100644
--- a/debian/patches/07_trust_dpkg-arch_over_uname-m.diff
+++ b/debian/patches/07_trust_dpkg-arch_over_uname-m.diff
@@ -1,5 +1,7 @@
author: Sune Vuorela
-Reported to trolltech as N180631 - and task 181882
+qt-bugs@ issue : N180631
+Trolltech task ID : 181882
+
--- a/configure
+++ b/configure
@@ -94,7 +94,50 @@ getQMakeConf()
diff --git a/debian/patches/09_qmake_lflags_as-needed.diff b/debian/patches/09_qmake_lflags_as-needed.diff
index 4a191bf..93a9ebf 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
-@@ -463,6 +463,8 @@ mkdir -p "$outpath/config.tests"
+@@ -495,6 +495,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/12_fix_qmake_pkgconfig.diff b/debian/patches/12_fix_qmake_pkgconfig.diff
deleted file mode 100644
index 1535dce..0000000
--- a/debian/patches/12_fix_qmake_pkgconfig.diff
+++ /dev/null
@@ -1,11 +0,0 @@
---- a/qmake/generators/unix/unixmake2.cpp
-+++ b/qmake/generators/unix/unixmake2.cpp
-@@ -1434,6 +1434,8 @@ UnixMakefileGenerator::writePkgConfigFil
- pkgConfiglibName = "-l" + lname.left(lname.length()-Option::libtool_ext.length());
- }
- t << pkgConfiglibDir << " " << pkgConfiglibName << " ";
-+ t << endl;
-+ t << "Libs.private: ";
- for(QStringList::ConstIterator it = libs.begin(); it != libs.end(); ++it) {
- t << project->values((*it)).join(" ") << " ";
- }
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 aa988de..1c10c7b 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,6 +1,6 @@
--- a/src/gui/kernel/kernel.pri
+++ b/src/gui/kernel/kernel.pri
-@@ -141,6 +141,8 @@ embedded {
+@@ -146,6 +146,8 @@ embedded {
HEADERS += \
kernel/qeventdispatcher_glib_qws_p.h
QMAKE_CXXFLAGS += $$QT_CFLAGS_GLIB
@@ -11,9 +11,9 @@
--- a/src/gui/painting/painting.pri
+++ b/src/gui/painting/painting.pri
-@@ -63,6 +63,8 @@ SOURCES += \
- painting/qpathclipper.cpp \
- painting/qmemrotate.cpp
+@@ -78,6 +78,8 @@ SOURCES += \
+ painting/qtextureglyphcache.cpp \
+ painting/qtransform.cpp \
+LIBS += -lz
+
diff --git a/debian/patches/15_fix_qmake_makefile_generation.diff b/debian/patches/15_fix_qmake_makefile_generation.diff
index 17f810b..0ea1af5 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
-@@ -2328,7 +2328,7 @@ MakefileGenerator::writeSubTargets(QText
+@@ -2329,7 +2329,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 3ecbd99..c54b5ba 100644
--- a/debian/patches/16_hide_std_symbols_on_qtwebkit.diff
+++ b/debian/patches/16_hide_std_symbols_on_qtwebkit.diff
@@ -1,13 +1,13 @@
--- a/src/3rdparty/webkit/WebKit.pri
+++ b/src/3rdparty/webkit/WebKit.pri
-@@ -27,6 +27,7 @@ CONFIG(release) {
+@@ -26,6 +26,7 @@ CONFIG(release) {
+
BASE_DIR = $$PWD
- qt-port:INCLUDEPATH += \
- $$PWD/WebKit/qt/Api
-+qt-port:QMAKE_LFLAGS += -Wl,--version-script,$$BASE_DIR/symbols.filter
- gtk-port:INCLUDEPATH += \
- $$BASE_DIR/WebCore/platform/gtk \
- $$BASE_DIR/WebCore/platform/network/curl \
+ INCLUDEPATH += $$PWD/WebKit/qt/Api
++QMAKE_LFLAGS += -Wl,--version-script,$$BASE_DIR/symbols.filter
+
+ #
+ # For builds inside Qt we interpret the output rule and the input of each extra compiler manually
--- /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
index 7edc391..889ad50 100644
--- a/debian/patches/17_add_postgresql_8.3_support.diff
+++ b/debian/patches/17_add_postgresql_8.3_support.diff
@@ -2,7 +2,7 @@ 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
+@@ -632,9 +632,12 @@ static QPSQLDriver::Protocol getPSQLVers
serverVersion = QPSQLDriver::Version81;
break;
case 2:
@@ -16,7 +16,7 @@ Enable PostgreSQL 8.3 support.
}
break;
default:
-@@ -916,6 +919,7 @@ QSqlIndex QPSQLDriver::primaryIndex(cons
+@@ -915,6 +918,7 @@ QSqlIndex QPSQLDriver::primaryIndex(cons
case QPSQLDriver::Version8:
case QPSQLDriver::Version81:
case QPSQLDriver::Version82:
@@ -24,7 +24,7 @@ Enable PostgreSQL 8.3 support.
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
+@@ -988,6 +992,7 @@ QSqlRecord QPSQLDriver::record(const QSt
case QPSQLDriver::Version8:
case QPSQLDriver::Version81:
case QPSQLDriver::Version82:
@@ -34,7 +34,7 @@ Enable PostgreSQL 8.3 support.
"pg_attrdef.adsrc "
--- a/src/sql/drivers/psql/qsql_psql.h
+++ b/src/sql/drivers/psql/qsql_psql.h
-@@ -100,7 +100,8 @@ public:
+@@ -99,7 +99,8 @@ public:
Version74 = 10,
Version8 = 11,
Version81 = 12,
diff --git a/debian/patches/18_enable_qt3support_qtwebkit_debug_info.diff b/debian/patches/18_enable_qt3support_qtwebkit_debug_info.diff
new file mode 100644
index 0000000..f07b2ad
--- /dev/null
+++ b/debian/patches/18_enable_qt3support_qtwebkit_debug_info.diff
@@ -0,0 +1,26 @@
+author: Fathi Boudra <fabo@debian.org>
+
+On Qt >= 4.5, debug info are disabled for Qt3Support and QtWebkit.
+This patch enable them.
+
+--- a/src/3rdparty/webkit/WebCore/WebCore.pro
++++ b/src/3rdparty/webkit/WebCore/WebCore.pro
+@@ -2030,9 +2030,3 @@ HEADERS += $$WEBKIT_API_HEADERS
+ }
+ }
+
+-CONFIG(QTDIR_build):isEqual(QT_MAJOR_VERSION, 4):greaterThan(QT_MINOR_VERSION, 4) {
+- # start with 4.5
+- CONFIG -= separate_debug_info
+- CONFIG += no_debug_info
+-}
+-
+--- a/src/qt3support/qt3support.pro
++++ b/src/qt3support/qt3support.pro
+@@ -34,6 +34,3 @@ MOCDIR = .moc
+
+ *-g++*: QMAKE_CXXFLAGS += -fno-strict-aliasing
+
+-CONFIG -= separate_debug_info
+-CONFIG += no_debug_info
+-
diff --git a/debian/patches/19_install_qdoc3.diff b/debian/patches/19_install_qdoc3.diff
new file mode 100644
index 0000000..c86bcb3
--- /dev/null
+++ b/debian/patches/19_install_qdoc3.diff
@@ -0,0 +1,21 @@
+--- a/tools/qdoc3/qdoc3.pro
++++ b/tools/qdoc3/qdoc3.pro
+@@ -106,3 +106,8 @@ win32 {
+ QT_WINCONFIG = debug
+ }
+ }
++
++TARGET = qdoc3
++target.path = $$[QT_INSTALL_BINS]
++INSTALLS += target
++
+--- a/tools/tools.pro
++++ b/tools/tools.pro
+@@ -13,6 +13,7 @@ no-png {
+ SUBDIRS += designer
+ }
+ SUBDIRS += linguist
++ SUBDIRS += qdoc3
+ wince*: SUBDIRS = qtestlib designer
+ unix:!mac:!embedded:contains(QT_CONFIG, qt3support):SUBDIRS += qtconfig
+ win32:!wince*:!contains(QT_EDITION, OpenSource|Console):SUBDIRS += activeqt
diff --git a/debian/patches/20_fix_ftbfs_callgrindChildExitCode.diff b/debian/patches/20_fix_ftbfs_callgrindChildExitCode.diff
new file mode 100644
index 0000000..48480fa
--- /dev/null
+++ b/debian/patches/20_fix_ftbfs_callgrindChildExitCode.diff
@@ -0,0 +1,28 @@
+--- a/src/testlib/qtestcase.cpp
++++ b/src/testlib/qtestcase.cpp
+@@ -1359,6 +1359,9 @@ int QTest::qExec(QObject *testObject, in
+ QBenchmarkGlobalData benchmarkData;
+ QBenchmarkGlobalData::current = &benchmarkData;
+
++#ifdef QTESTLIB_USE_VALGRIND
++ int callgrindChildExitCode = 0;
++#endif
+
+ #ifdef Q_WS_MAC
+ bool macNeedsActivate = qApp && qstrcmp(qApp->metaObject()->className(), "QApplicaion");
+@@ -1411,7 +1414,6 @@ int QTest::qExec(QObject *testObject, in
+ QTestResult::setCurrentTestObject(metaObject->className());
+ qParseArgs(argc, argv);
+ #ifdef QTESTLIB_USE_VALGRIND
+- int callgrindChildExitCode;
+ if (QBenchmarkGlobalData::current->mode() == QBenchmarkGlobalData::CallgrindParentProcess) {
+ const QStringList origAppArgs(QCoreApplication::arguments());
+ if (!QBenchmarkValgrindUtils::rerunThroughCallgrind(origAppArgs, callgrindChildExitCode))
+@@ -1436,6 +1438,7 @@ int QTest::qExec(QObject *testObject, in
+ QTestResult::setCurrentTestFunction(0);
+ }
+
++ QTestLog::stopLogging();
+ #ifdef QT_MAC_USE_COCOA
+ if (macNeedsActivate) {
+ IOPMAssertionRelease(powerID);
diff --git a/debian/patches/20_mips_atomic_ops.diff b/debian/patches/20_mips_atomic_ops.diff
deleted file mode 100644
index 11b7fb2..0000000
--- a/debian/patches/20_mips_atomic_ops.diff
+++ /dev/null
@@ -1,92 +0,0 @@
-author: Thiemo Seufer <ths@debian.org>
-
-Fix compilation for Linux MIPS-I code.
-
---- a/src/corelib/arch/mips/qatomic32.s
-+++ b/src/corelib/arch/mips/qatomic32.s
-@@ -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)
- bne $8,$5,2f
- move $2,$6
- sc $2,0($4)
-+ .set mips0
- beqz $2,1b
- nop
- jr $31
-@@ -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
-@@ -33,6 +36,7 @@ q_atomic_test_and_set_acquire_int:
- jr $31
- nop
- 2: sync
-+ .set mips0
- jr $31
- move $2,$0
- .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
- 1: ll $8,0($4)
- bne $8,$5,2f
- move $2,$6
- sc $2,0($4)
-+ .set mips0
- beqz $2,1b
- nop
- jr $31
-@@ -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)
- bne $8,$5,2f
- move $2,$6
- sc $2,0($4)
-+ .set mips0
- beqz $2,1b
- nop
- jr $31
-@@ -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
-@@ -86,6 +95,7 @@ q_atomic_test_and_set_acquire_ptr:
- jr $31
- nop
- 2: sync
-+ .set mips0
- jr $31
- move $2,$0
- .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
- 1: ll $8,0($4)
- bne $8,$5,2f
- move $2,$6
- sc $2,0($4)
-+ .set mips0
- beqz $2,1b
- nop
- jr $31
diff --git a/debian/patches/21_fix_ppc_build.diff b/debian/patches/21_fix_ppc_build.diff
new file mode 100644
index 0000000..5f4a12b
--- /dev/null
+++ b/debian/patches/21_fix_ppc_build.diff
@@ -0,0 +1,11 @@
+--- a/src/corelib/arch/qatomic_powerpc.h
++++ b/src/corelib/arch/qatomic_powerpc.h
+@@ -188,7 +188,7 @@ inline bool QBasicAtomicInt::testAndSetR
+ "lwarx %[result]," _Q_VALUE "\n"
+ "xor. %[result], %[result], %[expectedValue]\n"
+ "bne $+12\n"
+- "stwcx. %[newValue],0,%[_q_value]\n"
++ "stwcx. %[newValue]," _Q_VALUE "\n"
+ "bne- $-16\n"
+ : [result] "=&r" (result),
+ _Q_VALUE_MEMORY_OPERAND
diff --git a/debian/patches/22_fix_qiconvcodec.diff b/debian/patches/22_fix_qiconvcodec.diff
new file mode 100644
index 0000000..42dad6a
--- /dev/null
+++ b/debian/patches/22_fix_qiconvcodec.diff
@@ -0,0 +1,68 @@
+--- a/src/corelib/codecs/qiconvcodec.cpp
++++ b/src/corelib/codecs/qiconvcodec.cpp
+@@ -83,6 +83,8 @@ static Ptr_iconv_close ptr_iconv_close =
+
+ QT_BEGIN_NAMESPACE
+
++extern bool qt_locale_initialized;
++
+ QIconvCodec::QIconvCodec()
+ : utf16Codec(0)
+ {
+@@ -182,8 +184,9 @@ QString QIconvCodec::convertToUnicode(co
+ }
+ } else {
+ QThreadStorage<QIconvCodec::IconvState *> *ts = toUnicodeState();
+- if (!ts) {
++ if (!qt_locale_initialized || !ts) {
+ // we're running after the Q_GLOBAL_STATIC has been deleted
++ // or before the QCoreApplication initialization
+ // bad programmer, no cookie for you
+ return QString::fromLatin1(chars, len);
+ }
+@@ -305,9 +308,14 @@ QByteArray QIconvCodec::convertFromUnico
+ #endif
+
+ QThreadStorage<QIconvCodec::IconvState *> *ts = fromUnicodeState();
+- if (!ts) {
++ if (!qt_locale_initialized || !ts) {
+ // we're running after the Q_GLOBAL_STATIC has been deleted
++ // or before the QCoreApplication initialization
+ // bad programmer, no cookie for you
++ if (!len)
++ // this is a special case - zero-sized string should be
++ // translated to empty but not-null QByteArray.
++ return QByteArray("");
+ return QString::fromRawData(uc, len).toLatin1();
+ }
+ IconvState *&state = ts->localData();
+@@ -384,8 +392,8 @@ QByteArray QIconvCodec::convertFromUnico
+ // fall through
+ case EINVAL:
+ {
+- ++inBytes;
+- --inBytesLeft;
++ inBytes += sizeof(QChar);
++ inBytesLeft -= sizeof(QChar);
+ break;
+ }
+ case E2BIG:
+--- a/src/corelib/kernel/qcoreapplication.cpp
++++ b/src/corelib/kernel/qcoreapplication.cpp
+@@ -163,6 +163,8 @@ void Q_CORE_EXPORT qt_call_post_routines
+ bool QCoreApplicationPrivate::is_app_running = false;
+ // app closing down if true
+ bool QCoreApplicationPrivate::is_app_closing = false;
++// initialized in qcoreapplication and in qtextstream autotest when setlocale is called.
++Q_AUTOTEST_EXPORT bool qt_locale_initialized = false;
+
+
+ Q_CORE_EXPORT uint qGlobalPostedEventsCount()
+@@ -440,6 +442,7 @@ void QCoreApplication::init()
+
+ #ifdef Q_OS_UNIX
+ setlocale(LC_ALL, ""); // use correct char set mapping
++ qt_locale_initialized = true;
+ #endif
+
+ #ifdef Q_WS_WIN
diff --git a/debian/patches/30_webkit_unaligned_access.diff b/debian/patches/30_webkit_unaligned_access.diff
index 8bc9211..57cb5a7 100644
--- a/debian/patches/30_webkit_unaligned_access.diff
+++ b/debian/patches/30_webkit_unaligned_access.diff
@@ -14,7 +14,7 @@ a real problem yet.
--- a/src/3rdparty/webkit/JavaScriptCore/wtf/FastMalloc.cpp
+++ b/src/3rdparty/webkit/JavaScriptCore/wtf/FastMalloc.cpp
-@@ -1267,14 +1267,14 @@ static TCMalloc_Central_FreeListPadded c
+@@ -1936,13 +1936,13 @@ static TCMalloc_Central_FreeListPadded c
// Page-level allocator
static SpinLock pageheap_lock = SPINLOCK_INITIALIZER;
@@ -24,16 +24,15 @@ a real problem yet.
// Avoid extra level of indirection by making "pageheap" be just an alias
// of pageheap_memory.
-
typedef union {
- void* m_memory;
+ uint64_t* m_memory;
- TCMalloc_PageHeap m_pageHeap;
+ TCMalloc_PageHeap* m_pageHeap;
} PageHeapUnion;
--- a/src/3rdparty/webkit/JavaScriptCore/wtf/ListHashSet.h
+++ b/src/3rdparty/webkit/JavaScriptCore/wtf/ListHashSet.h
-@@ -122,7 +122,7 @@ namespace WTF {
+@@ -127,7 +127,7 @@ namespace WTF {
: m_freeList(pool())
, m_isDoneWithInitialFreeList(false)
{
@@ -42,7 +41,7 @@ a real problem yet.
}
Node* allocate()
-@@ -166,7 +166,7 @@ namespace WTF {
+@@ -171,7 +171,7 @@ namespace WTF {
}
private:
@@ -51,7 +50,7 @@ a real problem yet.
Node* pastPool() { return pool() + m_poolSize; }
bool inPool(Node* node)
-@@ -177,10 +177,7 @@ namespace WTF {
+@@ -182,10 +182,7 @@ namespace WTF {
Node* m_freeList;
bool m_isDoneWithInitialFreeList;
static const size_t m_poolSize = 256;
@@ -65,8 +64,8 @@ a real problem yet.
template<typename ValueArg> struct ListHashSetNode {
--- a/src/3rdparty/webkit/JavaScriptCore/wtf/Platform.h
+++ b/src/3rdparty/webkit/JavaScriptCore/wtf/Platform.h
-@@ -167,6 +167,23 @@
- #define WTF_PLATFORM_X86_64 1
+@@ -233,6 +233,23 @@
+ # endif
#endif
+/* PLATFORM(SPARC) */
@@ -89,32 +88,20 @@ a real problem yet.
/* Compiler */
/* COMPILER(MSVC) */
---- a/src/3rdparty/webkit/JavaScriptCore/wtf/Vector.h
-+++ b/src/3rdparty/webkit/JavaScriptCore/wtf/Vector.h
-@@ -355,8 +355,7 @@ namespace WTF {
- static const size_t m_inlineBufferSize = inlineCapacity * sizeof(T);
- T* inlineBuffer() { return reinterpret_cast<T*>(&m_inlineBuffer); }
-
-- // FIXME: Nothing guarantees this buffer is appropriately aligned to hold objects of type T.
-- char m_inlineBuffer[m_inlineBufferSize];
-+ uint64_t m_inlineBuffer[(m_inlineBufferSize + sizeof(uint64_t) - 1) / sizeof(uint64_t)];
- };
-
- template<typename T, size_t inlineCapacity = 0>
---- a/src/3rdparty/webkit/WebCore/platform/AtomicString.cpp
-+++ b/src/3rdparty/webkit/WebCore/platform/AtomicString.cpp
-@@ -104,7 +104,7 @@ struct UCharBufferTranslator {
- if (strLength != bufLength)
- return false;
+--- a/src/3rdparty/webkit/WebCore/platform/text/AtomicString.cpp
++++ b/src/3rdparty/webkit/WebCore/platform/text/AtomicString.cpp
+@@ -101,7 +101,7 @@ static inline bool equal(StringImpl* str
+ if (string->length() != length)
+ return false;
-#if PLATFORM(ARM)
+#if PLATFORM(ARM) || PLATFORM(SPARC)
- const UChar* strChars = str->characters();
- const UChar* bufChars = buf.s;
-
---- a/src/3rdparty/webkit/WebCore/platform/StringHash.h
-+++ b/src/3rdparty/webkit/WebCore/platform/StringHash.h
-@@ -44,6 +44,15 @@ namespace WTF {
+ const UChar* stringCharacters = string->characters();
+ for (unsigned i = 0; i != length; ++i) {
+ if (*stringCharacters++ != *characters++)
+--- a/src/3rdparty/webkit/WebCore/platform/text/StringHash.h
++++ b/src/3rdparty/webkit/WebCore/platform/text/StringHash.h
+@@ -47,6 +47,15 @@ namespace WebCore {
if (aLength != bLength)
return false;
@@ -130,11 +117,11 @@ a real problem yet.
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 @@ namespace WTF {
+@@ -59,6 +68,7 @@ namespace WebCore {
return false;
return true;
+#endif
}
- };
-
+
+ static unsigned hash(const RefPtr<StringImpl>& key) { return key->hash(); }
diff --git a/debian/patches/40_alpha_ice.diff b/debian/patches/40_alpha_ice.diff
index 621bc8a..45a0a9d 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
-@@ -72,14 +72,7 @@ class QLibraryInfoPrivate
+@@ -71,14 +71,7 @@ class QLibraryInfoPrivate
{
public:
static QSettings *findConfiguration();
@@ -16,7 +16,7 @@
static QSettings *configuration()
{
#ifdef QT_NO_THREAD
-@@ -98,6 +91,15 @@ public:
+@@ -97,6 +90,15 @@ public:
}
};
@@ -34,7 +34,7 @@
settings = QLibraryInfoPrivate::findConfiguration();
--- a/src/corelib/tools/qhash.h
+++ b/src/corelib/tools/qhash.h
-@@ -493,7 +493,7 @@ Q_INLINE_TEMPLATE void QHash<Key, T>::de
+@@ -492,7 +492,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 6557b2d..0580944 100644
--- a/debian/patches/41_disable_opengl_visibility.diff
+++ b/debian/patches/41_disable_opengl_visibility.diff
@@ -2,11 +2,11 @@ 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 @@ DEFINES += QT_NO_USING_NAMESPACE
- win32-msvc*|win32-icc:QMAKE_LFLAGS += /BASE:0x63000000
- solaris-cc*:QMAKE_CXXFLAGS_RELEASE -= -O2
+@@ -53,6 +53,7 @@ contains(QT_CONFIG, opengles2) {
+ gl2paintengineex/qpaintengineex_opengl2_p.h
+ }
+QMAKE_CXXFLAGS_HIDESYMS -= -fvisibility-inlines-hidden
- include(../qbase.pri)
-
+ x11 {
+ contains(QT_CONFIG, opengles1)|contains(QT_CONFIG, opengles1cl)|contains(QT_CONFIG, opengles2) {
diff --git a/debian/patches/50_kfreebsd_build_fix.diff b/debian/patches/50_kfreebsd_build_fix.diff
index 03a9cb4..4a4932b 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
-@@ -204,6 +204,12 @@ namespace QT_NAMESPACE {}
+@@ -208,6 +208,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
-@@ -224,8 +230,6 @@ namespace QT_NAMESPACE {}
+@@ -228,8 +234,6 @@ namespace QT_NAMESPACE {}
# define Q_OS_AIX
#elif defined(__Lynx__)
# define Q_OS_LYNX
@@ -28,7 +28,7 @@ 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
-@@ -286,13 +286,13 @@ static bool qt_parse_pattern(const char
+@@ -285,13 +285,13 @@ static bool qt_parse_pattern(const char
#if defined(Q_OS_UNIX) && !defined(Q_OS_MAC) && !defined(QT_NO_PLUGIN_CHECK)
@@ -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
-@@ -74,7 +74,7 @@ QT_END_NAMESPACE
+@@ -73,7 +73,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
-@@ -6253,7 +6253,7 @@ Q_CORE_EXPORT char *qdtoa ( double d, in
+@@ -6536,7 +6536,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
-@@ -6269,7 +6269,7 @@ Q_CORE_EXPORT char *qdtoa ( double d, in
+@@ -6552,7 +6552,7 @@ Q_CORE_EXPORT char *qdtoa ( double d, in
#endif //_M_X64
#endif //Q_OS_WIN
diff --git a/debian/patches/71_hppa_unaligned_access_fix_458133.diff b/debian/patches/71_hppa_unaligned_access_fix_458133.diff
index 4d22cbc..78a0a08 100644
--- a/debian/patches/71_hppa_unaligned_access_fix_458133.diff
+++ b/debian/patches/71_hppa_unaligned_access_fix_458133.diff
@@ -4,7 +4,7 @@ Fix unaligned access on hppa
--- a/src/3rdparty/sha1/sha1.cpp
+++ b/src/3rdparty/sha1/sha1.cpp
-@@ -145,10 +145,10 @@ static inline void sha1ProcessChunk(Sha1
+@@ -144,10 +144,10 @@ static inline void sha1ProcessChunk(Sha1
quint32 d = state->h3;
quint32 e = state->h4;
@@ -18,7 +18,7 @@ Fix unaligned access on hppa
for (int i = 0; i < 16; ++i)
chunk->words[i] = qFromBigEndian(chunk->words[i]);
-@@ -184,7 +184,7 @@ static inline void sha1ProcessChunk(Sha1
+@@ -183,7 +183,7 @@ static inline void sha1ProcessChunk(Sha1
// Wipe variables
#ifdef SHA1_WIPE_VARIABLES
a = b = c = d = e = 0;
diff --git a/debian/patches/80_hurd_max_path.diff b/debian/patches/80_hurd_max_path.diff
index a6983cc..0a28da7 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
-@@ -60,6 +60,10 @@
+@@ -59,6 +59,10 @@
QT_BEGIN_NAMESPACE
diff --git a/debian/patches/series b/debian/patches/series
index e1b1327..79313b2 100644
--- a/debian/patches/series
+++ b/debian/patches/series
@@ -1,25 +1,13 @@
# 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
0216-allow-isystem-for-headers.diff
-0224-fast-qpixmap-fill.diff
0225-invalidate-tabbar-geometry-on-refresh.patch
-0226-qtreeview-column_resize_when_needed.diff
0234-fix-mysql-threaded.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
+0273-odbc-64bit-compile.diff
# debian patches
01_qmake_for_debian.diff
@@ -30,12 +18,15 @@
07_trust_dpkg-arch_over_uname-m.diff
09_qmake_lflags_as-needed.diff
10_config_tests_fixes.diff
-12_fix_qmake_pkgconfig.diff
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
+18_enable_qt3support_qtwebkit_debug_info.diff
+19_install_qdoc3.diff
+20_fix_ftbfs_callgrindChildExitCode.diff
+21_fix_ppc_build.diff
+22_fix_qiconvcodec.diff
30_webkit_unaligned_access.diff
40_alpha_ice.diff
41_disable_opengl_visibility.diff