X-Git-Url: https://git.sur5r.net/?p=i3%2Fi3;a=blobdiff_plain;f=i3-config-wizard%2Fmain.c;h=4b55665773e39821ed175efdb58df00664d87659;hp=013d1053a80051cf40cf76f0537c1075c13e183d;hb=HEAD;hpb=08a53611f903c86ef169f3c07f1887f9d66ba4a5 diff --git a/i3-config-wizard/main.c b/i3-config-wizard/main.c index 013d1053..4b556657 100644 --- a/i3-config-wizard/main.c +++ b/i3-config-wizard/main.c @@ -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);