summaryrefslogtreecommitdiff
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
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.
-rw-r--r--ChangeLog31
-rw-r--r--ChangeLog.pre-2-031
-rw-r--r--ChangeLog.pre-2-1031
-rw-r--r--ChangeLog.pre-2-231
-rw-r--r--ChangeLog.pre-2-431
-rw-r--r--ChangeLog.pre-2-631
-rw-r--r--ChangeLog.pre-2-831
-rw-r--r--NEWS30
-rw-r--r--configure.in10
-rw-r--r--gdk/gdkcolor.c6
-rw-r--r--gdk/gdkgc.c2
-rw-r--r--gdk/gdkwindow.c2
-rw-r--r--gtk/gtkentry.c21
-rw-r--r--gtk/gtkimcontextsimple.c17
-rw-r--r--gtk/gtkplug.c1
-rw-r--r--gtk/gtkrc.h2
-rw-r--r--gtk/gtktextview.c18
-rw-r--r--gtk/gtkwidget.c68
-rw-r--r--gtk/gtkwindow.c1
-rw-r--r--modules/input/gtkimcontextxim.c2
20 files changed, 345 insertions, 52 deletions
diff --git a/ChangeLog b/ChangeLog
index c6df1c1ea3..8dc6c09b3b 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -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.
diff --git a/NEWS b/NEWS
index db3014be5e..dd56f34117 100644
--- a/NEWS
+++ b/NEWS
@@ -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);