found a weird bug where sometimes window remembers get saved wrong...add some checks to rescue lost windows like these on startup and unb0rk the related remember

SVN revision: 81467
This commit is contained in:
Mike Blumenkrantz 2012-12-20 15:37:01 +00:00
parent 30fe9349c4
commit 6267cbd223
1 changed files with 14 additions and 0 deletions

View File

@ -806,6 +806,20 @@ _e_remember_cb_hook_pre_post_fetch(void *data __UNUSED__, void *border)
// bd->x = (rem->prop.pos_x * bd->zone->w) / rem->prop.res_x;
// if (bd->zone->h != rem->prop.res_y)
// bd->y = (rem->prop.pos_y * bd->zone->h) / rem->prop.res_y;
if (
/* upper left */
(!E_INSIDE(bd->x, bd->y, 0, 0, bd->zone->w, bd->zone->h)) &&
/* upper right */
(!E_INSIDE(bd->x + bd->w, bd->y, 0, 0, bd->zone->w, bd->zone->h)) &&
/* lower left */
(!E_INSIDE(bd->x, bd->y + bd->h, 0, 0, bd->zone->w, bd->zone->h)) &&
/* lower right */
(!E_INSIDE(bd->x + bd->w, bd->y + bd->h, 0, 0, bd->zone->w, bd->zone->h))
)
{
e_border_center_pos_get(bd, &bd->x, &bd->y);
rem->prop.pos_x = bd->x, rem->prop.pos_y = bd->y;
}
bd->x += bd->zone->x;
bd->y += bd->zone->y;
bd->placed = 1;