summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRichard Grenville <pyxlcy@gmail.com>2012-11-10 11:41:01 +0800
committerRichard Grenville <pyxlcy@gmail.com>2012-11-10 11:41:01 +0800
commit473cb1f4ed86ec7337f40eea4bdd55298524d9e2 (patch)
treeaea1ec288258401eebc9bb8d0c8e9e82d2ebb8bf
parentbbe376ad1b4029f64ac3a89b4b7cc90a99eeaf1f (diff)
downloadtdebase-473cb1f4.tar.gz
tdebase-473cb1f4.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.c7
-rw-r--r--compton.h7
2 files changed, 9 insertions, 5 deletions
diff --git a/compton.c b/compton.c
index 69aeddd36..079f87154 100644
--- a/compton.c
+++ b/compton.c
@@ -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
diff --git a/compton.h b/compton.h
index b66e77303..5d3ad2611 100644
--- a/compton.h
+++ b/compton.h
@@ -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)