mirror of
https://github.com/brl/mutter.git
synced 2024-11-29 19:40:43 -05:00
* clutter/clutter-main.c: (pre_parse_hook):
Call setlocale on init * clutter/x11/clutter-event-x11.c: (translate_key_event): Fix typo and use the same buffer size as xev
This commit is contained in:
parent
8fcfd8ff21
commit
878b353568
@ -1,3 +1,11 @@
|
||||
2008-06-10 Chris Lord <chris@openedhand.com>
|
||||
|
||||
* clutter/clutter-main.c: (pre_parse_hook):
|
||||
Call setlocale on init
|
||||
|
||||
* clutter/x11/clutter-event-x11.c: (translate_key_event):
|
||||
Fix typo and use the same buffer size as xev
|
||||
|
||||
2008-06-10 Øyvind Kolås <pippin@o-hand.com>
|
||||
|
||||
* clutter/clutter-texture.c: improved documentation for
|
||||
|
@ -35,6 +35,8 @@
|
||||
#endif
|
||||
|
||||
#include <stdlib.h>
|
||||
#define GETTEXT_PACKAGE "clutter"
|
||||
#include <glib/gi18n-lib.h>
|
||||
|
||||
#include "clutter-event.h"
|
||||
#include "clutter-backend.h"
|
||||
@ -990,6 +992,10 @@ pre_parse_hook (GOptionContext *context,
|
||||
if (clutter_is_initialized)
|
||||
return TRUE;
|
||||
|
||||
if (setlocale (LC_ALL, "") == NULL)
|
||||
g_warning ("Locale not supported by C library.\n"
|
||||
"Using the fallback 'C' locale.");
|
||||
|
||||
clutter_context = clutter_context_get_default ();
|
||||
|
||||
clutter_context->id_pool = clutter_id_pool_new (256);
|
||||
|
@ -220,7 +220,7 @@ translate_key_event (ClutterBackend *backend,
|
||||
ClutterEvent *event,
|
||||
XEvent *xevent)
|
||||
{
|
||||
char buffer[6];
|
||||
char buffer[256+1];
|
||||
int n;
|
||||
|
||||
CLUTTER_NOTE (EVENT, "Translating key %s event",
|
||||
@ -239,18 +239,17 @@ translate_key_event (ClutterBackend *backend,
|
||||
0);
|
||||
|
||||
/* unicode_value is the printable representation */
|
||||
n = XLookupString (&xevent->xkey, buffer, sizeof (buffer), NULL, NULL);
|
||||
if (n == NoSymbol)
|
||||
{
|
||||
event->key.unicode_value = (gunichar)'\0';
|
||||
}
|
||||
else
|
||||
n = XLookupString (&xevent->xkey, buffer, sizeof (buffer) - 1, NULL, NULL);
|
||||
|
||||
if (n != NoSymbol)
|
||||
{
|
||||
event->key.unicode_value = g_utf8_get_char_validated (buffer, n);
|
||||
if ((event->key.unicode_value == -1) ||
|
||||
(event->key.unicode_value == -1))
|
||||
event->key.unicode_value = (gunichar)'\0';
|
||||
if ((event->key.unicode_value != -1) &&
|
||||
(event->key.unicode_value != -2))
|
||||
return;
|
||||
}
|
||||
|
||||
event->key.unicode_value = (gunichar)'\0';
|
||||
}
|
||||
|
||||
static gboolean
|
||||
|
Loading…
Reference in New Issue
Block a user