summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDiego Elio Pettenò <flameeyes@gentoo.org>2006-10-16 22:28:50 +0000
committerDiego Elio Pettenò <flameeyes@gentoo.org>2006-10-16 22:28:50 +0000
commita4a214b4b1e121d6ef68469b4e8fff85d12fcb4f (patch)
tree4dac5d2db7ae3229f0a797e1b4592d633e302fda /kde-base
parentStable on alpha wrt bug #146939 (diff)
downloadgentoo-2-a4a214b4b1e121d6ef68469b4e8fff85d12fcb4f.tar.gz
gentoo-2-a4a214b4b1e121d6ef68469b4e8fff85d12fcb4f.tar.bz2
gentoo-2-a4a214b4b1e121d6ef68469b4e8fff85d12fcb4f.zip
Add a patch from upstream to fix holes in the input shapes.
(Portage version: 2.1.2_pre3-r2)
Diffstat (limited to 'kde-base')
-rw-r--r--kde-base/kwin/ChangeLog8
-rw-r--r--kde-base/kwin/files/digest-kwin-3.5.5-r13
-rw-r--r--kde-base/kwin/files/kwin-3.5.5-input-shape.patch63
-rw-r--r--kde-base/kwin/kwin-3.5.5-r1.ebuild30
4 files changed, 103 insertions, 1 deletions
diff --git a/kde-base/kwin/ChangeLog b/kde-base/kwin/ChangeLog
index 0bf504d62ec5..7d5fec4830b9 100644
--- a/kde-base/kwin/ChangeLog
+++ b/kde-base/kwin/ChangeLog
@@ -1,6 +1,12 @@
# ChangeLog for kde-base/kwin
# Copyright 1999-2006 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/kde-base/kwin/ChangeLog,v 1.68 2006/10/07 16:48:38 flameeyes Exp $
+# $Header: /var/cvsroot/gentoo-x86/kde-base/kwin/ChangeLog,v 1.69 2006/10/16 22:28:50 flameeyes Exp $
+
+*kwin-3.5.5-r1 (16 Oct 2006)
+
+ 16 Oct 2006; Diego Pettenò <flameeyes@gentoo.org>
+ +files/kwin-3.5.5-input-shape.patch, +kwin-3.5.5-r1.ebuild:
+ Add a patch from upstream to fix holes in the input shapes.
07 Oct 2006; Diego Pettenò <flameeyes@gentoo.org> Manifest:
Regenerate digest (this time hopefully..).
diff --git a/kde-base/kwin/files/digest-kwin-3.5.5-r1 b/kde-base/kwin/files/digest-kwin-3.5.5-r1
new file mode 100644
index 000000000000..155559e1a388
--- /dev/null
+++ b/kde-base/kwin/files/digest-kwin-3.5.5-r1
@@ -0,0 +1,3 @@
+MD5 0c685af1cbca75f9c77b3ed231ba0468 kdebase-3.5.5.tar.bz2 23851886
+RMD160 6cf804de0487347a3e1d4ea6e5ba5114d23d9806 kdebase-3.5.5.tar.bz2 23851886
+SHA256 f77632e44214648e2d0adfe1a79dd61a6a738c21fe5abb0baff16b72432baaa0 kdebase-3.5.5.tar.bz2 23851886
diff --git a/kde-base/kwin/files/kwin-3.5.5-input-shape.patch b/kde-base/kwin/files/kwin-3.5.5-input-shape.patch
new file mode 100644
index 000000000000..94cd32d24636
--- /dev/null
+++ b/kde-base/kwin/files/kwin-3.5.5-input-shape.patch
@@ -0,0 +1,63 @@
+From l.lunak@kde.org Tue Oct 10 12:25:53 2006
+To: kde-commits@kde.org
+Subject: branches/KDE/3.5/kdebase/kwin
+Message-Id: <1160475953.522428.2616.nullmailer@svn.kde.org>
+Cc: kde-packager@kde.org,
+ 135250-done@bugs.kde.org
+Content-Type: text/plain;
+ charset="us-ascii"
+Content-Transfer-Encoding: 7bit
+X-Length: 6070
+X-UID: 85
+
+SVN commit 594159 by lunakl:
+
+Build the input shape on a helper window instead of directly,
+this avoids having a hole in the shape temporarily. This seems
+to break non-click-to-focus mouse policies on some systems
+(works fine here though).
+BUG: 135250
+CCMAIL: kde-packager@kde.org
+
+
+
+ M +19 -6 client.cpp
+
+
+--- branches/KDE/3.5/kdebase/kwin/client.cpp #594158:594159
+@@ -477,16 +477,29 @@
+ // 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 );
+ }
+ }
diff --git a/kde-base/kwin/kwin-3.5.5-r1.ebuild b/kde-base/kwin/kwin-3.5.5-r1.ebuild
new file mode 100644
index 000000000000..fe33eb94ab74
--- /dev/null
+++ b/kde-base/kwin/kwin-3.5.5-r1.ebuild
@@ -0,0 +1,30 @@
+# Copyright 1999-2006 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/kde-base/kwin/kwin-3.5.5-r1.ebuild,v 1.1 2006/10/16 22:28:50 flameeyes Exp $
+
+KMNAME=kdebase
+MAXKDEVER=$PV
+KM_DEPRANGE="$PV $MAXKDEVER"
+inherit kde-meta eutils
+
+DESCRIPTION="KDE window manager"
+KEYWORDS="~alpha ~amd64 ~ia64 ~ppc ~ppc64 ~sparc ~x86 ~x86-fbsd"
+IUSE="xcomposite"
+RDEPEND="xcomposite? ( || ( (
+ x11-libs/libXcomposite
+ x11-libs/libXdamage
+ ) <x11-base/xorg-x11-7 )
+ )"
+DEPEND="${RDEPEND}
+ xcomposite? ( || ( (
+ x11-proto/compositeproto
+ x11-proto/damageproto
+ ) <x11-base/xorg-x11-7 )
+ )"
+
+PATCHES="${FILESDIR}/${P}-input-shape.patch"
+
+src_compile() {
+ myconf="$myconf $(use_with xcomposite composite)"
+ kde-meta_src_compile
+}