]> Pileus Git - ~andy/gtk/commitdiff
don't pass key press to IM context if cursor isn't in an editable
authorHavoc Pennington <hp@redhat.com>
Sat, 22 Sep 2001 00:08:18 +0000 (00:08 +0000)
committerHavoc Pennington <hp@src.gnome.org>
Sat, 22 Sep 2001 00:08:18 +0000 (00:08 +0000)
2001-09-21  Havoc Pennington  <hp@redhat.com>

* gtk/gtktextview.c (gtk_text_view_key_press_event): don't pass
key press to IM context if cursor isn't in an editable location;
bug #58425, patch from Hidetoshi Tajima

ChangeLog
ChangeLog.pre-2-0
ChangeLog.pre-2-10
ChangeLog.pre-2-2
ChangeLog.pre-2-4
ChangeLog.pre-2-6
ChangeLog.pre-2-8
gtk/gtktextview.c

index 6d998f0f3a0e50083ad293b681e25d03434df9d6..983e388f2f240cecd38e6743e388eed14e565077 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,9 @@
+2001-09-21  Havoc Pennington  <hp@redhat.com>
+
+       * gtk/gtktextview.c (gtk_text_view_key_press_event): don't pass
+       key press to IM context if cursor isn't in an editable location;
+       bug #58425, patch from Hidetoshi Tajima
+
 2001-09-21  Havoc Pennington  <hp@redhat.com>
 
         Bug #60862
index 6d998f0f3a0e50083ad293b681e25d03434df9d6..983e388f2f240cecd38e6743e388eed14e565077 100644 (file)
@@ -1,3 +1,9 @@
+2001-09-21  Havoc Pennington  <hp@redhat.com>
+
+       * gtk/gtktextview.c (gtk_text_view_key_press_event): don't pass
+       key press to IM context if cursor isn't in an editable location;
+       bug #58425, patch from Hidetoshi Tajima
+
 2001-09-21  Havoc Pennington  <hp@redhat.com>
 
         Bug #60862
index 6d998f0f3a0e50083ad293b681e25d03434df9d6..983e388f2f240cecd38e6743e388eed14e565077 100644 (file)
@@ -1,3 +1,9 @@
+2001-09-21  Havoc Pennington  <hp@redhat.com>
+
+       * gtk/gtktextview.c (gtk_text_view_key_press_event): don't pass
+       key press to IM context if cursor isn't in an editable location;
+       bug #58425, patch from Hidetoshi Tajima
+
 2001-09-21  Havoc Pennington  <hp@redhat.com>
 
         Bug #60862
index 6d998f0f3a0e50083ad293b681e25d03434df9d6..983e388f2f240cecd38e6743e388eed14e565077 100644 (file)
@@ -1,3 +1,9 @@
+2001-09-21  Havoc Pennington  <hp@redhat.com>
+
+       * gtk/gtktextview.c (gtk_text_view_key_press_event): don't pass
+       key press to IM context if cursor isn't in an editable location;
+       bug #58425, patch from Hidetoshi Tajima
+
 2001-09-21  Havoc Pennington  <hp@redhat.com>
 
         Bug #60862
index 6d998f0f3a0e50083ad293b681e25d03434df9d6..983e388f2f240cecd38e6743e388eed14e565077 100644 (file)
@@ -1,3 +1,9 @@
+2001-09-21  Havoc Pennington  <hp@redhat.com>
+
+       * gtk/gtktextview.c (gtk_text_view_key_press_event): don't pass
+       key press to IM context if cursor isn't in an editable location;
+       bug #58425, patch from Hidetoshi Tajima
+
 2001-09-21  Havoc Pennington  <hp@redhat.com>
 
         Bug #60862
index 6d998f0f3a0e50083ad293b681e25d03434df9d6..983e388f2f240cecd38e6743e388eed14e565077 100644 (file)
@@ -1,3 +1,9 @@
+2001-09-21  Havoc Pennington  <hp@redhat.com>
+
+       * gtk/gtktextview.c (gtk_text_view_key_press_event): don't pass
+       key press to IM context if cursor isn't in an editable location;
+       bug #58425, patch from Hidetoshi Tajima
+
 2001-09-21  Havoc Pennington  <hp@redhat.com>
 
         Bug #60862
index 6d998f0f3a0e50083ad293b681e25d03434df9d6..983e388f2f240cecd38e6743e388eed14e565077 100644 (file)
@@ -1,3 +1,9 @@
+2001-09-21  Havoc Pennington  <hp@redhat.com>
+
+       * gtk/gtktextview.c (gtk_text_view_key_press_event): don't pass
+       key press to IM context if cursor isn't in an editable location;
+       bug #58425, patch from Hidetoshi Tajima
+
 2001-09-21  Havoc Pennington  <hp@redhat.com>
 
         Bug #60862
index 5054501df1a581471e6a23c897e5630ab1416b4e..0e864b178a94ca89730f01664ff93c61b65aec53 100644 (file)
@@ -3201,12 +3201,17 @@ gtk_text_view_key_press_event (GtkWidget *widget, GdkEventKey *event)
 {
   gboolean retval = FALSE;
   GtkTextView *text_view = GTK_TEXT_VIEW (widget);
-
+  GtkTextMark *insert;
+  GtkTextIter iter;
+  
   if (text_view->layout == NULL ||
       get_buffer (text_view) == NULL)
     return FALSE;
 
-  if (gtk_im_context_filter_keypress (text_view->im_context, event))
+  insert = gtk_text_buffer_get_insert (get_buffer (text_view));
+  gtk_text_buffer_get_iter_at_mark (get_buffer (text_view), &iter, insert);
+  if (gtk_text_iter_editable (&iter, text_view->editable) &&
+      gtk_im_context_filter_keypress (text_view->im_context, event))
     {
       text_view->need_im_reset = TRUE;
       retval = TRUE;