From: Jean-Philippe Orsini Date: Mon, 22 Apr 2013 07:00:19 +0000 (+0000) Subject: (no commit message) X-Git-Url: https://git.wpitchoune.net/gitweb/?p=prss.git;a=commitdiff_plain;h=3b1b6d606bbad81c4dd8b9b50f7f7aa9d56148fa --- diff --git a/src/main.c b/src/main.c index 35805df..87588b5 100644 --- a/src/main.c +++ b/src/main.c @@ -227,8 +227,6 @@ int main(int argc, char **argv) gtk_container_add(GTK_CONTAINER(panh), web_get_widget()); - gtk_builder_connect_signals(builder, NULL); - g_object_unref(G_OBJECT(builder)); gtk_widget_show_all(window); diff --git a/src/webbrowser.c b/src/webbrowser.c index 13de067..9204f57 100644 --- a/src/webbrowser.c +++ b/src/webbrowser.c @@ -23,10 +23,29 @@ static WebKitWebView *view; +static gboolean new_window_requested_cbk(WebKitWebView *view, + WebKitWebFrame *frame, + WebKitNetworkRequest *rq, + WebKitWebNavigationAction *action, + WebKitWebPolicyDecision *decision) +{ + webkit_web_view_load_uri(view, webkit_network_request_get_uri(rq)); + + webkit_web_policy_decision_ignore(decision); + + return TRUE; +} + GtkWidget *web_get_widget() { - if (!view) + if (!view) { view = WEBKIT_WEB_VIEW(webkit_web_view_new()); + g_signal_connect(view, + "new-window-policy-decision-requested", + G_CALLBACK(new_window_requested_cbk), + view); + + } return GTK_WIDGET(view); }