discomfitor pushed a commit to branch master.
commit 50a6f1668868c6e102a70316b6b6c5ab4ce62d94
Author: Mike Blumenkrantz <[email protected]>
Date: Thu May 30 14:07:13 2013 +0100
block comp win configure updates for borders: attempt #2
this time flag client to update pixmap and geom when the window change
comes through
---
src/bin/e_comp.c | 13 +++++++++++--
1 file changed, 11 insertions(+), 2 deletions(-)
diff --git a/src/bin/e_comp.c b/src/bin/e_comp.c
index 3565b11..9a88519 100644
--- a/src/bin/e_comp.c
+++ b/src/bin/e_comp.c
@@ -3022,7 +3022,16 @@ _e_comp_configure(void *data EINA_UNUSED, int type
EINA_UNUSED, void *event)
}
}
- if (!((cw->x == ev->x) && (cw->y == ev->y) &&
+ if (cw->bd)
+ {
+ if ((cw->pw != cw->bd->client.w) || (cw->ph != cw->bd->client.h))
+ {
+ /* border resize callback will handle configure */
+ cw->geom_update = cw->needpix = 1;
+ _e_comp_win_render_queue(cw);
+ }
+ }
+ else if (!((cw->x == ev->x) && (cw->y == ev->y) &&
(cw->w == ev->w) && (cw->h == ev->h) &&
(cw->border == ev->border)))
{
@@ -3503,7 +3512,7 @@ _e_comp_bd_resize(void *data EINA_UNUSED, int type
EINA_UNUSED, void *event)
E_Event_Border_Resize *ev = event;
E_Comp_Win *cw = _e_comp_win_find(ev->border->win);
if (!cw) return ECORE_CALLBACK_PASS_ON;
- _e_comp_win_configure(cw, cw->x, cw->y, ev->border->w, ev->border->h,
cw->border);
+ _e_comp_win_configure(cw, cw->x, cw->y, ev->border->w -
e_border_inset_width_get(ev->border), ev->border->h -
e_border_inset_height_get(ev->border), cw->border);
return ECORE_CALLBACK_PASS_ON;
}
--
------------------------------------------------------------------------------
Introducing AppDynamics Lite, a free troubleshooting tool for Java/.NET
Get 100% visibility into your production application - at no cost.
Code-level diagnostics for performance bottlenecks with <2% overhead
Download for free and get started troubleshooting in minutes.
http://p.sf.net/sfu/appdyn_d2d_ap1