cleanup on shutdown correctly
This commit is contained in:
parent
70386bc094
commit
bfb50d06ea
|
@ -1,5 +1,5 @@
|
|||
#include "e.h"
|
||||
|
||||
#include "../config.h"
|
||||
/* module setup */
|
||||
E_API E_Module_Api e_modapi =
|
||||
{
|
||||
|
@ -10,7 +10,7 @@ E_API E_Module_Api e_modapi =
|
|||
static Evas_Object *notify, *bx;
|
||||
static Eina_Hash *string_hash;
|
||||
static int entry_counter = 0;
|
||||
|
||||
static Ecore_Event_Handler *event_data, *event_error;
|
||||
static Ecore_Exe *keylogger;
|
||||
|
||||
typedef struct {
|
||||
|
@ -23,9 +23,6 @@ typedef struct {
|
|||
static void
|
||||
_del_key(const char *name)
|
||||
{
|
||||
Evas_Object *o;
|
||||
Eina_List *list;
|
||||
|
||||
Entry *e = eina_hash_find(string_hash, name);
|
||||
|
||||
//something fishy is going on sometimes, then we dont even have a entry
|
||||
|
@ -146,7 +143,7 @@ e_modapi_init(E_Module *m)
|
|||
{
|
||||
ecore_init();
|
||||
|
||||
string_hash = eina_hash_string_small_new(_entry_free);
|
||||
string_hash = eina_hash_string_small_new((Eina_Free_Cb)_entry_free);
|
||||
|
||||
notify = elm_notify_add(e_comp->elm);
|
||||
elm_notify_allow_events_set(notify, EINA_TRUE);
|
||||
|
@ -159,12 +156,12 @@ e_modapi_init(E_Module *m)
|
|||
evas_object_show(bx);
|
||||
|
||||
{
|
||||
keylogger = ecore_exe_pipe_run("/usr/local/bin/keylogger", ECORE_EXE_PIPE_WRITE |
|
||||
keylogger = ecore_exe_pipe_run(MODULE_DIR"/keylogger", ECORE_EXE_PIPE_WRITE |
|
||||
ECORE_EXE_PIPE_READ_LINE_BUFFERED |
|
||||
ECORE_EXE_PIPE_READ, notify);
|
||||
EINA_SAFETY_ON_NULL_RETURN_VAL(keylogger, NULL);
|
||||
ecore_event_handler_add(ECORE_EXE_EVENT_DATA, _msg_from_child_handler, NULL);
|
||||
ecore_event_handler_add(ECORE_EXE_EVENT_ERROR, _msg_from_child_handler_error, NULL);
|
||||
event_data = ecore_event_handler_add(ECORE_EXE_EVENT_DATA, _msg_from_child_handler, NULL);
|
||||
event_error = ecore_event_handler_add(ECORE_EXE_EVENT_ERROR, _msg_from_child_handler_error, NULL);
|
||||
}
|
||||
|
||||
return m;
|
||||
|
@ -173,6 +170,10 @@ e_modapi_init(E_Module *m)
|
|||
E_API int
|
||||
e_modapi_shutdown(E_Module *m EINA_UNUSED)
|
||||
{
|
||||
E_FREE_FUNC(keylogger, ecore_exe_kill);
|
||||
E_FREE_FUNC(notify, evas_object_del);
|
||||
E_FREE_FUNC(event_data, ecore_event_handler_del);
|
||||
E_FREE_FUNC(event_error, ecore_event_handler_del);
|
||||
|
||||
ecore_shutdown();
|
||||
return 1;
|
||||
|
|
|
@ -24,8 +24,6 @@ _release(const char *symbol)
|
|||
}
|
||||
|
||||
int main(void) {
|
||||
|
||||
int i;
|
||||
int number = 0;
|
||||
int run = 1;
|
||||
int default_screen;
|
||||
|
@ -34,7 +32,6 @@ int main(void) {
|
|||
Window root_window;
|
||||
XEvent e;
|
||||
XDeviceKeyEvent * key;
|
||||
XInputClassInfo *ip;
|
||||
XEventClass event_list[20];
|
||||
|
||||
default_display = XOpenDisplay(getenv("DISPLAY"));
|
||||
|
|
Loading…
Reference in New Issue