apply upstream patch to fix issue in Copy and paste
This commit is contained in:
parent
25b36ebe96
commit
a329695c26
92
qt-x11-opensource-src-4.5.2-timestamp.patch
Normal file
92
qt-x11-opensource-src-4.5.2-timestamp.patch
Normal file
@ -0,0 +1,92 @@
|
||||
From 9e5fa633913ef952ca4ef5312fe396bcfc885321 Mon Sep 17 00:00:00 2001
|
||||
From: Denis Dzyubenko <denis.dzyubenko@nokia.com>
|
||||
Date: Wed, 22 Jul 2009 17:12:17 +0200
|
||||
Subject: [PATCH] Revert "Added a check that X11 timestamp goes forward only."
|
||||
|
||||
In some cases we might get an invalid timestamp that is far away in
|
||||
the future, so remembering it will break all consequent X calls that
|
||||
require a timestamp because it just contains junk (for example
|
||||
clipboard will stop working). This happens with XIM+SCIM pair -
|
||||
whenever we start input method and type something to the widget, we
|
||||
get a XKeyPress event with a commited string, however the 'serial' and
|
||||
'time' members of the XEvent structure are not initialized (according
|
||||
to valgrind) and contain junk.
|
||||
|
||||
This reverts commit 2ed015b8a0ffad63f0f59b0e2255057f416895fb.
|
||||
|
||||
Reviewed-By: Brad
|
||||
---
|
||||
src/gui/kernel/qapplication_x11.cpp | 35 +++++++++++++++--------------------
|
||||
1 files changed, 15 insertions(+), 20 deletions(-)
|
||||
|
||||
diff --git a/src/gui/kernel/qapplication_x11.cpp b/src/gui/kernel/qapplication_x11.cpp
|
||||
index 163ceb6..abedfd6 100644
|
||||
--- a/src/gui/kernel/qapplication_x11.cpp
|
||||
+++ b/src/gui/kernel/qapplication_x11.cpp
|
||||
@@ -3142,48 +3142,43 @@ int QApplication::x11ProcessEvent(XEvent* event)
|
||||
#ifdef ALIEN_DEBUG
|
||||
//qDebug() << "QApplication::x11ProcessEvent:" << event->type;
|
||||
#endif
|
||||
- Time time = 0, userTime = 0;
|
||||
switch (event->type) {
|
||||
case ButtonPress:
|
||||
pressed_window = event->xbutton.window;
|
||||
- userTime = event->xbutton.time;
|
||||
+ X11->userTime = event->xbutton.time;
|
||||
// fallthrough intended
|
||||
case ButtonRelease:
|
||||
- time = event->xbutton.time;
|
||||
+ X11->time = event->xbutton.time;
|
||||
break;
|
||||
case MotionNotify:
|
||||
- time = event->xmotion.time;
|
||||
+ X11->time = event->xmotion.time;
|
||||
break;
|
||||
case XKeyPress:
|
||||
- userTime = event->xkey.time;
|
||||
+ X11->userTime = event->xkey.time;
|
||||
// fallthrough intended
|
||||
case XKeyRelease:
|
||||
- time = event->xkey.time;
|
||||
+ X11->time = event->xkey.time;
|
||||
break;
|
||||
case PropertyNotify:
|
||||
- time = event->xproperty.time;
|
||||
+ X11->time = event->xproperty.time;
|
||||
break;
|
||||
case EnterNotify:
|
||||
case LeaveNotify:
|
||||
- time = event->xcrossing.time;
|
||||
+ X11->time = event->xcrossing.time;
|
||||
break;
|
||||
case SelectionClear:
|
||||
- time = event->xselectionclear.time;
|
||||
+ X11->time = event->xselectionclear.time;
|
||||
break;
|
||||
default:
|
||||
-#ifndef QT_NO_XFIXES
|
||||
- if (X11->use_xfixes && event->type == (X11->xfixes_eventbase + XFixesSelectionNotify)) {
|
||||
- XFixesSelectionNotifyEvent *req =
|
||||
- reinterpret_cast<XFixesSelectionNotifyEvent *>(event);
|
||||
- time = req->selection_timestamp;
|
||||
- }
|
||||
-#endif
|
||||
break;
|
||||
}
|
||||
- if (time > X11->time)
|
||||
- X11->time = time;
|
||||
- if (userTime > X11->userTime)
|
||||
- X11->userTime = userTime;
|
||||
+#ifndef QT_NO_XFIXES
|
||||
+ if (X11->use_xfixes && event->type == (X11->xfixes_eventbase + XFixesSelectionNotify)) {
|
||||
+ XFixesSelectionNotifyEvent *req =
|
||||
+ reinterpret_cast<XFixesSelectionNotifyEvent *>(event);
|
||||
+ X11->time = req->selection_timestamp;
|
||||
+ }
|
||||
+#endif
|
||||
|
||||
QETWidget *widget = (QETWidget*)QWidget::find((WId)event->xany.window);
|
||||
|
||||
--
|
||||
1.6.1
|
||||
|
7
qt.spec
7
qt.spec
@ -12,7 +12,7 @@ Epoch: 1
|
||||
Name: qt4
|
||||
%endif
|
||||
Version: 4.5.2
|
||||
Release: 4%{?dist}
|
||||
Release: 5%{?dist}
|
||||
|
||||
# See LGPL_EXCEPTIONS.txt, LICENSE.GPL3, respectively, for exception details
|
||||
License: LGPLv2 with exceptions or GPLv3 with exceptions
|
||||
@ -59,6 +59,7 @@ Patch53: qt-x11-opensource-src-4.5.0-fix-qatomic-inline-asm.patch
|
||||
# fix invalid assumptions about mysql_config --libs
|
||||
# http://bugzilla.redhat.com/440673
|
||||
Patch54: qt-x11-opensource-src-4.5.1-mysql_config.patch
|
||||
Patch55: qt-x11-opensource-src-4.5.2-timestamp.patch
|
||||
|
||||
## qt-copy patches
|
||||
# we'll want to switch to the kde-qt branches, e.g.:
|
||||
@ -395,6 +396,7 @@ popd
|
||||
%patch52 -p1 -b .sparc64
|
||||
%patch53 -p1 -b .qatomic-inline-asm
|
||||
%patch54 -p1 -b .mysql_config
|
||||
%patch55 -p1 -b .timestamp
|
||||
|
||||
# drop -fexceptions from $RPM_OPT_FLAGS
|
||||
RPM_OPT_FLAGS=`echo $RPM_OPT_FLAGS | sed 's|-fexceptions||g'`
|
||||
@ -914,6 +916,9 @@ fi
|
||||
%{_datadir}/icons/hicolor/*/apps/qt4-logo.*
|
||||
|
||||
%changelog
|
||||
* Thu Jul 30 2009 Than Ngo <than@redhat.com> - 4.5.2-5
|
||||
- apply upstream patch to fix issue in Copy and paste
|
||||
|
||||
* Sun Jul 26 2009 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1:4.5.2-4
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_12_Mass_Rebuild
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user