]> git.sur5r.net Git - i3/i3/commitdiff
i3-nagbar & i3-config-wizard: check sncontext != NULL 3420/head
authorOrestis Floros <orestisf1993@gmail.com>
Sun, 23 Sep 2018 14:02:21 +0000 (17:02 +0300)
committerOrestis Floros <orestisf1993@gmail.com>
Sun, 23 Sep 2018 14:06:29 +0000 (17:06 +0300)
From
https://github.com/freedesktop/startup-notification/blob/07237ff25d6171e1b548118442ddba4259a53ba5/libsn/sn-common.c#L87-L171
it appears that SnDisplay can't be NULL, so I skipped the check.

Fixes #3419

i3-config-wizard/main.c
i3-nagbar/main.c

index 013d1053a80051cf40cf76f0537c1075c13e183d..0c8c705a784024429238ff98055f1f945d20d642 100644 (file)
@@ -853,6 +853,7 @@ int main(int argc, char *argv[]) {
     /* 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;
@@ -886,7 +887,9 @@ int main(int argc, char *argv[]) {
             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);
@@ -949,9 +952,10 @@ int main(int argc, char *argv[]) {
     }
 
     /* 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);
 
index 1d1fcc517358e88305cf25f69ec97e582abadefe..1d600c023ee76ea49daf7f0d4ec537ca9a7fd2bf 100644 (file)
@@ -421,6 +421,7 @@ int main(int argc, char *argv[]) {
     /* 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;
@@ -491,7 +492,9 @@ int main(int argc, char *argv[]) {
                 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);
@@ -553,9 +556,10 @@ int main(int argc, char *argv[]) {
     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);