summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMike Blumenkrantz <m.blumenkran@samsung.com>2013-06-24 13:11:00 +0100
committerMike Blumenkrantz <m.blumenkran@samsung.com>2013-06-24 13:13:09 +0100
commit18a585df48a43cfeae881d57ddf852424c001712 (patch)
tree19a87aab9516f6f82601f7909daf02bc9b3525c0
parent0dd2efa30fa541a30109fdd89a2b3e4176dc3d2c (diff)
downloadenlightenment-18a585df48a43cfeae881d57ddf852424c001712.tar.gz
fix border show/hide events for new clients to not occur before border add event
-rw-r--r--src/bin/e_border.c25
1 files changed, 25 insertions, 0 deletions
diff --git a/src/bin/e_border.c b/src/bin/e_border.c
index 5b5840609f..75dc5978b1 100644
--- a/src/bin/e_border.c
+++ b/src/bin/e_border.c
@@ -972,6 +972,8 @@ e_border_show(E_Border *bd)
ecore_x_window_prop_card32_set(bd->client.win, E_ATOM_MAPPED, &visible, 1);
ecore_x_window_prop_card32_set(bd->client.win, E_ATOM_MANAGED, &visible, 1);
+ if (bd->new_client) return;
+
ev = E_NEW(E_Event_Border_Show, 1);
ev->border = bd;
e_object_ref(E_OBJECT(bd));
@@ -1058,6 +1060,7 @@ e_border_hide(E_Border *bd,
bd->post_show = 0;
send_event:
+ if (bd->new_client) return;
if (!stopping)
{
E_Event_Border_Hide *ev;
@@ -8854,6 +8857,28 @@ _e_border_eval(E_Border *bd)
}
bd->changes.visible = 0;
rem_change = 1;
+ {
+ E_Event_Border_Show *ev;
+
+ ev = E_NEW(E_Event_Border_Show, 1);
+ ev->border = bd;
+ e_object_ref(E_OBJECT(bd));
+ // e_object_breadcrumb_add(E_OBJECT(bd), "border_show_event");
+ ecore_event_add(E_EVENT_BORDER_SHOW, ev, _e_border_event_border_show_free, NULL);
+ }
+ }
+ else if ((bd->changes.visible) && (bd->new_client))
+ {
+ bd->changes.visible = 0;
+ {
+ E_Event_Border_Hide *ev;
+
+ ev = E_NEW(E_Event_Border_Hide, 1);
+ ev->border = bd;
+ e_object_ref(E_OBJECT(bd));
+ // e_object_breadcrumb_add(E_OBJECT(bd), "border_hide_event");
+ ecore_event_add(E_EVENT_BORDER_HIDE, ev, _e_border_event_border_hide_free, NULL);
+ }
}
if (bd->changes.icon)