rpms/qt/F-10 qt-x11-opensource-src-4.5.2-timestamp.patch, NONE, 1.1 qt.spec, 1.231, 1.232

Rex Dieter rdieter at fedoraproject.org
Wed Aug 5 23:14:37 UTC 2009


Author: rdieter

Update of /cvs/pkgs/rpms/qt/F-10
In directory cvs1.fedora.phx.redhat.com:/tmp/cvs-serv30823

Modified Files:
	qt.spec 
Added Files:
	qt-x11-opensource-src-4.5.2-timestamp.patch 
Log Message:
* Wed Aug 05 2009 Rex Dieter <rdieter at fedoraproject.org> 4.5.2-1.1
- use linker scripts for _debug targets (#510246)
- apply upstream patch to fix issue in Copy and paste
- optimize (icon-mostly) scriptlets
- -x11: Requires(post,postun): /sbin/ldconfig


qt-x11-opensource-src-4.5.2-timestamp.patch:
 qapplication_x11.cpp |   36 +++++++++++++++---------------------
 1 file changed, 15 insertions(+), 21 deletions(-)

--- NEW FILE qt-x11-opensource-src-4.5.2-timestamp.patch ---
>From 9e5fa633913ef952ca4ef5312fe396bcfc885321 Mon Sep 17 00:00:00 2001
From: Denis Dzyubenko <denis.dzyubenko at 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



Index: qt.spec
===================================================================
RCS file: /cvs/pkgs/rpms/qt/F-10/qt.spec,v
retrieving revision 1.231
retrieving revision 1.232
diff -u -p -r1.231 -r1.232
--- qt.spec	2 Jul 2009 13:42:38 -0000	1.231
+++ qt.spec	5 Aug 2009 23:14:36 -0000	1.232
@@ -12,7 +12,7 @@ Epoch:   1
 Name:    qt4
 %endif
 Version: 4.5.2
-Release: 1%{?dist}
+Release: 1%{?dist}.1
 
 # See LGPL_EXCEPTIONS.txt, LICENSE.GPL3, respectively, for exception details
 License: LGPLv2 with exceptions or GPLv3 with exceptions
@@ -55,6 +55,7 @@ Patch53: qt-x11-opensource-src-4.5.0-fix
 # 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
 %define qt_copy 20090626
@@ -336,6 +337,8 @@ Requires: %{name} = %{?epoch:%{epoch}:}%
 Obsoletes: qt4-x11 < %{version}-%{release}
 Provides:  qt4-x11 = %{version}-%{release}
 %endif
+Requires(post): /sbin/ldconfig
+Requires(postun): /sbin/ldconfig
 
 %description x11
 Qt libraries used for drawing widgets and OpenGL items.
@@ -369,6 +372,7 @@ test -x apply_patches && ./apply_patches
 %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'`
@@ -533,13 +537,17 @@ for i in * ; do
 done
 popd
 
-# _debug lib symlinks (see bug #196513)
+# _debug targets (see bug #196513)
 pushd %{buildroot}%{_qt4_libdir}
 for lib in libQt*.so ; do
-  ln -s $lib $(basename $lib .so)_debug.so
+   libbase=`basename $lib .so | sed -e 's/^lib//'`
+#  ln -s $lib lib${libbase}_debug.so
+   echo "INPUT(-l${libbase})" > lib${libbase}_debug.so
 done
 for lib in libQt*.a ; do
-  ln -s $lib $(basename $lib .a)_debug.a
+   libbase=`basename $lib .a | sed -e 's/^lib//' `
+#  ln -s $lib lib${libbase}_debug.a
+   echo "INPUT(-l${libbase})" > lib${libbase}_debug.a
 done
 popd
 
@@ -649,21 +657,29 @@ rm -rf %{buildroot}
 
 %post devel
 touch --no-create %{_datadir}/icons/hicolor ||:
+
+%posttrans devel
 gtk-update-icon-cache -q %{_datadir}/icons/hicolor 2> /dev/null ||:
 
 %postun devel
+if [ $1 -eq 0 ] ; then
 touch --no-create %{_datadir}/icons/hicolor ||:
 gtk-update-icon-cache -q %{_datadir}/icons/hicolor 2> /dev/null ||:
+fi
 
 %post x11
 /sbin/ldconfig
 touch --no-create %{_datadir}/icons/hicolor ||:
+
+%posttrans x11
 gtk-update-icon-cache -q %{_datadir}/icons/hicolor 2> /dev/null ||:
 
 %postun x11
 /sbin/ldconfig
+if [ $1 -eq 0 ] ; then
 touch --no-create %{_datadir}/icons/hicolor ||:
 gtk-update-icon-cache -q %{_datadir}/icons/hicolor 2> /dev/null ||:
+fi
 
 
 %files
@@ -856,6 +872,12 @@ gtk-update-icon-cache -q %{_datadir}/ico
 
 
 %changelog
+* Wed Aug 05 2009 Rex Dieter <rdieter at fedoraproject.org> 4.5.2-1.1
+- use linker scripts for _debug targets (#510246)
+- apply upstream patch to fix issue in Copy and paste
+- optimize (icon-mostly) scriptlets
+- -x11: Requires(post,postun): /sbin/ldconfig
+
 * Thu Jul 02 2009 Than Ngo <than at redhat.com> - 4.5.2-1
 - 4.5.2
 




More information about the fedora-extras-commits mailing list