From d8dc6df8c43d31e57bed5c57b64d248b1513bdc2 Mon Sep 17 00:00:00 2001 From: discomfitor Date: Sat, 18 May 2013 13:29:01 +0100 Subject: [PATCH] add E_Exec_Instance to E_Border and vice versa --- src/bin/e_border.c | 8 ++++++++ src/bin/e_border.h | 1 + src/bin/e_exec.h | 1 + 3 files changed, 10 insertions(+) diff --git a/src/bin/e_border.c b/src/bin/e_border.c index ecd6ad689..91a0133cb 100644 --- a/src/bin/e_border.c +++ b/src/bin/e_border.c @@ -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); } diff --git a/src/bin/e_border.h b/src/bin/e_border.h index f36d22cd8..5ec2b1668 100644 --- a/src/bin/e_border.h +++ b/src/bin/e_border.h @@ -647,6 +647,7 @@ struct _E_Border Eina_List *transients; Efreet_Desktop *desktop; + E_Exec_Instance *exe_inst; unsigned char comp_hidden : 1; diff --git a/src/bin/e_exec.h b/src/bin/e_exec.h index a6c10cf4e..31e195240 100644 --- a/src/bin/e_exec.h +++ b/src/bin/e_exec.h @@ -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;