diff --git a/src/e.h b/src/e.h index c012a6817..e78336739 100644 --- a/src/e.h +++ b/src/e.h @@ -286,7 +286,7 @@ struct _E_Active_Action_Timer struct _E_View { - OBJ_PROPERTIES + OBJ_PROPERTIES; }; void e_action_add_proto(char *action, @@ -383,3 +383,7 @@ char *e_config_get(char *type); void e_config_init(void); void e_config_set_user_dir(char *dir); char *e_config_user_dir(void); + +void e_view_free(E_View *v); +E_View *e_view_new(void); +void e_view_init(void); diff --git a/src/resist.c b/src/resist.c index b197ac920..fe084a51e 100644 --- a/src/resist.c +++ b/src/resist.c @@ -9,10 +9,11 @@ e_resist_border(E_Border *b) int ok = 0; int dx, dy, d; int resist_x = 0, resist_y = 0; - char *settings_db = "./settings.db"; + char *settings_db; Evas_List l, rects = NULL; E_Rect *r; + settings_db = e_config_get("settings"); E_DB_INT_GET(settings_db, "/move/resist", resist, ok); if (!ok) resist = 1; if (!resist) diff --git a/src/view.c b/src/view.c index c6bab4015..a9d0ea5e9 100644 --- a/src/view.c +++ b/src/view.c @@ -1,5 +1,14 @@ #include "e.h" +static Evas_List views = NULL; + +void +e_view_free(E_View *v) +{ + views = evas_list_remove(views, v); + FREE(v); +} + E_View * e_view_new(void) { @@ -7,11 +16,10 @@ e_view_new(void) v = NEW(E_View, 1); ZERO(v, E_View, 1); -} - -void -e_view_free(E_View *v) -{ + OBJ_INIT(v, e_view_free); + + views = evas_list_append(views, v); + return v; } void