Moved key_press_cb callback to the main window rather than webkit, to fix this: http...
authorBarrucadu <mike@barrucadu.co.uk>
Tue, 19 May 2009 15:31:27 +0000 (16:31 +0100)
committerBarrucadu <mike@barrucadu.co.uk>
Tue, 19 May 2009 15:31:27 +0000 (16:31 +0100)
uzbl.c
uzbl.h

diff --git a/uzbl.c b/uzbl.c
index e055b8f..27e55d3 100644 (file)
--- a/uzbl.c
+++ b/uzbl.c
@@ -1524,11 +1524,11 @@ update_title (void) {
 }
 
 static gboolean
-key_press_cb (WebKitWebView* page, GdkEventKey* event)
+key_press_cb (GtkWidget* window, GdkEventKey* event)
 {
     //TRUE to stop other handlers from being invoked for the event. FALSE to propagate the event further.
 
-    (void) page;
+    (void) window;
 
     if (event->type != GDK_KEY_PRESS || event->keyval == GDK_Page_Up || event->keyval == GDK_Page_Down
         || event->keyval == GDK_Up || event->keyval == GDK_Down || event->keyval == GDK_Left || event->keyval == GDK_Right || event->keyval == GDK_Shift_L || event->keyval == GDK_Shift_R)
@@ -1654,7 +1654,6 @@ create_browser () {
     g_signal_connect (G_OBJECT (g->web_view), "load-finished", G_CALLBACK (log_history_cb), g->web_view);
     g_signal_connect (G_OBJECT (g->web_view), "load-finished", G_CALLBACK (load_finish_cb), g->web_view);
     g_signal_connect (G_OBJECT (g->web_view), "hovering-over-link", G_CALLBACK (link_hover_cb), g->web_view);
-    g_signal_connect (G_OBJECT (g->web_view), "key-press-event", G_CALLBACK (key_press_cb), g->web_view);
     g_signal_connect (G_OBJECT (g->web_view), "new-window-policy-decision-requested", G_CALLBACK (new_window_cb), g->web_view);
     g_signal_connect (G_OBJECT (g->web_view), "download-requested", G_CALLBACK (download_cb), g->web_view);
     g_signal_connect (G_OBJECT (g->web_view), "create-web-view", G_CALLBACK (create_web_view_cb), g->web_view);
@@ -1686,6 +1685,7 @@ GtkWidget* create_window () {
     gtk_window_set_default_size (GTK_WINDOW (window), 800, 600);
     gtk_widget_set_name (window, "Uzbl browser");
     g_signal_connect (G_OBJECT (window), "destroy", G_CALLBACK (destroy_cb), NULL);
+    g_signal_connect (G_OBJECT (window), "key-press-event", G_CALLBACK (key_press_cb), NULL);
 
     return window;
 }
diff --git a/uzbl.h b/uzbl.h
index 31bb627..9100e0f 100644 (file)
--- a/uzbl.h
+++ b/uzbl.h
@@ -332,7 +332,7 @@ static void
 update_title (void);
 
 static gboolean
-key_press_cb (WebKitWebView* page, GdkEventKey* event);
+key_press_cb (GtkWidget* window, GdkEventKey* event);
 
 static void
 run_keycmd(const gboolean key_ret);