/* Init startup notification. */
SnDisplay *sndisplay = sn_xcb_display_new(conn, NULL, NULL);
SnLauncheeContext *sncontext = sn_launchee_context_new_from_environment(sndisplay, screen);
+ sn_display_unref(sndisplay);
root_screen = xcb_aux_get_screen(conn, screen);
root = root_screen->root;
0, /* back pixel: black */
XCB_EVENT_MASK_EXPOSURE |
XCB_EVENT_MASK_BUTTON_PRESS});
- sn_launchee_context_setup_window(sncontext, win);
+ if (sncontext) {
+ sn_launchee_context_setup_window(sncontext, win);
+ }
/* Map the window (make it visible) */
xcb_map_window(conn, win);
}
/* Startup complete. */
- sn_launchee_context_complete(sncontext);
- sn_launchee_context_unref(sncontext);
- sn_display_unref(sndisplay);
+ if (sncontext) {
+ sn_launchee_context_complete(sncontext);
+ sn_launchee_context_unref(sncontext);
+ }
xcb_flush(conn);
/* Init startup notification. */
SnDisplay *sndisplay = sn_xcb_display_new(conn, NULL, NULL);
SnLauncheeContext *sncontext = sn_launchee_context_new_from_environment(sndisplay, screens);
+ sn_display_unref(sndisplay);
root_screen = xcb_aux_get_screen(conn, screens);
root = root_screen->root;
XCB_EVENT_MASK_BUTTON_PRESS |
XCB_EVENT_MASK_BUTTON_RELEASE,
cursor});
- sn_launchee_context_setup_window(sncontext, win);
+ if (sncontext) {
+ sn_launchee_context_setup_window(sncontext, win);
+ }
/* Map the window (make it visible) */
xcb_map_window(conn, win);
draw_util_surface_init(conn, &bar, win, get_visualtype(root_screen), win_pos.width, win_pos.height);
/* Startup complete. */
- sn_launchee_context_complete(sncontext);
- sn_launchee_context_unref(sncontext);
- sn_display_unref(sndisplay);
+ if (sncontext) {
+ sn_launchee_context_complete(sncontext);
+ sn_launchee_context_unref(sncontext);
+ }
/* Grab the keyboard to get all input */
xcb_flush(conn);