[qt] filter event patch, avoid "ghost entries in kde taskbar" problem (kde#275469) re-enable -qvfb
Rex Dieter
rdieter at fedoraproject.org
Tue Dec 27 22:37:17 UTC 2011
commit af10e0158f7204ee41fbc31377da2898a7ff4113
Author: Rex Dieter <rdieter at fedoraproject.org>
Date: Tue Dec 27 16:37:14 2011 -0600
filter event patch, avoid "ghost entries in kde taskbar" problem (kde#275469)
re-enable -qvfb
...rywhere-opensource-src-4.8.0-filter_event.patch | 15 +++++++++++++++
qt.spec | 15 +++++++++++----
2 files changed, 26 insertions(+), 4 deletions(-)
---
diff --git a/qt-everywhere-opensource-src-4.8.0-filter_event.patch b/qt-everywhere-opensource-src-4.8.0-filter_event.patch
new file mode 100644
index 0000000..ef6de92
--- /dev/null
+++ b/qt-everywhere-opensource-src-4.8.0-filter_event.patch
@@ -0,0 +1,15 @@
+--- qt-opensource-4.8.0.old/src/gui/kernel/qapplication_x11.cpp 2011-12-16 03:22:33.918428374 -0500
++++ qt-opensource-4.8.0.new/src/gui/kernel/qapplication_x11.cpp 2011-12-27 06:39:22.852191952 -0500
+@@ -4244,6 +4244,12 @@ bool QETWidget::translateMouseEvent(cons
+ && (nextEvent.xclient.message_type == ATOM(_QT_SCROLL_DONE) ||
+ (nextEvent.xclient.message_type == ATOM(WM_PROTOCOLS) &&
+ (Atom)nextEvent.xclient.data.l[0] == ATOM(_NET_WM_SYNC_REQUEST))))) {
++ // As we may run through a significant number of a large class of non-MotionNotify
++ // events here, without returning to the event loop, just before processing nextEvent,
++ // pass it through QAbstractEventDispatcher::filterEvent(). Note that this issue may
++ // exist elsewhere, wherever events are compressed in a similar manner.
++ if (QAbstractEventDispatcher::instance()->filterEvent(&nextEvent))
++ continue;
+ qApp->x11ProcessEvent(&nextEvent);
+ continue;
+ } else if (nextEvent.type != MotionNotify ||
diff --git a/qt.spec b/qt.spec
index 4b22600..a6c2164 100644
--- a/qt.spec
+++ b/qt.spec
@@ -11,7 +11,7 @@ Summary: Qt toolkit
Name: qt
Epoch: 1
Version: 4.8.0
-Release: 3%{?dist}
+Release: 4%{?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
@@ -100,6 +100,10 @@ Patch76: qt-everywhere-opensource-src-4.8.0-s390-atomic.patch
# don't spam if libicu is not present at runtime
Patch77: qt-everywhere-opensource-src-4.8.0-icu_no_spam.patch
+# avoid dropping events, which lead to "ghost entries in kde task manager" problem
+# https://bugs.kde.org/show_bug.cgi?id=275469
+Patch78: qt-everywhere-opensource-src-4.8.0-filter_event.patch
+
# upstream patches
# security patches
@@ -316,9 +320,7 @@ Requires: %{name}%{?_isa} = %{?epoch:%{epoch}:}%{version}-%{release}
%description examples
%{summary}.
-## FIXME, ftbfs -- rex
-## .obj/release-shared/qwssignalhandler.o: In function `QWSSignalHandler::clear()': qwssignalhandler.cpp:(.text+0x349): undefined reference to `QWSLock::~QWSLock()'
-#define qvfb 1
+%define qvfb 1
%package qvfb
Summary: Virtual frame buffer for Qt for Embedded Linux
Group: Applications/Emulators
@@ -428,6 +430,7 @@ popd
%patch75 -p1 -b .ppc64-crash
%patch76 -p1 -b .s390-atomic
%patch77 -p1 -b .icu_no_spam
+%patch78 -p1 -b .filter_events
# upstream patches
@@ -1054,6 +1057,10 @@ fi
%changelog
+* Tue Dec 27 2011 Rex Dieter <rdieter at fedoraproject.org> 4.8.0-4
+- filter event patch, avoid "ghost entries in kde taskbar" problem (kde#275469)
+- re-enable -qvfb
+
* Tue Dec 20 2011 Rex Dieter <rdieter at fedoraproject.org> 4.8.0-3
- don't spam if libicu is not present at runtime (#759923)
More information about the scm-commits
mailing list