block comp win configure updates for borders: attempt #2

this time flag client to update pixmap and geom when the window change comes through
This commit is contained in:
Mike Blumenkrantz 2013-05-30 14:07:13 +01:00
parent be9ee35f1b
commit 50a6f16688
1 changed files with 11 additions and 2 deletions

View File

@ -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;
}