forked from AuroraMiddleware/gtk
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).
This commit is contained in:
parent
b0bb7f3da4
commit
76855e8999
@ -1238,28 +1238,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 (keymap),
|
||||
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 (keymap),
|
||||
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
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user