From 75e7cf10d0866d2ff1e99b9aaee8766fe5ebce60 Mon Sep 17 00:00:00 2001 From: Mike Blumenkrantz Date: Thu, 19 Jul 2012 13:22:22 +0000 Subject: [PATCH] delete physics windows from hash when border is deleted ticket #1187 SVN revision: 74189 --- src/modules/physics/e_mod_physics.c | 10 ++-------- 1 file changed, 2 insertions(+), 8 deletions(-) diff --git a/src/modules/physics/e_mod_physics.c b/src/modules/physics/e_mod_physics.c index b9c2dc957..402cbf7e6 100644 --- a/src/modules/physics/e_mod_physics.c +++ b/src/modules/physics/e_mod_physics.c @@ -28,7 +28,6 @@ struct _E_Physics_Win int x, y, w, h; // hidden geometry (used when its unmapped and re-instated on map) } hidden; int border; // border width - E_Object_Delfn *dfn; // delete function handle for objects being tracked E_Border_Hook *begin; // begin move E_Border_Hook *end; // end move @@ -252,14 +251,9 @@ _e_mod_physics_win_add(E_Physics *p, E_Border *bd) static void _e_mod_physics_win_del(E_Physics_Win *pw) { - if (pw->dfn) - { - eina_hash_del(borders, e_util_winid_str_get(pw->bd->client.win), pw); - e_object_delfn_del(E_OBJECT(pw->bd), pw->dfn); - pw->bd = NULL; - pw->dfn = NULL; - } + eina_hash_del(borders, e_util_winid_str_get(pw->bd->client.win), pw); e_border_move_intercept_cb_set(pw->bd, NULL); + pw->bd = NULL; pw->p->wins = eina_inlist_remove(pw->p->wins, EINA_INLIST_GET(pw)); if (pw->body) ephysics_body_del(pw->body); memset(pw, 0, sizeof(E_Physics_Win));