Merge lp:~smspillaz/compiz-workarounds-plugin/compiz-workarounds-plugin.fix_923087 into lp:compiz-workarounds-plugin

Proposed by Sam Spilsbury
Status: Merged
Merged at revision: 118
Proposed branch: lp:~smspillaz/compiz-workarounds-plugin/compiz-workarounds-plugin.fix_923087
Merge into: lp:compiz-workarounds-plugin
Diff against target: 48 lines (+5/-31)
1 file modified
src/workarounds.cpp (+5/-31)
To merge this branch: bzr merge lp:~smspillaz/compiz-workarounds-plugin/compiz-workarounds-plugin.fix_923087
Reviewer Review Type Date Requested Status
Jason Smith (community) Approve
Review via email: mp+93348@code.launchpad.net

Description of the change

Fixes LP #923087

The workarounds plugin would forcibly remove _NET_WM_STATE_FOCUSED whenever it refreshed _NET_WM_STATE

To post a comment you must log in.
119. By Sam Spilsbury

Use a regular ptr

120. By Sam Spilsbury

Also allow no state data

Revision history for this message
Jason Smith (jassmith) wrote :

Code looks fine

review: Approve
Revision history for this message
Daniel van Vugt (vanvugt) wrote :

The bug number is a typo. It is actually bug 932087.

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
1=== modified file 'src/workarounds.cpp'
2--- src/workarounds.cpp 2011-08-12 06:06:48 +0000
3+++ src/workarounds.cpp 2012-02-21 03:55:21 +0000
4@@ -548,39 +548,13 @@
5 void
6 WorkaroundsScreen::setWindowState (unsigned int state, Window id)
7 {
8+ int i = 0;
9 Atom data[32];
10- int i = 0;
11-
12- if (state & CompWindowStateModalMask)
13- data[i++] = Atoms::winStateModal;
14- if (state & CompWindowStateStickyMask)
15- data[i++] = Atoms::winStateSticky;
16- if (state & CompWindowStateMaximizedVertMask)
17- data[i++] = Atoms::winStateMaximizedVert;
18- if (state & CompWindowStateMaximizedHorzMask)
19- data[i++] = Atoms::winStateMaximizedHorz;
20- if (state & CompWindowStateShadedMask)
21- data[i++] = Atoms::winStateShaded;
22- if (state & CompWindowStateSkipTaskbarMask)
23- data[i++] = Atoms::winStateSkipTaskbar;
24- if (state & CompWindowStateSkipPagerMask)
25- data[i++] = Atoms::winStateSkipPager;
26- if (state & CompWindowStateHiddenMask)
27- data[i++] = Atoms::winStateHidden;
28- if (state & CompWindowStateFullscreenMask)
29- data[i++] = Atoms::winStateFullscreen;
30- if (state & CompWindowStateAboveMask)
31- data[i++] = Atoms::winStateAbove;
32- if (state & CompWindowStateBelowMask)
33- data[i++] = Atoms::winStateBelow;
34- if (state & CompWindowStateDemandsAttentionMask)
35- data[i++] = Atoms::winStateDemandsAttention;
36- if (state & CompWindowStateDisplayModalMask)
37- data[i++] = Atoms::winStateDisplayModal;
38-
39+
40+ i = compiz::window::fillStateData (state, data);
41 XChangeProperty (screen->dpy (), id, Atoms::winState,
42- XA_ATOM, 32, PropModeReplace,
43- (unsigned char *) data, i);
44+ XA_ATOM, 32, PropModeReplace,
45+ (unsigned char *) data, i);
46 }
47
48 void

Subscribers

People subscribed via source and target branches