diff options
author | Peter Hofmann <scm@uninformativ.de> | 2018-01-13 07:12:24 +0100 |
---|---|---|
committer | Peter Hofmann <scm@uninformativ.de> | 2018-01-13 07:12:24 +0100 |
commit | f1a802e41b1604e81536f6b8acc1429e919b8e9f (patch) | |
tree | ba8a0fc4d34f6a1a9e837d98332d78059d007151 /browser.c | |
parent | 5191e72c92093e38830133c72606a68a4e54c8e7 (diff) | |
download | lariza-f1a802e41b1604e81536f6b8acc1429e919b8e9f.tar.gz |
Use full signature for external_handler_run
Yes, this needs the two void casts to make the compiler not complain
about unused parameters, but I think "explicit is better than implicit"
here. And none of the other callbacks use this trick.
Diffstat (limited to 'browser.c')
-rw-r--r-- | browser.c | 13 |
1 files changed, 8 insertions, 5 deletions
@@ -32,7 +32,7 @@ static void downloadmanager_cancel(GtkToolButton *, gpointer data); static gboolean downloadmanager_delete(GtkWidget *, gpointer); static void downloadmanager_setup(void); static gchar *ensure_uri_scheme(const gchar *); -static void external_handler_run(gpointer); +static void external_handler_run(GSimpleAction *, GVariant *, gpointer); static void grab_environment_configuration(void); static void hover_web_view(WebKitWebView *, WebKitHitTestResult *, guint, gpointer); static gboolean key_common(GtkWidget *, GdkEvent *, gpointer); @@ -563,13 +563,16 @@ ensure_uri_scheme(const gchar *t) } void -external_handler_run(gpointer data) +external_handler_run(GSimpleAction *simple, GVariant *param, gpointer data) { struct Client *c = (struct Client *)data; gchar *argv[] = { "lariza-external-handler", "-u", NULL, NULL }; GPid pid; GError *err = NULL; + (void)simple; + (void)param; + argv[2] = c->external_handler_uri; if (!g_spawn_async(NULL, argv, NULL, G_SPAWN_SEARCH_PATH, NULL, NULL, &pid, &err)) @@ -709,7 +712,7 @@ key_common(GtkWidget *widget, GdkEvent *event, gpointer data) g_free(c->external_handler_uri); c->external_handler_uri = g_strdup( webkit_web_view_get_uri(WEBKIT_WEB_VIEW(c->web_view))); - external_handler_run(c); + external_handler_run(NULL, NULL, c); return TRUE; } } @@ -933,8 +936,8 @@ menu_web_view(WebKitWebView *web_view, WebKitContextMenu *menu, GdkEvent *ev, g_free(c->external_handler_uri); c->external_handler_uri = g_strdup(uri); action = g_simple_action_new("external_handler", NULL); - g_signal_connect_swapped(G_OBJECT(action), "activate", - G_CALLBACK(external_handler_run), data); + g_signal_connect(G_OBJECT(action), "activate", + G_CALLBACK(external_handler_run), data); mi = webkit_context_menu_item_new_from_gaction(G_ACTION(action), "Open with external handler", NULL); |