[Pkg-wmaker-commits] [wmrack] 86/97: debian/patches: (fix_expose_loop.patch) Fix flicker when run without -w in Window Maker (Closes: #46008).

Doug Torrance dtorrance-guest at moszumanska.debian.org
Sat Aug 22 02:42:09 UTC 2015


This is an automated email from the git hooks/post-receive script.

dtorrance-guest pushed a commit to branch master
in repository wmrack.

commit 6d055e32b8d30a94f7491c26c68ef27170065869
Author: Doug Torrance <dtorrance at monmouthcollege.edu>
Date:   Mon Dec 29 14:24:09 2014 -0600

    debian/patches: (fix_expose_loop.patch) Fix flicker when run without -w in Window Maker (Closes: #46008).
---
 debian/patches/fix_expose_loop.patch | 46 ++++++++++++++++++++++++++++++++++++
 debian/patches/series                |  1 +
 2 files changed, 47 insertions(+)

diff --git a/debian/patches/fix_expose_loop.patch b/debian/patches/fix_expose_loop.patch
new file mode 100644
index 0000000..9a8a81e
--- /dev/null
+++ b/debian/patches/fix_expose_loop.patch
@@ -0,0 +1,46 @@
+Description: Fix Expose loop.
+ XShapeCombineMask, needed when switching from CD to mixer mode, generates an
+ Expose event, which was causing the wmrack window to be redrawn constantly.
+ This caused a flickering effect, especially when run without the -w option on
+ Window Maker.  To fix this, we call XShapeCombineMask only when needed.
+Author: Doug Torrance <dtorrance at monmouthcollege.edu>
+Bug-Debian: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=46008
+Last-Update: 2014-12-29
+
+--- a/wmrack.c
++++ b/wmrack.c
+@@ -984,11 +984,6 @@
+     flushExpose (Win);
+     flushExpose (Iconwin);
+ 
+-    XShapeCombineMask (Disp, Win, ShapeBounding, 0, 0,
+-		       rackXpm[curRack].mask, ShapeSet);
+-    XShapeCombineMask (Disp, Iconwin, ShapeBounding, 0, 0,
+-		       rackXpm[curRack].mask, ShapeSet);
+-
+     XCopyArea (Disp, rackXpm[curRack].pixmap, Win, WinGC,
+ 	       0, 0, rackXpm[curRack].attributes.width,
+ 	       rackXpm[curRack].attributes.height, 0, 0);
+@@ -1408,12 +1403,17 @@
+ 	}
+     }
+ 
+-    if (newRack != curRack || force_win)
+-    {
+-	/* Mode has changed, paint new mask and pixmap */
+-	curRack = newRack;
+-	redrawWindow ();
++    /* Mode has changed, paint new mask and pixmap */
++    if (newRack != curRack) {
++        curRack = newRack;
++        redrawWindow ();
++        XShapeCombineMask (Disp, Win, ShapeBounding, 0, 0,
++                          rackXpm[curRack].mask, ShapeSet);
++        XShapeCombineMask (Disp, Iconwin, ShapeBounding, 0, 0,
++                          rackXpm[curRack].mask, ShapeSet);
+     }
++    if (force_win)
++	redrawWindow ();
+ 
+     switch (curRack)
+     {
diff --git a/debian/patches/series b/debian/patches/series
index b4e26bb..3b1d86a 100644
--- a/debian/patches/series
+++ b/debian/patches/series
@@ -6,3 +6,4 @@ fix_hurd_ftbfs.patch
 fix_kfreebsd_ftbfs.patch
 update_makefile.patch
 fix_-Wformat.patch
+fix_expose_loop.patch

-- 
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/pkg-wmaker/wmrack.git



More information about the Pkg-wmaker-commits mailing list