rpms/kdebase/FC-6 kdebase-3.5.5-kde#135250.patch, NONE, 1.1 kdebase.spec, 1.236, 1.237

fedora-cvs-commits at redhat.com fedora-cvs-commits at redhat.com
Thu Nov 2 14:35:17 UTC 2006


Author: than

Update of /cvs/dist/rpms/kdebase/FC-6
In directory cvs.devel.redhat.com:/tmp/cvs-serv18284

Modified Files:
	kdebase.spec 
Added Files:
	kdebase-3.5.5-kde#135250.patch 
Log Message:
apply upstream patch to fix #213219, KWin focus issue



kdebase-3.5.5-kde#135250.patch:
 client.cpp |   25 +++++++++++++++++++------
 1 files changed, 19 insertions(+), 6 deletions(-)

--- NEW FILE kdebase-3.5.5-kde#135250.patch ---
--- kdebase-3.5.5/kwin/client.cpp.orig	2006-11-01 12:06:00.000000000 +0200
+++ kdebase-3.5.5/kwin/client.cpp	2006-11-01 12:14:47.000000000 +0200
@@ -477,17 +477,30 @@ void Client::updateShape()
     // calls it or when the decoration is created/destroyed
 
     if( Shape::version() >= 0x11 ) // 1.1, has input shape support
-        { // there appears to be no way to find out if a window has input
-          // shape set or not, so always set propagate the input shape
-          // (it's the same like the bounding shape by default)
-        XShapeCombineShape( qt_xdisplay(), frameId(), ShapeInput, 0, 0,
+        { // There appears to be no way to find out if a window has input
+          // shape set or not, so always propagate the input shape
+          // (it's the same like the bounding shape by default).
+          // Also, build the shape using a helper window, not directly
+          // in the frame window, because the sequence set-shape-to-frame,
+          // remove-shape-of-client, add-input-shape-of-client has the problem
+          // that after the second step there's a hole in the input shape
+          // until the real shape of the client is added and that can make
+          // the window lose focus (which is a problem with mouse focus policies)
+        static Window helper_window = None;
+        if( helper_window == None )
+            helper_window = XCreateSimpleWindow( qt_xdisplay(), qt_xrootwin(),
+                0, 0, 1, 1, 0, 0, 0 );
+        XResizeWindow( qt_xdisplay(), helper_window, width(), height());
+        XShapeCombineShape( qt_xdisplay(), helper_window, ShapeInput, 0, 0,
                            frameId(), ShapeBounding, ShapeSet );
-        XShapeCombineShape( qt_xdisplay(), frameId(), ShapeInput,
+        XShapeCombineShape( qt_xdisplay(), helper_window, ShapeInput,
                            clientPos().x(), clientPos().y(),
                            window(), ShapeBounding, ShapeSubtract );
-        XShapeCombineShape( qt_xdisplay(), frameId(), ShapeInput,
+        XShapeCombineShape( qt_xdisplay(), helper_window, ShapeInput,
                            clientPos().x(), clientPos().y(),
                            window(), ShapeInput, ShapeUnion );
+        XShapeCombineShape( qt_xdisplay(), frameId(), ShapeInput, 0, 0,
+                           helper_window, ShapeInput, ShapeSet );
         }
     }
 


Index: kdebase.spec
===================================================================
RCS file: /cvs/dist/rpms/kdebase/FC-6/kdebase.spec,v
retrieving revision 1.236
retrieving revision 1.237
diff -u -r1.236 -r1.237
--- kdebase.spec	26 Oct 2006 15:39:26 -0000	1.236
+++ kdebase.spec	2 Nov 2006 14:35:14 -0000	1.237
@@ -62,6 +62,7 @@
 
 # upstream patches
 Patch500: kdebase-3.5.5-kde#134816.patch
+Patch501: kdebase-3.5.5-kde#135250.patch
 
 Requires(post): /sbin/ldconfig
 Requires(postun): /sbin/ldconfig
@@ -178,6 +179,7 @@
 
 # upstream patches
 %patch500 -p0 -b .kde#134816
+%patch501 -p1 -b .kde#135250
 
 %if %{rhel}
    rm -rf kdeprint/kdeprintfax
@@ -556,6 +558,9 @@
 %exclude %{_libdir}/libkdeinit_*.so
 
 %changelog
+* Thu Nov 02 2006 Than Ngo <than at redhat.com> 6:3.5.5-0.2.fc6
+- apply upstream patch to fix #213219, KWin focus issue
+
 * Thu Oct 26 2006 Than Ngo <than at redhat.com> 6:3.5.5-0.1
 - 3.5.5
 




More information about the fedora-cvs-commits mailing list