summaryrefslogtreecommitdiff
path: root/gtk/gtkimcontextsimple.c
diff options
context:
space:
mode:
authorOwen Taylor <otaylor@redhat.com>2001-03-29 00:24:58 +0000
committerOwen Taylor <otaylor@src.gnome.org>2001-03-29 00:24:58 +0000
commit1586ade9c57e3e497ea730a78f3adfc2c3da8fd4 (patch)
tree71aa2817af44446695d6a938aee0bc0a4d48f1b7 /gtk/gtkimcontextsimple.c
parented6076b2e0dab716b9ea4dfdb37c003d5f05798f (diff)
downloadgtk+-1586ade9c57e3e497ea730a78f3adfc2c3da8fd4.tar.gz
Add missing NULL on valist.
Wed Mar 28 19:20:43 2001 Owen Taylor <otaylor@redhat.com> * gtk/testtext.c (create_buffer): Add missing NULL on valist. * gtk/gtkcheckmenuitem.c (gtk_check_menu_item_class_init): Fix c-n-p problem with INCONSISTENT property. [ Patch from Havoc Pennington <hp@redhat.com> ] * gtk/gtkentry.h (struct _GtkEntryClass): add same populate_popup hook. * gtk/gtktextview.h (struct _GtkTextViewClass): add populate_popup signal as a hook for extending the default popup menu * gtk/gtkimmulticontext.c (gtk_im_multicontext_append_menuitems): use radio menu items for the input method menuitems * gtk/gtkimcontextsimple.c (check_hex): do better validation of inserted unicode from Ctrl-Shift-hex input method * gtk/gtktextbtree.c (_gtk_text_btree_insert): remove utf8 validatation here, already done at GtkTextBuffer level. * gtk/gtkwidget.c (gtk_widget_class_init): add binding set, add popup_menu run action signal and Shift+F10 and Menu keybindings. * gtk/gtkentry.c: implement a default handler for popup_menu * gtk/gtktextview.c: implement a default handler for popup_menu * gtk/gtkmenu.c (gtk_menu_popup): select first item if popup is from a key event * gtk/gtklabel.c: remove "trailer" cruft
Diffstat (limited to 'gtk/gtkimcontextsimple.c')
-rw-r--r--gtk/gtkimcontextsimple.c12
1 files changed, 6 insertions, 6 deletions
diff --git a/gtk/gtkimcontextsimple.c b/gtk/gtkimcontextsimple.c
index 36da2c96a9..d1c5f543d0 100644
--- a/gtk/gtkimcontextsimple.c
+++ b/gtk/gtkimcontextsimple.c
@@ -827,7 +827,9 @@ gtk_im_context_simple_commit_char (GtkIMContext *context,
gint len;
GtkIMContextSimple *context_simple = GTK_IM_CONTEXT_SIMPLE (context);
-
+
+ g_return_if_fail (g_unichar_validate (ch));
+
len = g_unichar_to_utf8 (ch, buf);
buf[len] = '\0';
@@ -981,12 +983,10 @@ check_hex (GtkIMContextSimple *context_simple,
}
else
g_string_free (str, TRUE);
-
- if (n > 0xFFFF)
- return FALSE; /* too many digits */
- if (n == 0)
- return FALSE; /* don't insert nul bytes */
+ /* don't allow invalid Unicode or nul bytes */
+ if (n == 0 || !g_unichar_validate (n))
+ return FALSE;
context_simple->tentative_match = n;
context_simple->tentative_match_len = n_compose;