summaryrefslogtreecommitdiff
path: root/src/libxcwm/event_loop.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/libxcwm/event_loop.c')
-rw-r--r--src/libxcwm/event_loop.c21
1 files changed, 16 insertions, 5 deletions
diff --git a/src/libxcwm/event_loop.c b/src/libxcwm/event_loop.c
index 0670244..758fd46 100644
--- a/src/libxcwm/event_loop.c
+++ b/src/libxcwm/event_loop.c
@@ -369,14 +369,25 @@ run_event_loop(void *thread_arg_struct)
_xcwm_window_create(context, notify->window,
notify->event);
+ if (window)
+ {
+ if (!return_evt->window) {
+ free(return_evt);
+ break;
+ }
+
+ _xcwm_window_composite_pixmap_update(window);
+
+ return_evt->window = window;
+ return_evt->event_type = XCWM_EVENT_WINDOW_CREATE;
+ callback_ptr(return_evt);
+ }
+ }
+ else
+ {
_xcwm_window_composite_pixmap_update(window);
-
- return_evt->window = window;
- return_evt->event_type = XCWM_EVENT_WINDOW_CREATE;
- callback_ptr(return_evt);
}
- _xcwm_window_composite_pixmap_update(window);
break;
}