From 6375b62f0f66ecadb58fbf004b0a2f6e79c2ad80 Mon Sep 17 00:00:00 2001 From: Carsten Haitzler Date: Wed, 21 Sep 2005 04:53:12 +0000 Subject: [PATCH] clean up canvas show - uncessesary exposure there. fixed. SVN revision: 16824 --- src/bin/e_border.c | 22 +++++++++++++++++++--- src/bin/e_hints.c | 3 ++- src/bin/e_win.c | 1 + 3 files changed, 22 insertions(+), 4 deletions(-) diff --git a/src/bin/e_border.c b/src/bin/e_border.c index 5e1ba0762..62f117160 100644 --- a/src/bin/e_border.c +++ b/src/bin/e_border.c @@ -1889,7 +1889,8 @@ e_border_idler_before(void) bl = e_container_border_list_last(con); while ((bd = e_container_border_list_prev(bl))) { - if ((bd->changes.visible) && (bd->visible)) + if ((bd->changes.visible) && (bd->visible) && + (!bd->new_client)) { ecore_evas_show(bd->bg_ecore_evas); ecore_x_window_show(bd->win); @@ -4892,7 +4893,6 @@ _e_border_eval(E_Border *bd) if (bd->new_client) { - bd->new_client = 0; if (bd->client.icccm.transient_for) { E_Border *bd_parent; @@ -5056,7 +5056,15 @@ _e_border_eval(E_Border *bd) /* Recreate state */ e_hints_window_init(bd); - + + if (bd->client.e.state.centered) + { + bd->x = bd->zone->x + (bd->zone->w - bd->w) / 2; + bd->y = bd->zone->y + (bd->zone->h - bd->h) / 2; + bd->placed = 1; + bd->changes.pos = 1; + } + ecore_x_icccm_move_resize_send(bd->client.win, bd->x + bd->client_inset.l, bd->y + bd->client_inset.t, @@ -5377,6 +5385,14 @@ _e_border_eval(E_Border *bd) bd->need_shape_export = 0; } + if ((bd->changes.visible) && (bd->visible) && (bd->new_client)) + { + ecore_evas_show(bd->bg_ecore_evas); + ecore_x_window_show(bd->win); + bd->changes.visible = 0; + } + bd->new_client = 0; + bd->changed = 0; bd->changes.stack = 0; diff --git a/src/bin/e_hints.c b/src/bin/e_hints.c index 5344ed0e0..5ec8c0024 100644 --- a/src/bin/e_hints.c +++ b/src/bin/e_hints.c @@ -467,6 +467,7 @@ e_hints_window_init(E_Border *bd) else if (bd->desk == e_desk_current_get(bd->zone)) e_border_show(bd); /* e hints */ +/* if (bd->client.e.state.centered) { e_border_move(bd, @@ -474,7 +475,7 @@ e_hints_window_init(E_Border *bd) bd->zone->y + (bd->zone->h - bd->h) / 2); } - + */ /* Update stacking */ e_hints_client_list_set(); e_hints_client_stacking_set(); diff --git a/src/bin/e_win.c b/src/bin/e_win.c index 8272759ca..5361f189f 100644 --- a/src/bin/e_win.c +++ b/src/bin/e_win.c @@ -90,6 +90,7 @@ e_win_show(E_Win *win) if (!win->border) { _e_win_prop_update(win); + ecore_evas_lower(win->ecore_evas); win->border = e_border_new(win->container, win->evas_win, 1); if (!win->placed) win->border->re_manage = 0;