[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