From 099b2f68f9576d0d626fb7687f35633daa2c2b57 Mon Sep 17 00:00:00 2001 From: Dana Jansens Date: Thu, 10 Jun 2010 14:20:41 -0400 Subject: [PATCH] only take events for compositing that should be taken, and fix some style things --- openbox/event.c | 50 ++++++++++++++++++++++++++----------------------- 1 file changed, 27 insertions(+), 23 deletions(-) diff --git a/openbox/event.c b/openbox/event.c index 990b8771..a1fbcf6c 100644 --- a/openbox/event.c +++ b/openbox/event.c @@ -622,34 +622,37 @@ static void event_process(const XEvent *ec, gpointer data) frame_adjust_focus(client->frame, FALSE); } #ifdef USE_COMPOSITING - else if ((e->type == CreateNotify) && obwin - && obwin->type != OB_WINDOW_CLASS_PROMPT) { + else if ((e->type == CreateNotify) && obwin && + obwin->type != OB_WINDOW_CLASS_PROMPT && + e->xcreatewindow.window == window_top(obwin)) + { XCreateWindowEvent const *xe = &e->xcreatewindow; - if (xe->window == window_top(obwin)) { - obwin->mapped = 0; - RECT_SET(obwin->comp_area, xe->x, xe->y, xe->width, xe->height); - if (!obwin->texture) glGenTextures(1, &obwin->texture); - } - } else if ((e->type == ConfigureNotify || e->type == MapNotify) - && obwin && obwin->type != OB_WINDOW_CLASS_PROMPT) { + obwin->mapped = 0; + RECT_SET(obwin->comp_area, xe->x, xe->y, xe->width, xe->height); + if (!obwin->texture) glGenTextures(1, &obwin->texture); + } + else if ((obwin && obwin->type != OB_WINDOW_CLASS_PROMPT) && + ((e->type == ConfigureNotify && + e->xconfigure.window == window_top(obwin)) || + (e->type == MapNotify && + e->xmap.window == window_top(obwin)))) + { gboolean pixchange = FALSE; if (e->type == ConfigureNotify) { XConfigureEvent const *xe = &e->xconfigure; - if (xe->window == window_top(obwin)) { - if ((obwin->comp_area.width != xe->width) - || (obwin->comp_area.height != xe->height)) - pixchange = TRUE; - RECT_SET(obwin->comp_area, xe->x, xe->y, xe->width, xe->height); + if (obwin->comp_area.width != xe->width || + obwin->comp_area.height != xe->height) + { + pixchange = TRUE; } + RECT_SET(obwin->comp_area, xe->x, xe->y, + xe->width, xe->height); } if (e->type == MapNotify) { - XMapEvent const *xe = &e->xmap; - if (xe->window == window_top(obwin)) { - pixchange = TRUE; - obwin->mapped = TRUE; - } + pixchange = TRUE; + obwin->mapped = TRUE; } if (pixchange) { @@ -662,10 +665,11 @@ static void event_process(const XEvent *ec, gpointer data) obwin->gpixmap = None; } } - } else if ((e->type == UnmapNotify) && obwin - && obwin->type != OB_WINDOW_CLASS_PROMPT) { - if (e->xunmap.window == window_top(obwin)) - obwin->mapped = FALSE; + } else if ((e->type == UnmapNotify) && obwin && + obwin->type != OB_WINDOW_CLASS_PROMPT && + e->xunmap.window == window_top(obwin)) + { + obwin->mapped = FALSE; } #endif else if (client) -- 2.34.1