diff --git a/src/terminal/callbacks.c b/src/terminal/callbacks.c index da4582a..f4907a6 100644 --- a/src/terminal/callbacks.c +++ b/src/terminal/callbacks.c @@ -434,12 +434,24 @@ static int load(H3270 *session, const char *filename) debug("Emitting '%s'", text); + guint response = (guint) -1; v3270_signal_emit( terminal, V3270_SIGNAL_OPEN_URL, - text + text, + &response ); + if(response == (guint) -1) { + // No one has changed the response, take default action. + gtk_show_uri_on_window( + GTK_WINDOW(gtk_widget_get_toplevel(GTK_WIDGET(terminal))), + text, + GDK_CURRENT_TIME, + NULL + ); + } + } } diff --git a/src/terminal/widget.c b/src/terminal/widget.c index b148555..e0b4dc0 100644 --- a/src/terminal/widget.c +++ b/src/terminal/widget.c @@ -534,8 +534,8 @@ static void finalize(GObject *object) { G_SIGNAL_RUN_LAST, 0, NULL, NULL, - v3270_VOID__POINTER, - G_TYPE_NONE, 1, G_TYPE_STRING); + v3270_UINT__POINTER, + G_TYPE_UINT, 1, G_TYPE_STRING); v3270_widget_signal[V3270_SIGNAL_SAVE_POPUP_RESPONSE] = g_signal_new( I_("save-popup-response"), -- libgit2 0.21.2