add E_Exec_Instance to E_Border and vice versa

This commit is contained in:
discomfitor 2013-05-18 13:29:01 +01:00
parent 4bbafeebb3
commit d8dc6df8c4
3 changed files with 10 additions and 0 deletions

View File

@ -4919,6 +4919,12 @@ _e_border_del(E_Border *bd)
focus_next = eina_list_remove(focus_next, bd);
bd->changed = 0;
if (bd->exe_inst)
{
bd->exe_inst->bd = NULL;
bd->exe_inst = NULL;
}
if (bd->fullscreen) bd->desk->fullscreen_borders--;
if (bd->moving) e_border_act_move_end(bd, NULL);
@ -7968,6 +7974,8 @@ _e_border_eval0(E_Border *bd)
desk = e_desk_at_xy_get(bd->zone, inst->desk_x,
inst->desk_y);
if (desk) e_border_desk_set(bd, desk);
inst->bd = bd;
bd->exe_inst = inst;
e_exec_instance_found(inst);
}

View File

@ -647,6 +647,7 @@ struct _E_Border
Eina_List *transients;
Efreet_Desktop *desktop;
E_Exec_Instance *exe_inst;
unsigned char comp_hidden : 1;

View File

@ -9,6 +9,7 @@ typedef struct _E_Exec_Instance E_Exec_Instance;
struct _E_Exec_Instance
{
Efreet_Desktop *desktop;
E_Border *bd;
const char *key;
Ecore_Exe *exe;
int startup_id;