[qt/f15] filter event patch, an attempt to avoid "ghost entries in kde taskbar" problem
Rex Dieter
rdieter at fedoraproject.org
Tue Dec 27 22:22:56 UTC 2011
commit e1a66322aae3c8cac008340ce3712fc63f641e97
Author: Rex Dieter <rdieter at fedoraproject.org>
Date: Tue Dec 27 16:22:53 2011 -0600
filter event patch, an attempt to avoid "ghost entries in kde taskbar" problem
...rywhere-opensource-src-4.7.4-filter_event.patch | 15 +++++++++++++++
qt.spec | 9 ++++++++-
2 files changed, 23 insertions(+), 1 deletions(-)
---
diff --git a/qt-everywhere-opensource-src-4.7.4-filter_event.patch b/qt-everywhere-opensource-src-4.7.4-filter_event.patch
new file mode 100644
index 0000000..4c0c824
--- /dev/null
+++ b/qt-everywhere-opensource-src-4.7.4-filter_event.patch
@@ -0,0 +1,15 @@
+--- qt-opensource-4.7.4.old/src/gui/kernel/qapplication_x11.cpp 2011-08-23 08:02:27.000000000 -0400
++++ qt-opensource-4.7.4.new/src/gui/kernel/qapplication_x11.cpp 2011-12-27 07:16:23.631320047 -0500
+@@ -4190,6 +4190,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 475e780..8d79849 100644
--- a/qt.spec
+++ b/qt.spec
@@ -18,7 +18,7 @@ Summary: Qt toolkit
Name: qt
Epoch: 1
Version: 4.7.4
-Release: 7%{?dist}
+Release: 8%{?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
@@ -95,6 +95,9 @@ Patch73: qt-everywhere-opensource-src-4.7.4-qml_no_strict_aliasing.patch
# sql/drivers/tds/qsql_tds.cpp:341:49: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]
Patch74: qt-everywhere-opensource-src-4.7.4-tds_no_strict_aliasing.patch
+# avoid dropping events, which lead to "ghost entries in kde task manager" problem
+Patch75: qt-everywhere-opensource-src-4.7.4-filter_event.patch
+
# upstream patches
# Applications crash when using a visual with 24 bits per pixel
# https://bugreports.qt.nokia.com/browse/QTBUG-21754
@@ -539,6 +542,7 @@ Qt libraries used for drawing widgets and OpenGL items.
%patch70 -p1 -b .QTBUG-14724
%patch73 -p1 -b .qml_no_strict_aliasing
%patch74 -p1 -b .tds_no_strict_aliasing
+%patch75 -p1 -b .filter_event
## upstream patches
%patch100 -p1 -b .QTBUG-21754
@@ -1301,6 +1305,9 @@ fi
%changelog
+* Tue Dec 27 2011 Rex Dieter <rdieter at fedoraproject.org> 1:4.7.4-8
+- filter event patch, an attempt to avoid "ghost entries in kde taskbar" problem
+
* Wed Nov 16 2011 Rex Dieter <rdieter at fedoraproject.org> 1:4.7.4-7
- drop kde-qt 0012 patch, it's broken if not upstream (#704882)
More information about the scm-commits
mailing list