[gtk/gtk-3-22] imcontextsimple: ensure W32 code only runs on W32 displays
- From: LRN <ruslanizhb src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gtk/gtk-3-22] imcontextsimple: ensure W32 code only runs on W32 displays
- Date: Thu, 26 Apr 2018 17:45:47 +0000 (UTC)
commit 9ca3bacddf11381ca49ea9cb3499018feba4dd88
Author: Руслан Ижбулатов <lrn1986 gmail com>
Date: Thu Apr 26 17:42:49 2018 +0000
imcontextsimple: ensure W32 code only runs on W32 displays
gdk_win32_keymap_check_compose() shouldn't be called for
non-W32 displays (i.e. when using broadway or other backends
that could be made to run on Windows).
gtk/gtkimcontextsimple.c | 41 ++++++++++++++++++++++-------------------
1 file changed, 22 insertions(+), 19 deletions(-)
---
diff --git a/gtk/gtkimcontextsimple.c b/gtk/gtkimcontextsimple.c
index 48d4568e1f..ae62ac81b8 100644
--- a/gtk/gtkimcontextsimple.c
+++ b/gtk/gtkimcontextsimple.c
@@ -1427,28 +1427,31 @@ gtk_im_context_simple_filter_keypress (GtkIMContext *context,
gboolean success = FALSE;
#ifdef GDK_WINDOWING_WIN32
- guint16 output[2];
- gsize output_size = 2;
-
- switch (gdk_win32_keymap_check_compose (GDK_WIN32_KEYMAP (gdk_keymap_get_default ()),
- priv->compose_buffer,
- n_compose,
- output, &output_size))
+ if (GDK_IS_WIN32_DISPLAY (display))
{
- case GDK_WIN32_KEYMAP_MATCH_NONE:
- break;
- case GDK_WIN32_KEYMAP_MATCH_EXACT:
- case GDK_WIN32_KEYMAP_MATCH_PARTIAL:
- for (i = 0; i < output_size; i++)
+ guint16 output[2];
+ gsize output_size = 2;
+
+ switch (gdk_win32_keymap_check_compose (GDK_WIN32_KEYMAP (gdk_keymap_get_default ()),
+ priv->compose_buffer,
+ n_compose,
+ output, &output_size))
{
- output_char = gdk_keyval_to_unicode (output[i]);
- gtk_im_context_simple_commit_char (GTK_IM_CONTEXT (context_simple),
- output_char);
+ case GDK_WIN32_KEYMAP_MATCH_NONE:
+ break;
+ case GDK_WIN32_KEYMAP_MATCH_EXACT:
+ case GDK_WIN32_KEYMAP_MATCH_PARTIAL:
+ for (i = 0; i < output_size; i++)
+ {
+ output_char = gdk_keyval_to_unicode (output[i]);
+ gtk_im_context_simple_commit_char (GTK_IM_CONTEXT (context_simple),
+ output_char);
+ }
+ priv->compose_buffer[0] = 0;
+ return TRUE;
+ case GDK_WIN32_KEYMAP_MATCH_INCOMPLETE:
+ return TRUE;
}
- priv->compose_buffer[0] = 0;
- return TRUE;
- case GDK_WIN32_KEYMAP_MATCH_INCOMPLETE:
- return TRUE;
}
#endif
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]