diff --git a/ChangeLog b/ChangeLog index 768e425423..b41af2d9c7 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,8 @@ +Wed Jan 29 14:11:21 2003 Hidetoshi Tajima + + * modules/input/gtkimcontextxim.c (choose_better_style): fix a memory + initialization error for selecting input style (#103549). + Wed Jan 29 17:02:41 2003 Owen Taylor * gdk/gdkkeyuni.c (get_decimal_char): Make the diff --git a/ChangeLog.pre-2-10 b/ChangeLog.pre-2-10 index 768e425423..b41af2d9c7 100644 --- a/ChangeLog.pre-2-10 +++ b/ChangeLog.pre-2-10 @@ -1,3 +1,8 @@ +Wed Jan 29 14:11:21 2003 Hidetoshi Tajima + + * modules/input/gtkimcontextxim.c (choose_better_style): fix a memory + initialization error for selecting input style (#103549). + Wed Jan 29 17:02:41 2003 Owen Taylor * gdk/gdkkeyuni.c (get_decimal_char): Make the diff --git a/ChangeLog.pre-2-4 b/ChangeLog.pre-2-4 index 768e425423..b41af2d9c7 100644 --- a/ChangeLog.pre-2-4 +++ b/ChangeLog.pre-2-4 @@ -1,3 +1,8 @@ +Wed Jan 29 14:11:21 2003 Hidetoshi Tajima + + * modules/input/gtkimcontextxim.c (choose_better_style): fix a memory + initialization error for selecting input style (#103549). + Wed Jan 29 17:02:41 2003 Owen Taylor * gdk/gdkkeyuni.c (get_decimal_char): Make the diff --git a/ChangeLog.pre-2-6 b/ChangeLog.pre-2-6 index 768e425423..b41af2d9c7 100644 --- a/ChangeLog.pre-2-6 +++ b/ChangeLog.pre-2-6 @@ -1,3 +1,8 @@ +Wed Jan 29 14:11:21 2003 Hidetoshi Tajima + + * modules/input/gtkimcontextxim.c (choose_better_style): fix a memory + initialization error for selecting input style (#103549). + Wed Jan 29 17:02:41 2003 Owen Taylor * gdk/gdkkeyuni.c (get_decimal_char): Make the diff --git a/ChangeLog.pre-2-8 b/ChangeLog.pre-2-8 index 768e425423..b41af2d9c7 100644 --- a/ChangeLog.pre-2-8 +++ b/ChangeLog.pre-2-8 @@ -1,3 +1,8 @@ +Wed Jan 29 14:11:21 2003 Hidetoshi Tajima + + * modules/input/gtkimcontextxim.c (choose_better_style): fix a memory + initialization error for selecting input style (#103549). + Wed Jan 29 17:02:41 2003 Owen Taylor * gdk/gdkkeyuni.c (get_decimal_char): Make the diff --git a/modules/input/gtkimcontextxim.c b/modules/input/gtkimcontextxim.c index 76543d9622..08c80e0f61 100644 --- a/modules/input/gtkimcontextxim.c +++ b/modules/input/gtkimcontextxim.c @@ -151,6 +151,8 @@ choose_better_style (XIMStyle style1, XIMStyle style2) return (s1 == XIMPreeditArea) ? style1 : style2; else if (u & XIMPreeditNothing) return (s1 == XIMPreeditNothing) ? style1 : style2; + else if (u & XIMPreeditNone) + return (s1 == XIMPreeditNone) ? style1 : style2; } else { s1 = style1 & STATUS_MASK; s2 = style2 & STATUS_MASK; @@ -223,6 +225,7 @@ setup_styles (GtkXIMInfo *info) XIMStyles *xim_styles = info->xim_styles; settings_preference = info->status_style_setting|info->preedit_style_setting; + info->style = 0; if (xim_styles) { for (i = 0; i < xim_styles->count_styles; i++) @@ -237,6 +240,8 @@ setup_styles (GtkXIMInfo *info) xim_styles->supported_styles[i]); } } + if (info->style == 0) + info->style = XIMPreeditNothing | XIMStatusNothing; } static void @@ -1084,6 +1089,8 @@ get_ic_real (GtkIMContextXIM *context_xim) name1 = XNPreeditAttributes; list1 = set_preedit_callback (context_xim); } + else if ((context_xim->im_info->style & PREEDIT_MASK) == XIMPreeditNone) + im_style |= XIMPreeditNone; else im_style |= XIMPreeditNothing; @@ -1101,6 +1108,8 @@ get_ic_real (GtkIMContextXIM *context_xim) list2 = set_status_callback (context_xim); } } + else if ((context_xim->im_info->style & STATUS_MASK) == XIMStatusNone) + im_style |= XIMStatusNone; else im_style |= XIMStatusNothing;