From 7497f5d973abb97fdbed1070b7166bd051c927f2 Mon Sep 17 00:00:00 2001 From: Kevin Kofler Date: Dec 08 2010 21:58:25 +0000 Subject: * Wed Dec 08 2010 Kevin Kofler 4.7.1-5 - make the Assistant QtWebKit dependency removal (#660287) F15+ only for now - fix QTextCursor crash in Lokalize and Psi (QTBUG-15857, kde#249373, #660028) - add some more NULL checks to the glib_eventloop_nullcheck patch (#622164) --- diff --git a/qt-everywhere-opensource-src-4.6.3-glib_eventloop_nullcheck.patch b/qt-everywhere-opensource-src-4.6.3-glib_eventloop_nullcheck.patch index f0c9eaa..d4e5924 100644 --- a/qt-everywhere-opensource-src-4.6.3-glib_eventloop_nullcheck.patch +++ b/qt-everywhere-opensource-src-4.6.3-glib_eventloop_nullcheck.patch @@ -1,7 +1,7 @@ -diff -up qt-everywhere-opensource-src-4.6.3/src/gui/kernel/qguieventdispatcher_glib.cpp.glib_eventloop_nullcheck qt-everywhere-opensource-src-4.6.3/src/gui/kernel/qguieventdispatcher_glib.cpp ---- qt-everywhere-opensource-src-4.6.3/src/gui/kernel/qguieventdispatcher_glib.cpp.glib_eventloop_nullcheck 2010-06-01 21:03:15.000000000 -0500 -+++ qt-everywhere-opensource-src-4.6.3/src/gui/kernel/qguieventdispatcher_glib.cpp 2010-06-29 14:58:12.299073784 -0500 -@@ -76,7 +76,7 @@ static gboolean x11EventSourcePrepare(GS +diff -ur qt-everywhere-opensource-src-4.6.3/src/gui/kernel/qguieventdispatcher_glib.cpp qt-everywhere-opensource-src-4.6.3-glib_eventloop_nullcheck/src/gui/kernel/qguieventdispatcher_glib.cpp +--- qt-everywhere-opensource-src-4.6.3/src/gui/kernel/qguieventdispatcher_glib.cpp 2010-06-02 04:03:15.000000000 +0200 ++++ qt-everywhere-opensource-src-4.6.3-glib_eventloop_nullcheck/src/gui/kernel/qguieventdispatcher_glib.cpp 2010-12-08 22:22:38.000000000 +0100 +@@ -76,7 +76,7 @@ GX11EventSource *source = reinterpret_cast(s); return (XEventsQueued(X11->display, QueuedAfterFlush) || (!(source->flags & QEventLoop::ExcludeUserInputEvents) @@ -10,7 +10,7 @@ diff -up qt-everywhere-opensource-src-4.6.3/src/gui/kernel/qguieventdispatcher_g } static gboolean x11EventSourceCheck(GSource *s) -@@ -84,7 +84,7 @@ static gboolean x11EventSourceCheck(GSou +@@ -84,7 +84,7 @@ GX11EventSource *source = reinterpret_cast(s); return (XEventsQueued(X11->display, QueuedAfterFlush) || (!(source->flags & QEventLoop::ExcludeUserInputEvents) @@ -19,3 +19,51 @@ diff -up qt-everywhere-opensource-src-4.6.3/src/gui/kernel/qguieventdispatcher_g } static gboolean x11EventSourceDispatch(GSource *s, GSourceFunc callback, gpointer user_data) +@@ -95,7 +95,7 @@ + do { + XEvent event; + if (!(source->flags & QEventLoop::ExcludeUserInputEvents) +- && !source->d->queuedUserInputEvents.isEmpty()) { ++ && source->d && !source->d->queuedUserInputEvents.isEmpty()) { + // process a pending user input event + event = source->d->queuedUserInputEvents.takeFirst(); + } else if (XEventsQueued(X11->display, QueuedAlready)) { +@@ -112,7 +112,8 @@ + case XKeyRelease: + case EnterNotify: + case LeaveNotify: +- source->d->queuedUserInputEvents.append(event); ++ if (source->d) ++ source->d->queuedUserInputEvents.append(event); + continue; + + case ClientMessage: +@@ -127,7 +128,8 @@ + break; + } + } +- source->d->queuedUserInputEvents.append(event); ++ if (source->d) ++ source->d->queuedUserInputEvents.append(event); + continue; + + default: +@@ -140,7 +142,7 @@ + } + + // send through event filter +- if (source->q->filterEvent(&event)) ++ if (source->q && source->q->filterEvent(&event)) + continue; + + if (qApp->x11ProcessEvent(&event) == 1) +@@ -152,7 +154,8 @@ + + out: + +- source->d->runTimersOnceWithNormalPriority(); ++ if (source->d) ++ source->d->runTimersOnceWithNormalPriority(); + + if (callback) + callback(user_data); diff --git a/qt-everywhere-opensource-src-4.7.1-ml_IN-bz528303 b/qt-everywhere-opensource-src-4.7.1-ml_IN-bz528303 deleted file mode 100644 index 805f7aa..0000000 --- a/qt-everywhere-opensource-src-4.7.1-ml_IN-bz528303 +++ /dev/null @@ -1,12 +0,0 @@ -diff -up qt-everywhere-opensource-src-4.7.1/src/3rdparty/harfbuzz/src/harfbuzz-indic.cpp.ml_IN-528303 qt-everywhere-opensource-src-4.7.1/src/3rdparty/harfbuzz/src/harfbuzz-indic.cpp ---- qt-everywhere-opensource-src-4.7.1/src/3rdparty/harfbuzz/src/harfbuzz-indic.cpp.ml_IN-528303 2010-11-22 15:14:41.000000000 +0100 -+++ qt-everywhere-opensource-src-4.7.1/src/3rdparty/harfbuzz/src/harfbuzz-indic.cpp 2010-11-22 15:13:03.000000000 +0100 -@@ -833,7 +833,7 @@ static const unsigned char indicPosition - None, None, None, None, - None, None, None, Post, - -- Post, None, Below, None, -+ Pre, None, Below, None, - None, Post, None, None, - None, None, None, None, - None, None, Post, Post, diff --git a/qt-everywhere-opensource-src-4.7.1-ml_IN-bz528303.patch b/qt-everywhere-opensource-src-4.7.1-ml_IN-bz528303.patch new file mode 100644 index 0000000..805f7aa --- /dev/null +++ b/qt-everywhere-opensource-src-4.7.1-ml_IN-bz528303.patch @@ -0,0 +1,12 @@ +diff -up qt-everywhere-opensource-src-4.7.1/src/3rdparty/harfbuzz/src/harfbuzz-indic.cpp.ml_IN-528303 qt-everywhere-opensource-src-4.7.1/src/3rdparty/harfbuzz/src/harfbuzz-indic.cpp +--- qt-everywhere-opensource-src-4.7.1/src/3rdparty/harfbuzz/src/harfbuzz-indic.cpp.ml_IN-528303 2010-11-22 15:14:41.000000000 +0100 ++++ qt-everywhere-opensource-src-4.7.1/src/3rdparty/harfbuzz/src/harfbuzz-indic.cpp 2010-11-22 15:13:03.000000000 +0100 +@@ -833,7 +833,7 @@ static const unsigned char indicPosition + None, None, None, None, + None, None, None, Post, + +- Post, None, Below, None, ++ Pre, None, Below, None, + None, Post, None, None, + None, None, None, None, + None, None, Post, Post, diff --git a/qt-everywhere-opensource-src-4.7.1-qtextcursor-crash.patch b/qt-everywhere-opensource-src-4.7.1-qtextcursor-crash.patch new file mode 100644 index 0000000..4ee189f --- /dev/null +++ b/qt-everywhere-opensource-src-4.7.1-qtextcursor-crash.patch @@ -0,0 +1,12 @@ +--- a/src/gui/text/qtextcursor.cpp ++++ b/src/gui/text/qtextcursor.cpp +@@ -363,6 +363,9 @@ + bool adjustX = true; + QTextBlock blockIt = block(); + ++ if (!blockIt.isValid()) ++ return false; ++ + if (op >= QTextCursor::Left && op <= QTextCursor::WordRight + && blockIt.textDirection() == Qt::RightToLeft) { + if (op == QTextCursor::Left) \ No newline at end of file diff --git a/qt.spec b/qt.spec index dcb7787..bffddc7 100644 --- a/qt.spec +++ b/qt.spec @@ -18,7 +18,7 @@ Summary: Qt toolkit Name: qt Epoch: 1 Version: 4.7.1 -Release: 4%{?dist} +Release: 5%{?dist} # See LGPL_EXCEPTIONS.txt, LICENSE.GPL3, respectively, for exception details License: (LGPLv2 with exceptions or GPLv3 with exceptions) and ASL 2.0 and BSD and FTL and MIT @@ -56,7 +56,7 @@ Patch19: qt-everywhere-opensource-src-4.7.0-beta2-phonon_servicesfile.patch # workaround for gdal/grass crashers wrt glib_eventloop null deref's Patch23: qt-everywhere-opensource-src-4.6.3-glib_eventloop_nullcheck.patch -# remove depenency of webkit in assistant +# remove dependency of webkit in assistant Patch24: qt-everywhere-opensource-src-4.7.1-webkit.patch ## upstreamable bits @@ -90,7 +90,11 @@ Patch64: qt-everywhere-opensource-src-4.7.1-QTBUG-14467.patch # upstream patches # Reordering of Malayalam Rakar not working properly -Patch100: qt-everywhere-opensource-src-4.7.1-ml_IN-bz528303 +Patch100: qt-everywhere-opensource-src-4.7.1-ml_IN-bz528303.patch + +# fix QTextCursor crash in Lokalize and Psi (QTBUG-15857, kde#249373, #660028) +# http://qt.gitorious.org/qt/qt/commit/6ae84f1183e91c910ca92a55e37f8254ace805c0 +Patch101: qt-everywhere-opensource-src-4.7.1-qtextcursor-crash.patch # kde-qt git patches Patch202: 0002-This-patch-makes-override-redirect-windows-popup-men.patch @@ -432,7 +436,9 @@ Qt libraries used for drawing widgets and OpenGL items. #patch16 -p1 -b .kde4_plugins %patch19 -p1 -b .phonon_servicesfile %patch23 -p1 -b .glib_eventloop_nullcheck +%if 0%{?fedora} > 14 %patch24 -p1 -b .webkit +%endif ## TODO: still worth carrying? if so, upstream it. %patch53 -p1 -b .qatomic-inline-asm ## TODO: upstream me @@ -448,7 +454,8 @@ Qt libraries used for drawing widgets and OpenGL items. %patch64 -p1 -b .QTBUG-14467 # upstream patches -%patch100 -p1 -b .ml_IN-redering +%patch100 -p1 -b .ml_IN-rendering +%patch101 -p1 -b .qtextcursor-crash # kde-qt branch %if 0%{?kde_qt} @@ -1117,9 +1124,13 @@ fi %changelog +* Wed Dec 08 2010 Kevin Kofler 4.7.1-5 +- make the Assistant QtWebKit dependency removal (#660287) F15+ only for now +- fix QTextCursor crash in Lokalize and Psi (QTBUG-15857, kde#249373, #660028) +- add some more NULL checks to the glib_eventloop_nullcheck patch (#622164) + * Mon Dec 06 2010 Than Ngo 4.7.1-4 -- bz#660287, using QTextBrowser in assistant to drop - qtwebkit dependency +- bz#660287, using QTextBrowser in assistant to drop qtwebkit dependency * Tue Nov 23 2010 Rex Dieter - 4.7.1-3 - Fails to create debug build of Qt projects on mingw (#653674, QTBUG-14467)