Comment 5 for bug 971918

Revision history for this message
Urs Fleisch (ufleisch) wrote :

I am not a GTK specialist, but it seems that TRUE has to be returned from the accelerator callback functions. Here is a patch which fixes the problem:

diff -ru lxterminal-0.1.11.orig/src/lxterminal.c lxterminal-0.1.11/src/lxterminal.c
--- lxterminal-0.1.11.orig/src/lxterminal.c 2011-07-27 23:07:54.000000000 +0200
+++ lxterminal-0.1.11/src/lxterminal.c 2012-05-18 17:58:40.483588501 +0200
@@ -77,9 +77,9 @@
 static void terminal_close_tab_activate_event(GtkAction * action, LXTerminal * terminal);
 static void terminal_close_tab_accelerator(LXTerminal * terminal, guint action, GtkWidget * item);
 static void terminal_copy_activate_event(GtkAction * action, LXTerminal * terminal);
-static void terminal_copy_accelerator(LXTerminal * terminal, guint action, GtkWidget * item);
+static gboolean terminal_copy_accelerator(LXTerminal * terminal, guint action, GtkWidget * item);
 static void terminal_paste_activate_event(GtkAction * action, LXTerminal * terminal);
-static void terminal_paste_accelerator(LXTerminal * terminal, guint action, GtkWidget * item);
+static gboolean terminal_paste_accelerator(LXTerminal * terminal, guint action, GtkWidget * item);
 static void terminal_name_tab_response_event(GtkWidget * dialog, gint response, LXTerminal * terminal);
 static void terminal_name_tab_activate_event(GtkAction * action, LXTerminal * terminal);
 static void terminal_name_tab_accelerator(LXTerminal * terminal, guint action, GtkWidget * item);
@@ -433,9 +433,10 @@
 }

 /* Handler for accelerator <CTRL><SHIFT> C. Copy to the clipboard. */
-static void terminal_copy_accelerator(LXTerminal * terminal, guint action, GtkWidget * item)
+static gboolean terminal_copy_accelerator(LXTerminal * terminal, guint action, GtkWidget * item)
 {
     terminal_copy_activate_event(NULL, terminal);
+ return TRUE;
 }

 /* Handler for "activate" signal on Edit/Paste menu item.
@@ -447,9 +448,10 @@
 }

 /* Handler for accelerator <CTRL><SHIFT> V. Paste from the clipboard. */
-static void terminal_paste_accelerator(LXTerminal * terminal, guint action, GtkWidget * item)
+static gboolean terminal_paste_accelerator(LXTerminal * terminal, guint action, GtkWidget * item)
 {
     terminal_paste_activate_event(NULL, terminal);
+ return TRUE;
 }

 /* Handler for "response" signal on Name Tab dialog. */