diff options
author | Richard Grenville <[email protected]> | 2012-11-10 11:41:01 +0800 |
---|---|---|
committer | Richard Grenville <[email protected]> | 2012-11-10 11:41:01 +0800 |
commit | 473cb1f4ed86ec7337f40eea4bdd55298524d9e2 (patch) | |
tree | aea1ec288258401eebc9bb8d0c8e9e82d2ebb8bf | |
parent | bbe376ad1b4029f64ac3a89b4b7cc90a99eeaf1f (diff) | |
download | tdebase-473cb1f4ed86ec7337f40eea4bdd55298524d9e2.tar.gz tdebase-473cb1f4ed86ec7337f40eea4bdd55298524d9e2.zip |
Bug fix: Client window event mask not restored in map_win()
- Fix a bug that client window event masks are not restored in
map_win(), causing further property changes to be ignored, for
example.
- Misc changes.
-rw-r--r-- | compton.c | 7 | ||||
-rw-r--r-- | compton.h | 7 |
2 files changed, 9 insertions, 5 deletions
@@ -1979,10 +1979,9 @@ map_win(Display *dpy, Window id, mark_client_win(dpy, w, cw); } } - else if (opts.frame_opacity) { - // Refetch frame extents just in case it changes when the window is - // unmapped - get_frame_extents(dpy, w, w->client_win); + else { + // Re-mark client window here + mark_client_win(dpy, w, w->client_win); } // Workaround for _NET_WM_WINDOW_TYPE for Openbox menus, which is @@ -343,6 +343,7 @@ typedef struct _win { struct _win *prev_trans; } win; +/// VSync modes. typedef enum { VSYNC_NONE, VSYNC_DRM, @@ -354,7 +355,7 @@ typedef int (*f_WaitVideoSync) (int, int, unsigned *); typedef int (*f_GetVideoSync) (unsigned *); #endif -typedef struct _options { +typedef struct { // General char *display; /// Whether to try to detect WM windows and mark them as focused. @@ -958,6 +959,10 @@ wid_bounding_shaped(Display *dpy, Window wid) { return False; } +/** + * Determine if a window change affects reg_ignore and set + * reg_ignore_expire accordingly. + */ static inline void update_reg_ignore_expire(const win *w) { if (w->to_paint && WINDOW_SOLID == w->mode) |