tools/debug-gui: move gtk_main_quit to a function
authorJosé Expósito <jose.exposito89@gmail.com>
Thu, 10 Jun 2021 18:06:23 +0000 (20:06 +0200)
committerJosé Expósito <jose.exposito89@gmail.com>
Tue, 3 Aug 2021 16:52:39 +0000 (16:52 +0000)
Wrap the calls to gtk_main_quit in its own function.

Refactor, no functional changes.

Signed-off-by: José Expósito <jose.exposito89@gmail.com>
tools/libinput-debug-gui.c

index 54b9d07359d77d666ad48060922ca72cae5dda8c..249d3a6ac276d24f35c1048239d5a824dee02a92 100644 (file)
@@ -844,6 +844,12 @@ map_event_cb(GtkWidget *widget, GdkEvent *event, gpointer data)
                     );
 }
 
+static void
+window_quit(struct window *w)
+{
+       gtk_main_quit();
+}
+
 static void
 window_init(struct window *w)
 {
@@ -859,7 +865,7 @@ window_init(struct window *w)
        gtk_window_set_resizable(GTK_WINDOW(w->win), TRUE);
        gtk_widget_realize(w->win);
        g_signal_connect(G_OBJECT(w->win), "map-event", G_CALLBACK(map_event_cb), w);
-       g_signal_connect(G_OBJECT(w->win), "delete-event", G_CALLBACK(gtk_main_quit), NULL);
+       g_signal_connect(G_OBJECT(w->win), "delete-event", G_CALLBACK(window_quit), w);
 
        w->area = gtk_drawing_area_new();
        gtk_widget_set_events(w->area, 0);
@@ -1520,7 +1526,7 @@ handle_event_libinput(GIOChannel *source, GIOCondition condition, gpointer data)
                case LIBINPUT_EVENT_KEYBOARD_KEY:
                        if (handle_event_keyboard(ev, w)) {
                                libinput_event_destroy(ev);
-                               gtk_main_quit();
+                               window_quit(w);
                                return FALSE;
                        }
                        break;
@@ -1579,7 +1585,10 @@ usage(void) {
 static gboolean
 signal_handler(void *data)
 {
-       gtk_main_quit();
+       struct libinput *li = data;
+       struct window *w = libinput_get_user_data(li);
+
+       window_quit(w);
 
        return FALSE;
 }
@@ -1597,8 +1606,6 @@ main(int argc, char **argv)
        if (!gtk_init_check(&argc, &argv))
                return 77;
 
-       g_unix_signal_add(SIGINT, signal_handler, NULL);
-
        tools_init_options(&options);
 
        while (1) {
@@ -1673,6 +1680,8 @@ main(int argc, char **argv)
 
        libinput_set_user_data(li, &w);
 
+       g_unix_signal_add(SIGINT, signal_handler, li);
+
        window_init(&w);
        w.options = options;
        sockets_init(li);