diff options
Diffstat (limited to 'src/libxcwm/event_loop.c')
-rw-r--r-- | src/libxcwm/event_loop.c | 21 |
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; } |