forked from enlightenment/enlightenment
delete physics windows from hash when border is deleted
ticket #1187 SVN revision: 74189
This commit is contained in:
parent
0a99276b73
commit
75e7cf10d0
|
@ -28,7 +28,6 @@ struct _E_Physics_Win
|
||||||
int x, y, w, h; // hidden geometry (used when its unmapped and re-instated on map)
|
int x, y, w, h; // hidden geometry (used when its unmapped and re-instated on map)
|
||||||
} hidden;
|
} hidden;
|
||||||
int border; // border width
|
int border; // border width
|
||||||
E_Object_Delfn *dfn; // delete function handle for objects being tracked
|
|
||||||
|
|
||||||
E_Border_Hook *begin; // begin move
|
E_Border_Hook *begin; // begin move
|
||||||
E_Border_Hook *end; // end move
|
E_Border_Hook *end; // end move
|
||||||
|
@ -252,14 +251,9 @@ _e_mod_physics_win_add(E_Physics *p, E_Border *bd)
|
||||||
static void
|
static void
|
||||||
_e_mod_physics_win_del(E_Physics_Win *pw)
|
_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);
|
||||||
{
|
|
||||||
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;
|
|
||||||
}
|
|
||||||
e_border_move_intercept_cb_set(pw->bd, NULL);
|
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));
|
pw->p->wins = eina_inlist_remove(pw->p->wins, EINA_INLIST_GET(pw));
|
||||||
if (pw->body) ephysics_body_del(pw->body);
|
if (pw->body) ephysics_body_del(pw->body);
|
||||||
memset(pw, 0, sizeof(E_Physics_Win));
|
memset(pw, 0, sizeof(E_Physics_Win));
|
||||||
|
|
Loading…
Reference in New Issue