Enlightenment CVS committal Author : pfritz Project : e17 Module : libs/ewl
Dir : e17/libs/ewl/src/lib Modified Files: ewl_entry.c Log Message: improve the previous patch of the entryO =================================================================== RCS file: /cvs/e/e17/libs/ewl/src/lib/ewl_entry.c,v retrieving revision 1.57 retrieving revision 1.58 diff -u -3 -r1.57 -r1.58 --- ewl_entry.c 10 Jun 2006 01:00:45 -0000 1.57 +++ ewl_entry.c 10 Jun 2006 01:52:41 -0000 1.58 @@ -345,7 +345,10 @@ ewl_widget_state_set(EWL_WIDGET(e->cursor), "noblink", EWL_STATE_PERSISTENT); - if (!strcmp(event->keyname, "Left")) + if (!event->keyname) { + DRETURN(DLEVEL_STABLE); + } + else if (!strcmp(event->keyname, "Left")) ewl_entry_cursor_move_left(e); else if (!strcmp(event->keyname, "Right")) @@ -383,23 +386,16 @@ ewl_entry_cursor_position_get(EWL_ENTRY_CURSOR(e->cursor))); } } - else if (event->keyname) + else { - char *tmp = NULL; - + size_t len; + + len = strlen(event->keyname); ewl_entry_selection_clear(e); - if (strlen(event->keyname) != 1 && *event->keyname < 0) - tmp = strdup(event->keyname); - else - tmp = strdup(event->keyname); - - if (tmp) - { - ewl_text_text_insert(EWL_TEXT(e), tmp, + if (len == 1 || (len != 1 && *event->keyname < 0)) + ewl_text_text_insert(EWL_TEXT(e), event->keyname, ewl_entry_cursor_position_get( EWL_ENTRY_CURSOR(e->cursor))); - free(tmp); - } } DLEAVE_FUNCTION(DLEVEL_STABLE); _______________________________________________ enlightenment-cvs mailing list enlightenment-cvs@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/enlightenment-cvs