filter event patch, an attempt to avoid "ghost entries in kde taskbar" problem

This commit is contained in:
Rex Dieter 2011-12-27 16:22:53 -06:00
parent b978dead28
commit e1a66322aa
2 changed files with 23 additions and 1 deletions

View File

@ -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 ||

View File

@ -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@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@fedoraproject.org> 1:4.7.4-7
- drop kde-qt 0012 patch, it's broken if not upstream (#704882)