diff options
author | Mark Tiefenbruck <mark@fluxbox.org> | 2007-01-25 15:05:02 -0500 |
---|---|---|
committer | Adam Jackson <ajax@benzedrine.nwnk.net> | 2007-01-25 15:05:02 -0500 |
commit | 08c9ac6cbb3405cfa4f0b60d7014c734a1990047 (patch) | |
tree | 3175409bde8bc6b0e810df39d6da7d27946104d1 /xcompmgr.c | |
parent | 1783d3bd50924ab4a74b86bc8b50c631d209071d (diff) |
Bug #9762: Fix opacity changes on unmapped windows.
Diffstat (limited to 'xcompmgr.c')
-rw-r--r-- | xcompmgr.c | 10 |
1 files changed, 7 insertions, 3 deletions
@@ -1165,6 +1165,9 @@ repair_win (Display *dpy, win *w) w->damaged = 1; } +static unsigned int +get_opacity_prop (Display *dpy, win *w, unsigned int def); + static void map_win (Display *dpy, Window id, unsigned long sequence, Bool fade) { @@ -1179,6 +1182,10 @@ map_win (Display *dpy, Window id, unsigned long sequence, Bool fade) /* This needs to be here or else we lose transparency messages */ XSelectInput (dpy, id, PropertyChangeMask); + /* This needs to be here since we don't get PropertyNotify when unmapped */ + w->opacity = get_opacity_prop (dpy, w, OPAQUE); + determine_mode (dpy, w); + #if CAN_DO_USABLE w->damage_bounds.x = w->damage_bounds.y = 0; w->damage_bounds.width = w->damage_bounds.height = 0; @@ -1467,10 +1474,7 @@ add_win (Display *dpy, Window id, Window prev) new->borderClip = None; new->prev_trans = 0; - /* moved mode setting to one place */ - new->opacity = get_opacity_prop (dpy, new, OPAQUE); new->windowType = determine_wintype (dpy, new->id); - determine_mode (dpy, new); new->next = *p; *p = new; |