From 5350882d878f188b3fe963fe076051cf432c0e8a Mon Sep 17 00:00:00 2001 From: Daniel Carl Date: Wed, 19 Dec 2012 15:56:19 +0100 Subject: [PATCH] Use signal::button-release-event instead of signal event. --- src/main.c | 24 +++++++++++------------- 1 file changed, 11 insertions(+), 13 deletions(-) diff --git a/src/main.c b/src/main.c index c45d831..9101bc3 100644 --- a/src/main.c +++ b/src/main.c @@ -50,7 +50,7 @@ static void vp_read_config(void); static void vp_init_gui(void); static void vp_init_files(void); static void vp_setup_signals(void); -static gboolean vp_notify_event_cb(GtkWidget* widget, GdkEvent* event, gpointer data); +static gboolean vp_notify_event_cb(WebKitWebView *webview, GdkEventButton* event, gpointer data); #ifdef FEATURE_COOKIE static void vp_set_cookie(SoupCookie* cookie); static const gchar* vp_get_cookies(SoupURI *uri); @@ -558,7 +558,7 @@ static void vp_setup_signals(void) g_signal_connect(G_OBJECT(gui->webview), "notify::load-status", G_CALLBACK(vp_webview_load_status_cb), NULL); g_object_connect( G_OBJECT(gui->webview), - "signal::event", G_CALLBACK(vp_notify_event_cb), NULL, + "signal::button-release-event", G_CALLBACK(vp_notify_event_cb), NULL, NULL ); @@ -589,20 +589,18 @@ static void vp_setup_signals(void) ); } -static gboolean vp_notify_event_cb(GtkWidget* widget, GdkEvent* event, gpointer data) +static gboolean vp_notify_event_cb(WebKitWebView* webview, GdkEventButton* event, gpointer data) { - WebKitHitTestResult *result = NULL; + if (GET_CLEAN_MODE() == VP_MODE_NORMAL) { + return FALSE; + } + WebKitHitTestResult *result = webkit_web_view_get_hit_test_result(webview, event); WebKitHitTestResultContext context; - if (GET_CLEAN_MODE() == VP_MODE_NORMAL - && event->type == GDK_BUTTON_RELEASE - ) { - result = webkit_web_view_get_hit_test_result(vp.gui.webview, (GdkEventButton*)event); - g_object_get(result, "context", &context, NULL); - if (context & WEBKIT_HIT_TEST_RESULT_CONTEXT_EDITABLE) { - vp_set_mode(VP_MODE_INSERT, FALSE); - } + g_object_get(result, "context", &context, NULL); + if (context & WEBKIT_HIT_TEST_RESULT_CONTEXT_EDITABLE) { + vp_set_mode(VP_MODE_INSERT, FALSE); + return TRUE; } - return FALSE; } -- 2.20.1