diff options
author | Owen Taylor <otaylor@redhat.com> | 2001-12-23 22:59:30 +0000 |
---|---|---|
committer | Owen Taylor <otaylor@src.gnome.org> | 2001-12-23 22:59:30 +0000 |
commit | cd6070461e42fa23e1af04add0dcdb3346b2b9a1 (patch) | |
tree | 3a4e3e724fdeb93b8280477f58b118da4d519513 | |
parent | 1806c0eed8def0e7e27786e63b670875aa94a8f6 (diff) | |
download | gtk+-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.
-rw-r--r-- | ChangeLog | 31 | ||||
-rw-r--r-- | ChangeLog.pre-2-0 | 31 | ||||
-rw-r--r-- | ChangeLog.pre-2-10 | 31 | ||||
-rw-r--r-- | ChangeLog.pre-2-2 | 31 | ||||
-rw-r--r-- | ChangeLog.pre-2-4 | 31 | ||||
-rw-r--r-- | ChangeLog.pre-2-6 | 31 | ||||
-rw-r--r-- | ChangeLog.pre-2-8 | 31 | ||||
-rw-r--r-- | NEWS | 30 | ||||
-rw-r--r-- | configure.in | 10 | ||||
-rw-r--r-- | gdk/gdkcolor.c | 6 | ||||
-rw-r--r-- | gdk/gdkgc.c | 2 | ||||
-rw-r--r-- | gdk/gdkwindow.c | 2 | ||||
-rw-r--r-- | gtk/gtkentry.c | 21 | ||||
-rw-r--r-- | gtk/gtkimcontextsimple.c | 17 | ||||
-rw-r--r-- | gtk/gtkplug.c | 1 | ||||
-rw-r--r-- | gtk/gtkrc.h | 2 | ||||
-rw-r--r-- | gtk/gtktextview.c | 18 | ||||
-rw-r--r-- | gtk/gtkwidget.c | 68 | ||||
-rw-r--r-- | gtk/gtkwindow.c | 1 | ||||
-rw-r--r-- | modules/input/gtkimcontextxim.c | 2 |
20 files changed, 345 insertions, 52 deletions
@@ -1,3 +1,34 @@ +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. + 2001-12-21 Matthias Clasen <matthiasc@poet.de> * gtk/gtktoolbar.c (gtk_toolbar_insert_element): Trivial doc adjustment. diff --git a/ChangeLog.pre-2-0 b/ChangeLog.pre-2-0 index c6df1c1ea3..8dc6c09b3b 100644 --- a/ChangeLog.pre-2-0 +++ b/ChangeLog.pre-2-0 @@ -1,3 +1,34 @@ +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. + 2001-12-21 Matthias Clasen <matthiasc@poet.de> * gtk/gtktoolbar.c (gtk_toolbar_insert_element): Trivial doc adjustment. diff --git a/ChangeLog.pre-2-10 b/ChangeLog.pre-2-10 index c6df1c1ea3..8dc6c09b3b 100644 --- a/ChangeLog.pre-2-10 +++ b/ChangeLog.pre-2-10 @@ -1,3 +1,34 @@ +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. + 2001-12-21 Matthias Clasen <matthiasc@poet.de> * gtk/gtktoolbar.c (gtk_toolbar_insert_element): Trivial doc adjustment. diff --git a/ChangeLog.pre-2-2 b/ChangeLog.pre-2-2 index c6df1c1ea3..8dc6c09b3b 100644 --- a/ChangeLog.pre-2-2 +++ b/ChangeLog.pre-2-2 @@ -1,3 +1,34 @@ +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. + 2001-12-21 Matthias Clasen <matthiasc@poet.de> * gtk/gtktoolbar.c (gtk_toolbar_insert_element): Trivial doc adjustment. diff --git a/ChangeLog.pre-2-4 b/ChangeLog.pre-2-4 index c6df1c1ea3..8dc6c09b3b 100644 --- a/ChangeLog.pre-2-4 +++ b/ChangeLog.pre-2-4 @@ -1,3 +1,34 @@ +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. + 2001-12-21 Matthias Clasen <matthiasc@poet.de> * gtk/gtktoolbar.c (gtk_toolbar_insert_element): Trivial doc adjustment. diff --git a/ChangeLog.pre-2-6 b/ChangeLog.pre-2-6 index c6df1c1ea3..8dc6c09b3b 100644 --- a/ChangeLog.pre-2-6 +++ b/ChangeLog.pre-2-6 @@ -1,3 +1,34 @@ +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. + 2001-12-21 Matthias Clasen <matthiasc@poet.de> * gtk/gtktoolbar.c (gtk_toolbar_insert_element): Trivial doc adjustment. diff --git a/ChangeLog.pre-2-8 b/ChangeLog.pre-2-8 index c6df1c1ea3..8dc6c09b3b 100644 --- a/ChangeLog.pre-2-8 +++ b/ChangeLog.pre-2-8 @@ -1,3 +1,34 @@ +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. + 2001-12-21 Matthias Clasen <matthiasc@poet.de> * gtk/gtktoolbar.c (gtk_toolbar_insert_element): Trivial doc adjustment. @@ -1,3 +1,33 @@ +Overview of Changes in GTK+ 1.3.12 +================================== + +* Fix problems with PNG saving [Michael Natterer] +* Cleanups of deprecated usages [Sebastian Wilhelmi] +* Win32 fixes [Tor Lillqvist] +* Documentation improvements [Matthias Clasen, Havoc Pennington, + Vitaly Tishkov] +* Frame buffer port fixes [Manish Singh] +* GtkTextView bug fixes [Havoc Pennington, Chris Phelps] +* Menu behavior improvements [Kristian Rietveld] +* Make focus line width configurable, focus color work on + dark themes. [Bill Haneman, Owen Taylor] +* Add state argument to gtk_paint_focus() [Bill] +* Added incremental revalidation to tree view, for better apparent speed + [Jonathan Blandford] +* Remove useless gtk_tree_view_column_cell_event() [Jonathan] +* Display XIM status in a separate window [HideToshi Tajima] +* Add GDK_DEBUG=nograbs to disable pointer, keyboard grabs [Jacob Berkman] +* Add menu of Unicode control characters to GtkEntry, GtkTextView + [Dov Grobgeld, Havoc] +* Pass key releases along to input methods [Owen] +* Many bug fixes + +Other contributors: Darin Adler, Fabrice Bellet, Chris Blizzard, + Hans Breuer, Anders Carlsson, Damon Chaplin, Murray Cumming, Jeff Franks, + James Henstridge, Tim Janik, Alex Larsson, George Lebl, Kjartan, Maraas, + Sven Neumann, Seth Nickell, Padraig O'Briain, Soeren Sandmann, Manish Singh, + Matt Wilson + Overview of Changes in GTK+ 1.3.11 ================================== diff --git a/configure.in b/configure.in index 32dc7373cd..55fee588cd 100644 --- a/configure.in +++ b/configure.in @@ -34,7 +34,7 @@ GLIB_AC_DIVERT_BEFORE_HELP([ # GTK_MAJOR_VERSION=1 GTK_MINOR_VERSION=3 -GTK_MICRO_VERSION=11 +GTK_MICRO_VERSION=12 GTK_INTERFACE_AGE=0 GTK_BINARY_AGE=0 GTK_VERSION=$GTK_MAJOR_VERSION.$GTK_MINOR_VERSION.$GTK_MICRO_VERSION @@ -80,9 +80,9 @@ AC_SUBST(GDK_PIXBUF_MICRO) AC_SUBST(GDK_PIXBUF_VERSION) ## Versions of dependencies -GLIB_REQUIRED_VERSION=1.3.11 -PANGO_REQUIRED_VERSION=0.22 -ATK_REQUIRED_VERSION=0.7 +GLIB_REQUIRED_VERSION=1.3.12 +PANGO_REQUIRED_VERSION=0.23 +ATK_REQUIRED_VERSION=0.8 # For automake. VERSION=$GTK_VERSION @@ -573,7 +573,7 @@ fi dnl Now we check to see if our libtool supports shared lib deps dnl (in a rather ugly way even) if $dynworks; then - pixbuf_libtool_config="${CONFIG_SHELL-/bin/sh} libtool --config" + pixbuf_libtool_config="${CONFIG_SHELL-/bin/sh} ./libtool --config" pixbuf_deplibs_check=`$pixbuf_libtool_config | \ grep '^[[a-z_]]*check[[a-z_]]*_method=[['\''"]]' | \ sed 's/.*[['\''"]]\(.*\)[['\''"]]$/\1/'` diff --git a/gdk/gdkcolor.c b/gdk/gdkcolor.c index fdf7ae0e07..f1f587f2b9 100644 --- a/gdk/gdkcolor.c +++ b/gdk/gdkcolor.c @@ -31,7 +31,7 @@ /** * gdk_colormap_ref: - * @image: a #GdkColormap + * @cmap: a #GdkColormap * * Deprecated function; use g_object_ref() instead. * @@ -45,11 +45,9 @@ gdk_colormap_ref (GdkColormap *cmap) /** * gdk_colormap_unref: - * @image: a #GdkColormap + * @cmap: a #GdkColormap * * Deprecated function; use g_object_ref() instead. - * - * Return value: the colormap **/ void gdk_colormap_unref (GdkColormap *cmap) diff --git a/gdk/gdkgc.c b/gdk/gdkgc.c index e1033abfb5..0c69e10851 100644 --- a/gdk/gdkgc.c +++ b/gdk/gdkgc.c @@ -141,8 +141,6 @@ gdk_gc_ref (GdkGC *gc) * @gc: a #GdkGC * * Deprecated function; use g_object_unref() instead. - * - * Return value: the gc. **/ void gdk_gc_unref (GdkGC *gc) diff --git a/gdk/gdkwindow.c b/gdk/gdkwindow.c index 7a871ed6c7..28c2b26fef 100644 --- a/gdk/gdkwindow.c +++ b/gdk/gdkwindow.c @@ -2157,7 +2157,7 @@ gdk_window_invalidate_rect (GdkWindow *window, * @region: a #GdkRegion * @child_func: function to use to decide if to recurse to a child, * %NULL means never recurse. - * @child_func_data: data passed to @child_func + * @user_data: data passed to @child_func * * Adds @region to the update area for @window. The update area is the * region that needs to be redrawn, or "dirty region." The call diff --git a/gtk/gtkentry.c b/gtk/gtkentry.c index 2e2f9f317b..77c04a9020 100644 --- a/gtk/gtkentry.c +++ b/gtk/gtkentry.c @@ -137,6 +137,8 @@ static gint gtk_entry_motion_notify (GtkWidget *widget, GdkEventMotion *event); static gint gtk_entry_key_press (GtkWidget *widget, GdkEventKey *event); +static gint gtk_entry_key_release (GtkWidget *widget, + GdkEventKey *event); static gint gtk_entry_focus_in (GtkWidget *widget, GdkEventFocus *event); static gint gtk_entry_focus_out (GtkWidget *widget, @@ -399,6 +401,7 @@ gtk_entry_class_init (GtkEntryClass *class) widget_class->button_release_event = gtk_entry_button_release; widget_class->motion_notify_event = gtk_entry_motion_notify; widget_class->key_press_event = gtk_entry_key_press; + widget_class->key_release_event = gtk_entry_key_release; widget_class->focus_in_event = gtk_entry_focus_in; widget_class->focus_out_event = gtk_entry_focus_out; widget_class->grab_focus = gtk_entry_grab_focus; @@ -1568,6 +1571,24 @@ gtk_entry_key_press (GtkWidget *widget, } static gint +gtk_entry_key_release (GtkWidget *widget, + GdkEventKey *event) +{ + GtkEntry *entry = GTK_ENTRY (widget); + + if (!entry->editable) + return FALSE; + + if (gtk_im_context_filter_keypress (entry->im_context, event)) + { + entry->need_im_reset = TRUE; + return TRUE; + } + else + return GTK_WIDGET_CLASS (parent_class)->key_release_event (widget, event); +} + +static gint gtk_entry_focus_in (GtkWidget *widget, GdkEventFocus *event) { diff --git a/gtk/gtkimcontextsimple.c b/gtk/gtkimcontextsimple.c index 8fe5a4cd7a..e9a69d7e03 100644 --- a/gtk/gtkimcontextsimple.c +++ b/gtk/gtkimcontextsimple.c @@ -1116,9 +1116,20 @@ gtk_im_context_simple_filter_keypress (GtkIMContext *context, int n_compose = 0; int i; - /* FIXME? 14755 says you have to commit the char on release of the shift/control - * keys. But instead we wait for the user to type another char, or to lose focus. - */ + if (event->type == GDK_KEY_RELEASE) + { + if (context_simple->in_hex_sequence && + (event->keyval == GDK_Control_L || event->keyval == GDK_Control_R || + event->keyval == GDK_Shift_L || event->keyval == GDK_Shift_R)) + { + gtk_im_context_simple_commit_char (context, context_simple->tentative_match); + context_simple->compose_buffer[0] = 0; + + return TRUE; + } + else + return FALSE; + } /* Ignore modifier key presses */ diff --git a/gtk/gtkplug.c b/gtk/gtkplug.c index c04aa81ab9..d46738826a 100644 --- a/gtk/gtkplug.c +++ b/gtk/gtkplug.c @@ -422,6 +422,7 @@ gtk_plug_realize (GtkWidget *widget) attributes.event_mask = gtk_widget_get_events (widget); attributes.event_mask |= (GDK_EXPOSURE_MASK | GDK_KEY_PRESS_MASK | + GDK_KEY_RELEASE_MASK | GDK_ENTER_NOTIFY_MASK | GDK_LEAVE_NOTIFY_MASK | GDK_FOCUS_CHANGE_MASK | diff --git a/gtk/gtkrc.h b/gtk/gtkrc.h index b62db65bb1..4bc0940e58 100644 --- a/gtk/gtkrc.h +++ b/gtk/gtkrc.h @@ -126,7 +126,7 @@ GtkStyle* gtk_rc_get_style_by_paths (GtkSettings *settings, gboolean gtk_rc_reparse_all_for_settings (GtkSettings *settings, gboolean force_load); -gchar* gtk_rc_find_pixmap_in_path (GtkSettings *context, +gchar* gtk_rc_find_pixmap_in_path (GtkSettings *settings, GScanner *scanner, const gchar *pixmap_file); 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 diff --git a/gtk/gtkwidget.c b/gtk/gtkwidget.c index 2f3229081a..10f6241f1a 100644 --- a/gtk/gtkwidget.c +++ b/gtk/gtkwidget.c @@ -6167,9 +6167,9 @@ gtk_widget_style_get (GtkWidget *widget, /** * gtk_widget_path: * @widget: a #GtkWidget - * @path_length_p: location to store length of the path, or %NULL - * @path_p: location to store allocated path string, or %NULL - * @path_reversed_p: location to store allocated reverse path string, or %NULL + * @path_length: location to store length of the path, or %NULL + * @path: location to store allocated path string, or %NULL + * @path_reversed: location to store allocated reverse path string, or %NULL * * Obtains the full path to @widget. The path is simply the name of a * widget and all its parents in the container hierarchy, separated by @@ -6187,12 +6187,12 @@ gtk_widget_style_get (GtkWidget *widget, **/ void gtk_widget_path (GtkWidget *widget, - guint *path_length_p, - gchar **path_p, - gchar **path_reversed_p) + guint *path_length, + gchar **path, + gchar **path_reversed) { static gchar *rev_path = NULL; - static guint path_len = 0; + static guint tmp_path_len = 0; guint len; g_return_if_fail (GTK_IS_WIDGET (widget)); @@ -6207,10 +6207,10 @@ gtk_widget_path (GtkWidget *widget, string = gtk_widget_get_name (widget); l = strlen (string); - while (path_len <= len + l + 1) + while (tmp_path_len <= len + l + 1) { - path_len += INIT_PATH_SIZE; - rev_path = g_realloc (rev_path, path_len); + tmp_path_len += INIT_PATH_SIZE; + rev_path = g_realloc (rev_path, tmp_path_len); } s = string + l - 1; d = rev_path + len; @@ -6227,23 +6227,23 @@ gtk_widget_path (GtkWidget *widget, } while (widget); - if (path_length_p) - *path_length_p = len - 1; - if (path_reversed_p) - *path_reversed_p = g_strdup (rev_path); - if (path_p) + if (path_length) + *path_length = len - 1; + if (path_reversed) + *path_reversed = g_strdup (rev_path); + if (path) { - *path_p = g_strdup (rev_path); - g_strreverse (*path_p); + *path = g_strdup (rev_path); + g_strreverse (*path); } } /** * gtk_widget_class_path: * @widget: a #GtkWidget - * @path_length_p: location to store the length of the class path, or %NULL - * @path_p: location to store the class path as an allocated string, or %NULL - * @path_reversed_p: location to store the reverse class path as an allocated string, or %NULL + * @path_length: location to store the length of the class path, or %NULL + * @path: location to store the class path as an allocated string, or %NULL + * @path_reversed: location to store the reverse class path as an allocated string, or %NULL * * Same as gtk_widget_path(), but always uses the name of a widget's type, * never uses a custom name set with gtk_widget_set_name(). @@ -6251,12 +6251,12 @@ gtk_widget_path (GtkWidget *widget, **/ void gtk_widget_class_path (GtkWidget *widget, - guint *path_length_p, - gchar **path_p, - gchar **path_reversed_p) + guint *path_length, + gchar **path, + gchar **path_reversed) { static gchar *rev_path = NULL; - static guint path_len = 0; + static guint tmp_path_len = 0; guint len; g_return_if_fail (GTK_IS_WIDGET (widget)); @@ -6271,10 +6271,10 @@ gtk_widget_class_path (GtkWidget *widget, string = gtk_type_name (GTK_WIDGET_TYPE (widget)); l = strlen (string); - while (path_len <= len + l + 1) + while (tmp_path_len <= len + l + 1) { - path_len += INIT_PATH_SIZE; - rev_path = g_realloc (rev_path, path_len); + tmp_path_len += INIT_PATH_SIZE; + rev_path = g_realloc (rev_path, tmp_path_len); } s = string + l - 1; d = rev_path + len; @@ -6291,14 +6291,14 @@ gtk_widget_class_path (GtkWidget *widget, } while (widget); - if (path_length_p) - *path_length_p = len - 1; - if (path_reversed_p) - *path_reversed_p = g_strdup (rev_path); - if (path_p) + if (path_length) + *path_length = len - 1; + if (path_reversed) + *path_reversed = g_strdup (rev_path); + if (path) { - *path_p = g_strdup (rev_path); - g_strreverse (*path_p); + *path = g_strdup (rev_path); + g_strreverse (*path); } } diff --git a/gtk/gtkwindow.c b/gtk/gtkwindow.c index 6c165a946a..a518a30cb9 100644 --- a/gtk/gtkwindow.c +++ b/gtk/gtkwindow.c @@ -3222,6 +3222,7 @@ gtk_window_realize (GtkWidget *widget) attributes.event_mask = gtk_widget_get_events (widget); attributes.event_mask |= (GDK_EXPOSURE_MASK | GDK_KEY_PRESS_MASK | + GDK_KEY_RELEASE_MASK | GDK_ENTER_NOTIFY_MASK | GDK_LEAVE_NOTIFY_MASK | GDK_FOCUS_CHANGE_MASK | diff --git a/modules/input/gtkimcontextxim.c b/modules/input/gtkimcontextxim.c index 9b0240148f..ec7565aeef 100644 --- a/modules/input/gtkimcontextxim.c +++ b/modules/input/gtkimcontextxim.c @@ -339,7 +339,7 @@ gtk_im_context_xim_filter_keypress (GtkIMContext *context, if (!ic) return FALSE; - xevent.type = KeyPress; + xevent.type = (event->type == GDK_KEY_PRESS) ? KeyPress : KeyRelease; xevent.serial = 0; /* hope it doesn't matter */ xevent.send_event = event->send_event; xevent.display = GDK_DRAWABLE_XDISPLAY (event->window); |