/* Deletes the editable */ static void _e_editable_smart_del(Evas_Object *object) { E_Editable_Smart_Data *sd; if ((!object) || (!(sd = evas_object_smart_data_get(object)))) return; evas_object_del(sd->clip_object); evas_object_del(sd->event_object); evas_object_del(sd->text_object); evas_object_del(sd->cursor_object); evas_object_del(sd->selection_object); /* Security - clear out memory that contained a password */ if (sd->password_mode) memset(sd->text, 0, sd->char_length); free(sd->text); free(sd); _e_editable_smart_use--; if (_e_editable_smart_use <= 0) { evas_smart_free(_e_editable_smart); _e_editable_smart = NULL; } }
void evas_object_smart_unuse(Evas_Smart *s) { s->usage--; if ((s->usage <= 0) && (s->delete_me)) evas_smart_free(s); }