]> git.sur5r.net Git - i3/i3/blobdiff - i3-config-wizard/main.c
Merge branch 'release-4.16.1'
[i3/i3] / i3-config-wizard / main.c
index 013d1053a80051cf40cf76f0537c1075c13e183d..4b55665773e39821ed175efdb58df00664d87659 100644 (file)
@@ -104,7 +104,7 @@ static struct xkb_keymap *xkb_keymap;
 static uint8_t xkb_base_event;
 static uint8_t xkb_base_error;
 
-static void finish();
+static void finish(void);
 
 #include "GENERATED_config_enums.h"
 
@@ -216,7 +216,7 @@ static const char *get_string(const char *identifier) {
 
 static void clear_stack(void) {
     for (int c = 0; c < 10; c++) {
-        if (stack[c].type == STACK_STR && stack[c].val.str != NULL)
+        if (stack[c].type == STACK_STR)
             free(stack[c].val.str);
         stack[c].identifier = NULL;
         stack[c].val.str = NULL;
@@ -482,7 +482,7 @@ static void txt(int col, int row, char *text, color_t fg, color_t bg) {
  * Handles expose events, that is, draws the window contents.
  *
  */
-static int handle_expose() {
+static int handle_expose(void) {
     const color_t black = draw_util_hex_to_color("#000000");
     const color_t white = draw_util_hex_to_color("#FFFFFF");
     const color_t green = draw_util_hex_to_color("#00FF00");
@@ -641,7 +641,7 @@ static void handle_button_press(xcb_button_press_event_t *event) {
  * Creates the config file and tells i3 to reload.
  *
  */
-static void finish() {
+static void finish(void) {
     printf("creating \"%s\"...\n", config_path);
 
     struct xkb_context *xkb_context;
@@ -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);