From 3518dbd80c680e74f539ac475ee829869ac20c2e Mon Sep 17 00:00:00 2001 From: caro Date: Mon, 18 May 2009 06:18:36 +0000 Subject: [PATCH] use ecore_input git-svn-id: http://svn.enlightenment.org/svn/e/trunk/ecore@40717 7cbeb6ba-43b4-40fd-8cce-4c39aea84d33 --- src/lib/ecore_wince/Ecore_WinCE.h | 58 --------- src/lib/ecore_wince/Makefile.am | 8 +- src/lib/ecore_wince/ecore_wince.c | 20 ++- src/lib/ecore_wince/ecore_wince_event.c | 208 ++++++++++++++++---------------- 4 files changed, 119 insertions(+), 175 deletions(-) diff --git a/src/lib/ecore_wince/Ecore_WinCE.h b/src/lib/ecore_wince/Ecore_WinCE.h index 1ab2ac2..e3faec1 100644 --- a/src/lib/ecore_wince/Ecore_WinCE.h +++ b/src/lib/ecore_wince/Ecore_WinCE.h @@ -44,11 +44,6 @@ typedef void Ecore_WinCE_Window; /* Events */ -typedef struct _Ecore_WinCE_Event_Key_Down Ecore_WinCE_Event_Key_Down; -typedef struct _Ecore_WinCE_Event_Key_Up Ecore_WinCE_Event_Key_Up; -typedef struct _Ecore_WinCE_Event_Mouse_Button_Down Ecore_WinCE_Event_Mouse_Button_Down; -typedef struct _Ecore_WinCE_Event_Mouse_Button_Up Ecore_WinCE_Event_Mouse_Button_Up; -typedef struct _Ecore_WinCE_Event_Mouse_Move Ecore_WinCE_Event_Mouse_Move; typedef struct _Ecore_WinCE_Event_Mouse_In Ecore_WinCE_Event_Mouse_In; typedef struct _Ecore_WinCE_Event_Mouse_Out Ecore_WinCE_Event_Mouse_Out; typedef struct _Ecore_WinCE_Event_Window_Focus_In Ecore_WinCE_Event_Window_Focus_In; @@ -60,54 +55,6 @@ typedef struct _Ecore_WinCE_Event_Window_Hide Ecore_WinCE_Event_Window typedef struct _Ecore_WinCE_Event_Window_Show Ecore_WinCE_Event_Window_Show; typedef struct _Ecore_WinCE_Event_Window_Delete_Request Ecore_WinCE_Event_Window_Delete_Request; -struct _Ecore_WinCE_Event_Key_Down -{ - Ecore_WinCE_Window *window; - char *keyname; - char *keysymbol; - char *keycompose; - double time; -}; - -struct _Ecore_WinCE_Event_Key_Up -{ - Ecore_WinCE_Window *window; - char *keyname; - char *keysymbol; - char *keycompose; - double time; -}; - -struct _Ecore_WinCE_Event_Mouse_Button_Down -{ - Ecore_WinCE_Window *window; - int button; - int x; - int y; - double time; - unsigned int double_click : 1; - unsigned int triple_click : 1; -}; - -struct _Ecore_WinCE_Event_Mouse_Button_Up -{ - Ecore_WinCE_Window *window; - int button; - int x; - int y; - double time; - unsigned int double_click : 1; - unsigned int triple_click : 1; -}; - -struct _Ecore_WinCE_Event_Mouse_Move -{ - Ecore_WinCE_Window *window; - int x; - int y; - double time; -}; - struct _Ecore_WinCE_Event_Mouse_In { Ecore_WinCE_Window *window; @@ -177,11 +124,6 @@ struct _Ecore_WinCE_Event_Window_Delete_Request }; -EAPI extern int ECORE_WINCE_EVENT_KEY_DOWN; -EAPI extern int ECORE_WINCE_EVENT_KEY_UP; -EAPI extern int ECORE_WINCE_EVENT_MOUSE_BUTTON_DOWN; -EAPI extern int ECORE_WINCE_EVENT_MOUSE_BUTTON_UP; -EAPI extern int ECORE_WINCE_EVENT_MOUSE_MOVE; EAPI extern int ECORE_WINCE_EVENT_MOUSE_IN; EAPI extern int ECORE_WINCE_EVENT_MOUSE_OUT; EAPI extern int ECORE_WINCE_EVENT_WINDOW_FOCUS_IN; diff --git a/src/lib/ecore_wince/Makefile.am b/src/lib/ecore_wince/Makefile.am index e9d054c..ec519f5 100644 --- a/src/lib/ecore_wince/Makefile.am +++ b/src/lib/ecore_wince/Makefile.am @@ -2,9 +2,13 @@ MAINTAINERCLEANFILES = Makefile.in AM_CPPFLAGS = \ -I$(top_srcdir)/src/lib/ecore \ +-I$(top_srcdir)/src/lib/ecore_input \ -I$(top_builddir)/src/lib/ecore \ +-I$(top_builddir)/src/lib/ecore_input \ @EFL_ECORE_WINCE_BUILD@ \ -@EINA_CFLAGS@ +@EVAS_CFLAGS@ \ +@EINA_CFLAGS@ \ +@WIN32_CPPFLAGS@ AM_CFLAGS = @WIN32_CFLAGS@ @@ -23,7 +27,9 @@ ecore_wince_window.c libecore_wince_la_LIBADD = \ @WIN32_LIBS@ \ +$(top_builddir)/src/lib/ecore_input/libecore_input.la \ $(top_builddir)/src/lib/ecore/libecore.la \ +@EVAS_LIBS@ \ @EINA_LIBS@ libecore_wince_la_LDFLAGS = -no-undefined @lt_enable_auto_import@ -version-info @version_info@ @ecore_wince_release_info@ diff --git a/src/lib/ecore_wince/ecore_wince.c b/src/lib/ecore_wince/ecore_wince.c index 02966d9..5403b25 100644 --- a/src/lib/ecore_wince/ecore_wince.c +++ b/src/lib/ecore_wince/ecore_wince.c @@ -14,8 +14,9 @@ #undef WIN32_LEAN_AND_MEAN #include +#include +#include -#include "Ecore.h" #include "Ecore_WinCE.h" #include "ecore_wince_private.h" @@ -27,11 +28,6 @@ double _ecore_wince_event_last_time = 0.0; Ecore_WinCE_Window *_ecore_wince_event_last_window = NULL; HINSTANCE _ecore_wince_instance = NULL; -int ECORE_WINCE_EVENT_KEY_DOWN = 0; -int ECORE_WINCE_EVENT_KEY_UP = 0; -int ECORE_WINCE_EVENT_MOUSE_BUTTON_DOWN = 0; -int ECORE_WINCE_EVENT_MOUSE_BUTTON_UP = 0; -int ECORE_WINCE_EVENT_MOUSE_MOVE = 0; int ECORE_WINCE_EVENT_MOUSE_IN = 0; int ECORE_WINCE_EVENT_MOUSE_OUT = 0; int ECORE_WINCE_EVENT_WINDOW_FOCUS_IN = 0; @@ -106,13 +102,8 @@ ecore_wince_init() return 0; } - if (!ECORE_WINCE_EVENT_KEY_DOWN) + if (!ECORE_WINCE_EVENT_MOUSE_IN) { - ECORE_WINCE_EVENT_KEY_DOWN = ecore_event_type_new(); - ECORE_WINCE_EVENT_KEY_UP = ecore_event_type_new(); - ECORE_WINCE_EVENT_MOUSE_BUTTON_DOWN = ecore_event_type_new(); - ECORE_WINCE_EVENT_MOUSE_BUTTON_UP = ecore_event_type_new(); - ECORE_WINCE_EVENT_MOUSE_MOVE = ecore_event_type_new(); ECORE_WINCE_EVENT_MOUSE_IN = ecore_event_type_new(); ECORE_WINCE_EVENT_MOUSE_OUT = ecore_event_type_new(); ECORE_WINCE_EVENT_WINDOW_FOCUS_IN = ecore_event_type_new(); @@ -125,6 +116,8 @@ ecore_wince_init() ECORE_WINCE_EVENT_WINDOW_DELETE_REQUEST = ecore_event_type_new(); } + ecore_event_init(); + _ecore_wince_init_count++; return _ecore_wince_init_count; @@ -139,7 +132,8 @@ ecore_wince_shutdown() _ecore_wince_init_count--; if (_ecore_wince_init_count > 0) return _ecore_wince_init_count; - if (!_ecore_wince_instance) return _ecore_wince_init_count; + + ecore_event_shutdown(); /* force task bar to be shown (in case the application exits */ /* while being fullscreen) */ diff --git a/src/lib/ecore_wince/ecore_wince_event.c b/src/lib/ecore_wince/ecore_wince_event.c index 7d8b198..e8ece02 100644 --- a/src/lib/ecore_wince/ecore_wince_event.c +++ b/src/lib/ecore_wince/ecore_wince_event.c @@ -13,8 +13,9 @@ #undef WIN32_LEAN_AND_MEAN #include +#include +#include -#include "Ecore.h" #include "Ecore_WinCE.h" #include "ecore_wince_private.h" @@ -52,19 +53,19 @@ void _ecore_wince_event_handle_key_press(Ecore_WinCE_Callback_Data *msg, int is_keystroke) { - Ecore_WinCE_Event_Key_Down *e; + Ecore_Event_Key *e; EINA_ERROR_PINFO("key pressed\n"); - e = (Ecore_WinCE_Event_Key_Down *)malloc(sizeof(Ecore_WinCE_Event_Key_Down)); + e = (Ecore_Event_Key *)malloc(sizeof(Ecore_Event_Key)); if (!e) return; if (is_keystroke) { if (!_ecore_wince_event_keystroke_get(LOWORD(msg->window_param), - &e->keyname, - &e->keysymbol, - &e->keycompose)) + (char **)&e->keyname, + (char **)&e->key, + (char **)&e->string)) { free(e); return; @@ -73,45 +74,45 @@ _ecore_wince_event_handle_key_press(Ecore_WinCE_Callback_Data *msg, else { if (!_ecore_wince_event_char_get(LOWORD(msg->window_param), - &e->keyname, - &e->keysymbol, - &e->keycompose)) + (char **)&e->keyname, + (char **)&e->key, + (char **)&e->string)) { free(e); return; } } - e->window = (void *)GetWindowLong(msg->window, GWL_USERDATA); + e->window = (Ecore_Window)GetWindowLong(msg->window, GWL_USERDATA); if (!e->window) { free(e); return; } - e->time = (double)msg->time / 1000.0; + e->timestamp = (double)msg->time / 1000.0; - _ecore_wince_event_last_time = e->time; + _ecore_wince_event_last_time = e->timestamp; - ecore_event_add(ECORE_WINCE_EVENT_KEY_DOWN, e, _ecore_wince_event_free_key_down, NULL); + ecore_event_add(ECORE_EVENT_KEY_DOWN, e, _ecore_wince_event_free_key_down, NULL); } void _ecore_wince_event_handle_key_release(Ecore_WinCE_Callback_Data *msg, int is_keystroke) { - Ecore_WinCE_Event_Key_Up *e; + Ecore_Event_Key *e; EINA_ERROR_PINFO("key released\n"); - e = (Ecore_WinCE_Event_Key_Up *)calloc(1, sizeof(Ecore_WinCE_Event_Key_Up)); + e = (Ecore_Event_Key *)calloc(1, sizeof(Ecore_Event_Key)); if (!e) return; if (is_keystroke) { if (!_ecore_wince_event_keystroke_get(LOWORD(msg->window_param), - &e->keyname, - &e->keysymbol, - &e->keycompose)) + (char **)&e->keyname, + (char **)&e->key, + (char **)&e->string)) { free(e); return; @@ -120,26 +121,26 @@ _ecore_wince_event_handle_key_release(Ecore_WinCE_Callback_Data *msg, else { if (!_ecore_wince_event_char_get(LOWORD(msg->window_param), - &e->keyname, - &e->keysymbol, - &e->keycompose)) + (char **)&e->keyname, + (char **)&e->key, + (char **)&e->string)) { free(e); return; } } - e->window = (void *)GetWindowLong(msg->window, GWL_USERDATA); + e->window = (Ecore_Window)GetWindowLong(msg->window, GWL_USERDATA); if (!e->window) { free(e); return; } - e->time = (double)msg->time / 1000.0; + e->timestamp = (double)msg->time / 1000.0; - _ecore_wince_event_last_time = e->time; + _ecore_wince_event_last_time = e->timestamp; - ecore_event_add(ECORE_WINCE_EVENT_KEY_UP, e, _ecore_wince_event_free_key_up, NULL); + ecore_event_add(ECORE_EVENT_KEY_UP, e, _ecore_wince_event_free_key_up, NULL); } void @@ -150,27 +151,27 @@ _ecore_wince_event_handle_button_press(Ecore_WinCE_Callback_Data *msg, EINA_ERROR_PINFO("mouse button pressed\n"); - window = (void *)GetWindowLong(msg->window, GWL_USERDATA); + window = (Ecore_WinCE_Window *)GetWindowLong(msg->window, GWL_USERDATA); { - Ecore_WinCE_Event_Mouse_Move *e; + Ecore_Event_Mouse_Move *e; - e = (Ecore_WinCE_Event_Mouse_Move *)calloc(1, sizeof(Ecore_WinCE_Event_Mouse_Move)); + e = (Ecore_Event_Mouse_Move *)calloc(1, sizeof(Ecore_Event_Mouse_Move)); if (!e) return; - e->window = window; + e->window = (Ecore_Window)window; e->x = LOWORD(msg->data_param); e->y = HIWORD(msg->data_param); - e->time = (double)msg->time / 1000.0; + e->timestamp = (double)msg->time / 1000.0; - _ecore_wince_event_last_time = e->time; - _ecore_wince_event_last_window = e->window; + _ecore_wince_event_last_time = e->timestamp; + _ecore_wince_event_last_window = (Ecore_WinCE_Window *)e->window; - ecore_event_add(ECORE_WINCE_EVENT_MOUSE_MOVE, e, NULL, NULL); + ecore_event_add(ECORE_EVENT_MOUSE_MOVE, e, NULL, NULL); } { - Ecore_WinCE_Event_Mouse_Button_Down *e; + Ecore_Event_Mouse_Button *e; if (_ecore_wince_mouse_down_did_triple) { @@ -180,22 +181,22 @@ _ecore_wince_event_handle_button_press(Ecore_WinCE_Callback_Data *msg, _ecore_wince_mouse_down_last_last_time = 0.0; } - e = (Ecore_WinCE_Event_Mouse_Button_Down *)calloc(1, sizeof(Ecore_WinCE_Event_Mouse_Button_Down)); + e = (Ecore_Event_Mouse_Button *)calloc(1, sizeof(Ecore_Event_Mouse_Button)); if (!e) return; - e->window = window; - e->button = button; + e->window = (Ecore_Window)window; + e->buttons = button; e->x = LOWORD(msg->data_param); e->y = HIWORD(msg->data_param); - e->time = (double)msg->time / 1000.0; + e->timestamp = (double)msg->time / 1000.0; - if (((e->time - _ecore_wince_mouse_down_last_time) <= _ecore_wince_double_click_time) && - (e->window == _ecore_wince_mouse_down_last_window)) + if (((e->timestamp - _ecore_wince_mouse_down_last_time) <= _ecore_wince_double_click_time) && + (e->window == (Ecore_Window)_ecore_wince_mouse_down_last_window)) e->double_click = 1; - if (((e->time - _ecore_wince_mouse_down_last_last_time) <= (2.0 * _ecore_wince_double_click_time)) && - (e->window == _ecore_wince_mouse_down_last_window) && - (e->window == _ecore_wince_mouse_down_last_last_window)) + if (((e->timestamp - _ecore_wince_mouse_down_last_last_time) <= (2.0 * _ecore_wince_double_click_time)) && + (e->window == (Ecore_Window)_ecore_wince_mouse_down_last_window) && + (e->window == (Ecore_Window)_ecore_wince_mouse_down_last_last_window)) { e->triple_click = 1; _ecore_wince_mouse_down_did_triple = 1; @@ -206,24 +207,24 @@ _ecore_wince_event_handle_button_press(Ecore_WinCE_Callback_Data *msg, if (!e->double_click && !e->triple_click) _ecore_wince_mouse_up_count = 0; - _ecore_wince_event_last_time = e->time; - _ecore_wince_event_last_window = e->window; + _ecore_wince_event_last_time = e->timestamp; + _ecore_wince_event_last_window = (Ecore_WinCE_Window *)e->window; if (!_ecore_wince_mouse_down_did_triple) { _ecore_wince_mouse_down_last_last_window = _ecore_wince_mouse_down_last_window; - _ecore_wince_mouse_down_last_window = e->window; + _ecore_wince_mouse_down_last_window = (Ecore_WinCE_Window *)e->window; _ecore_wince_mouse_down_last_last_time = _ecore_wince_mouse_down_last_time; - _ecore_wince_mouse_down_last_time = e->time; + _ecore_wince_mouse_down_last_time = e->timestamp; } - ecore_event_add(ECORE_WINCE_EVENT_MOUSE_BUTTON_DOWN, e, NULL, NULL); + ecore_event_add(ECORE_EVENT_MOUSE_BUTTON_DOWN, e, NULL, NULL); } } void _ecore_wince_event_handle_button_release(Ecore_WinCE_Callback_Data *msg, - int button) + int button) { Ecore_WinCE_Window *window; @@ -232,70 +233,70 @@ _ecore_wince_event_handle_button_release(Ecore_WinCE_Callback_Data *msg, window = (void *)GetWindowLong(msg->window, GWL_USERDATA); { - Ecore_WinCE_Event_Mouse_Move *e; + Ecore_Event_Mouse_Move *e; - e = (Ecore_WinCE_Event_Mouse_Move *)calloc(1, sizeof(Ecore_WinCE_Event_Mouse_Move)); + e = (Ecore_Event_Mouse_Move *)calloc(1, sizeof(Ecore_Event_Mouse_Move)); if (!e) return; - e->window = window; + e->window = (Ecore_Window)window; e->x = LOWORD(msg->data_param); e->y = HIWORD(msg->data_param); - e->time = (double)msg->time / 1000.0; + e->timestamp = (double)msg->time / 1000.0; - _ecore_wince_event_last_time = e->time; - _ecore_wince_event_last_window = e->window; + _ecore_wince_event_last_time = e->timestamp; + _ecore_wince_event_last_window = (Ecore_WinCE_Window *)e->window; - ecore_event_add(ECORE_WINCE_EVENT_MOUSE_MOVE, e, NULL, NULL); + ecore_event_add(ECORE_EVENT_MOUSE_MOVE, e, NULL, NULL); } { - Ecore_WinCE_Event_Mouse_Button_Up *e; + Ecore_Event_Mouse_Button *e; - e = (Ecore_WinCE_Event_Mouse_Button_Up *)calloc(1, sizeof(Ecore_WinCE_Event_Mouse_Button_Up)); + e = (Ecore_Event_Mouse_Button *)calloc(1, sizeof(Ecore_Event_Mouse_Button)); if (!e) return; - e->window = window; - e->button = button; + e->window = (Ecore_Window)window; + e->buttons = button; e->x = LOWORD(msg->data_param); e->y = HIWORD(msg->data_param); - e->time = (double)msg->time / 1000.0; + e->timestamp = (double)msg->time / 1000.0; _ecore_wince_mouse_up_count++; if ((_ecore_wince_mouse_up_count >= 2) && - ((e->time - _ecore_wince_mouse_down_last_time) <= _ecore_wince_double_click_time) && - (e->window == _ecore_wince_mouse_down_last_window)) + ((e->timestamp - _ecore_wince_mouse_down_last_time) <= _ecore_wince_double_click_time) && + (e->window == (Ecore_Window)_ecore_wince_mouse_down_last_window)) e->double_click = 1; if ((_ecore_wince_mouse_up_count >= 3) && - ((e->time - _ecore_wince_mouse_down_last_last_time) <= (2.0 * _ecore_wince_double_click_time)) && - (e->window == _ecore_wince_mouse_down_last_window) && - (e->window == _ecore_wince_mouse_down_last_last_window)) + ((e->timestamp - _ecore_wince_mouse_down_last_last_time) <= (2.0 * _ecore_wince_double_click_time)) && + (e->window == (Ecore_Window)_ecore_wince_mouse_down_last_window) && + (e->window == (Ecore_Window)_ecore_wince_mouse_down_last_last_window)) e->triple_click = 1; - _ecore_wince_event_last_time = e->time; - _ecore_wince_event_last_window = e->window; + _ecore_wince_event_last_time = e->timestamp; + _ecore_wince_event_last_window = (Ecore_WinCE_Window *)e->window; - ecore_event_add(ECORE_WINCE_EVENT_MOUSE_BUTTON_UP, e, NULL, NULL); + ecore_event_add(ECORE_EVENT_MOUSE_BUTTON_UP, e, NULL, NULL); } } void _ecore_wince_event_handle_motion_notify(Ecore_WinCE_Callback_Data *msg) { - Ecore_WinCE_Event_Mouse_Move *e; + Ecore_Event_Mouse_Move *e; EINA_ERROR_PINFO("mouse moved\n"); - e = (Ecore_WinCE_Event_Mouse_Move *)calloc(1, sizeof(Ecore_WinCE_Event_Mouse_Move)); + e = (Ecore_Event_Mouse_Move *)calloc(1, sizeof(Ecore_Event_Mouse_Move)); if (!e) return; - e->window = (void *)GetWindowLong(msg->window, GWL_USERDATA); + e->window = (Ecore_Window)GetWindowLong(msg->window, GWL_USERDATA); e->x = LOWORD(msg->data_param); e->y = HIWORD(msg->data_param); - e->time = (double)msg->time / 1000.0; + e->timestamp = (double)msg->time / 1000.0; - ecore_event_add(ECORE_WINCE_EVENT_MOUSE_MOVE, e, NULL, NULL); + ecore_event_add(ECORE_EVENT_MOUSE_MOVE, e, NULL, NULL); } void @@ -308,20 +309,20 @@ _ecore_wince_event_handle_enter_notify(Ecore_WinCE_Callback_Data *msg) window = (void *)GetWindowLong(msg->window, GWL_USERDATA); { - Ecore_WinCE_Event_Mouse_Move *e; + Ecore_Event_Mouse_Move *e; - e = (Ecore_WinCE_Event_Mouse_Move *)calloc(1, sizeof(Ecore_WinCE_Event_Mouse_Move)); + e = (Ecore_Event_Mouse_Move *)calloc(1, sizeof(Ecore_Event_Mouse_Move)); if (!e) return; - e->window = window; + e->window = (Ecore_Window)window; e->x = msg->x; e->y = msg->y; - e->time = (double)msg->time / 1000.0; + e->timestamp = (double)msg->time / 1000.0; - _ecore_wince_event_last_time = e->time; - _ecore_wince_event_last_window = e->window; + _ecore_wince_event_last_time = e->timestamp; + _ecore_wince_event_last_window = (Ecore_WinCE_Window *)e->window; - ecore_event_add(ECORE_WINCE_EVENT_MOUSE_MOVE, e, NULL, NULL); + ecore_event_add(ECORE_EVENT_MOUSE_MOVE, e, NULL, NULL); } { @@ -351,20 +352,20 @@ _ecore_wince_event_handle_leave_notify(Ecore_WinCE_Callback_Data *msg) window = (void *)GetWindowLong(msg->window, GWL_USERDATA); { - Ecore_WinCE_Event_Mouse_Move *e; + Ecore_Event_Mouse_Move *e; - e = (Ecore_WinCE_Event_Mouse_Move *)calloc(1, sizeof(Ecore_WinCE_Event_Mouse_Move)); + e = (Ecore_Event_Mouse_Move *)calloc(1, sizeof(Ecore_Event_Mouse_Move)); if (!e) return; - e->window = window; + e->window = (Ecore_Window)window; e->x = msg->x; e->y = msg->y; - e->time = (double)msg->time / 1000.0; + e->timestamp = (double)msg->time / 1000.0; - _ecore_wince_event_last_time = e->time; - _ecore_wince_event_last_window = e->window; + _ecore_wince_event_last_time = e->timestamp; + _ecore_wince_event_last_window = (Ecore_WinCE_Window *)e->window; - ecore_event_add(ECORE_WINCE_EVENT_MOUSE_MOVE, e, NULL, NULL); + ecore_event_add(ECORE_EVENT_MOUSE_MOVE, e, NULL, NULL); } { @@ -587,12 +588,12 @@ static void _ecore_wince_event_free_key_down(void *data __UNUSED__, void *ev) { - Ecore_WinCE_Event_Key_Down *e; + Ecore_Event_Key *e; e = ev; - if (e->keyname) free(e->keyname); - if (e->keysymbol) free(e->keysymbol); - if (e->keycompose) free(e->keycompose); + if (e->keyname) free((char *)e->keyname); + if (e->key) free((char *)e->key); + if (e->string) free((char *)e->string); free(e); } @@ -600,12 +601,12 @@ static void _ecore_wince_event_free_key_up(void *data __UNUSED__, void *ev) { - Ecore_WinCE_Event_Key_Up *e; + Ecore_Event_Key *e; e = ev; - if (e->keyname) free(e->keyname); - if (e->keysymbol) free(e->keysymbol); - if (e->keycompose) free(e->keycompose); + if (e->keyname) free((char *)e->keyname); + if (e->key) free((char *)e->key); + if (e->string) free((char *)e->string); free(e); } @@ -840,7 +841,7 @@ _ecore_wince_event_char_get(int key, { char kn[32]; char ks[32]; - char *kc; + char kc[32]; *keyname = NULL; *keysymbol = NULL; @@ -852,32 +853,32 @@ _ecore_wince_event_char_get(int key, case VK_BACK: strncpy(kn, "Backspace", 32); strncpy(ks, "Backspace", 32); - kc = ""; + strncpy(kc, "Backspace", 32); break; case VK_APP4: case VK_TAB: strncpy(kn, "Tab", 32); strncpy(ks, "Tab", 32); - kc = ""; + strncpy(kc, "Tab", 32); break; case VK_APP5: case 0x0a: /* Line feed (Shift + Enter) */ strncpy(kn, "LineFeed", 32); strncpy(ks, "LineFeed", 32); - kc = ""; + strncpy(kc, "LineFeed", 32); break; case VK_APP2: case VK_RETURN: strncpy(kn, "Return", 32); strncpy(ks, "Return", 32); - kc = ""; + strncpy(kc, "Return", 32); break; case VK_APP1: case VK_ESCAPE: strncpy(kn, "Escape", 32); strncpy(ks, "Escape", 32); - kc = ""; + strncpy(kc, "Escape", 32); break; default: /* displayable characters */ @@ -886,7 +887,8 @@ _ecore_wince_event_char_get(int key, kn[1] = '\0'; ks[0] = (TCHAR)key; ks[1] = '\0'; - kc = ""; + kc[0] = (TCHAR)key; + kc[1] = '\0'; break; } *keyname = strdup(kn); -- 2.7.4