summaryrefslogtreecommitdiff
path: root/gtk/gtktextview.c
diff options
context:
space:
mode:
authorOwen Taylor <otaylor@redhat.com>2001-12-23 22:59:30 +0000
committerOwen Taylor <otaylor@src.gnome.org>2001-12-23 22:59:30 +0000
commitcd6070461e42fa23e1af04add0dcdb3346b2b9a1 (patch)
tree3a4e3e724fdeb93b8280477f58b118da4d519513 /gtk/gtktextview.c
parent1806c0eed8def0e7e27786e63b670875aa94a8f6 (diff)
downloadgtk+-cd6070461e42fa23e1af04add0dcdb3346b2b9a1.tar.gz
1.3.12, interface, binary age 0.
Sat Dec 22 12:38:03 2001 Owen Taylor <otaylor@redhat.com> * configure.in: 1.3.12, interface, binary age 0. * configure.in: Require new versions of Glib, Pango, ATK. * NEWS: Updated. * configure.in: Make explicit what libtool we are executing. (Tomas Ogren) * gdk/gdkcolor.c gdk/gdkgc.c gdk/gdkwindow.c: Doc fixes. * gtk/gtkwidget.c (gtk_widget_[class]path) gtkrc.h : Fix parameter names for docs. Sat Dec 22 22:35:29 2001 Owen Taylor <otaylor@redhat.com> * gtk/gtkwindow.c (gtk_window_realize) gtk/gtkplug.c (gtk_plug_realize): Include GDK_KEY_RELEASE_MASK. * gtk/gtkentry.c (gtk_entry_key_release) gtk/gtktextview.c (gtk_text_view_key_release_event): Pass key release events to the input method. * gtk/gtkimcontextsimple.c (gtk_im_context_simple_filter_keypress): Handle release of Control/Shift to end hex sequence. * modules/input/gtkimcontextxim.c (gtk_im_context_xim_filter_keypress): Handle key releases as well as presses.
Diffstat (limited to 'gtk/gtktextview.c')
-rw-r--r--gtk/gtktextview.c18
1 files changed, 17 insertions, 1 deletions
diff --git a/gtk/gtktextview.c b/gtk/gtktextview.c
index e1e055f434..8297329f66 100644
--- a/gtk/gtktextview.c
+++ b/gtk/gtktextview.c
@@ -3412,7 +3412,23 @@ gtk_text_view_key_press_event (GtkWidget *widget, GdkEventKey *event)
static gint
gtk_text_view_key_release_event (GtkWidget *widget, GdkEventKey *event)
{
- return FALSE;
+ GtkTextView *text_view = GTK_TEXT_VIEW (widget);
+ GtkTextMark *insert;
+ GtkTextIter iter;
+
+ if (text_view->layout == NULL || get_buffer (text_view) == NULL)
+ return FALSE;
+
+ 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_can_insert (&iter, text_view->editable) &&
+ gtk_im_context_filter_keypress (text_view->im_context, event))
+ {
+ text_view->need_im_reset = TRUE;
+ return TRUE;
+ }
+ else
+ return GTK_WIDGET_CLASS (parent_class)->key_release_event (widget, event);
}
static gint