enforce correct geometry for client->saved.{x,y}
this is for CLIENT geometry and does NOT include the zone x/y
This commit is contained in:
parent
ddc89ad46b
commit
fda2442fe5
|
@ -3327,13 +3327,13 @@ e_client_maximize(E_Client *ec, E_Maximize max)
|
|||
if (!(ec->maximized & E_MAXIMIZE_HORIZONTAL))
|
||||
{
|
||||
/* Horizontal hasn't been set */
|
||||
ec->saved.x = ec->client.x;
|
||||
ec->saved.x = ec->client.x - ec->zone->x;
|
||||
ec->saved.w = ec->client.w;
|
||||
}
|
||||
if (!(ec->maximized & E_MAXIMIZE_VERTICAL))
|
||||
{
|
||||
/* Vertical hasn't been set */
|
||||
ec->saved.y = ec->client.y;
|
||||
ec->saved.y = ec->client.y - ec->zone->y;
|
||||
ec->saved.h = ec->client.h;
|
||||
}
|
||||
|
||||
|
@ -3393,8 +3393,8 @@ e_client_unmaximize(E_Client *ec, E_Maximize max)
|
|||
evas_object_smart_callback_call(ec->frame, "unmaximize", NULL);
|
||||
ec->maximized = E_MAXIMIZE_NONE;
|
||||
e_client_util_move_resize_without_frame(ec,
|
||||
ec->saved.x,
|
||||
ec->saved.y,
|
||||
ec->saved.x + ec->zone->x,
|
||||
ec->saved.y + ec->zone->y,
|
||||
ec->saved.w, ec->saved.h);
|
||||
ec->saved.x = ec->saved.y = ec->saved.w = ec->saved.h = 0;
|
||||
e_hints_window_size_unset(ec);
|
||||
|
@ -3484,8 +3484,8 @@ e_client_fullscreen(E_Client *ec, E_Fullscreen policy)
|
|||
}
|
||||
else
|
||||
{
|
||||
ec->saved.x = ec->x - ec->zone->x;
|
||||
ec->saved.y = ec->y - ec->zone->y;
|
||||
ec->saved.x = ec->client.x - ec->zone->x;
|
||||
ec->saved.y = ec->client.y - ec->zone->y;
|
||||
ec->saved.w = ec->client.w;
|
||||
ec->saved.h = ec->client.h;
|
||||
}
|
||||
|
@ -3511,7 +3511,7 @@ e_client_fullscreen(E_Client *ec, E_Fullscreen policy)
|
|||
if ((eina_list_count(ec->comp->zones) > 1) ||
|
||||
(policy == E_FULLSCREEN_RESIZE) || (!ecore_x_randr_query()))
|
||||
{
|
||||
evas_object_geometry_set(ec->frame, ec->zone->x, ec->zone->y, ec->zone->w, ec->zone->h);
|
||||
e_comp_object_util_fullscreen(ec->frame);
|
||||
}
|
||||
else if (policy == E_FULLSCREEN_ZOOM)
|
||||
{
|
||||
|
|
|
@ -688,8 +688,8 @@ _e_comp_intercept_move(void *data, Evas_Object *obj, int x, int y)
|
|||
if ((!cw->ec->shading) && (!cw->ec->shaded))
|
||||
{
|
||||
cw->ec->changes.need_unmaximize = 1;
|
||||
cw->ec->saved.x = ix;
|
||||
cw->ec->saved.y = iy;
|
||||
cw->ec->saved.x = ix - cw->ec->zone->x;
|
||||
cw->ec->saved.y = iy - cw->ec->zone->y;
|
||||
cw->ec->saved.w = cw->ec->client.w;
|
||||
cw->ec->saved.h = cw->ec->client.h;
|
||||
EC_CHANGED(cw->ec);
|
||||
|
@ -734,8 +734,8 @@ _e_comp_intercept_resize(void *data, Evas_Object *obj, int w, int h)
|
|||
cw->ec->changes.need_unmaximize = 1;
|
||||
cw->ec->saved.w = iw;
|
||||
cw->ec->saved.h = ih;
|
||||
cw->ec->saved.x = cw->ec->client.x;
|
||||
cw->ec->saved.y = cw->ec->client.y;
|
||||
cw->ec->saved.x = cw->ec->client.x - cw->ec->zone->x;
|
||||
cw->ec->saved.y = cw->ec->client.y - cw->ec->zone->y;
|
||||
EC_CHANGED(cw->ec);
|
||||
return;
|
||||
}
|
||||
|
|
|
@ -1426,8 +1426,17 @@ _e_comp_x_configure_request(void *data EINA_UNUSED, int type EINA_UNUSED, Ecore
|
|||
{
|
||||
if ((ec->maximized & E_MAXIMIZE_TYPE) != E_MAXIMIZE_NONE)
|
||||
{
|
||||
E_Zone *zone;
|
||||
|
||||
ec->saved.x = x;
|
||||
ec->saved.y = y;
|
||||
|
||||
zone = e_comp_zone_xy_get(ec->comp, x, y);
|
||||
if (zone && (zone->x || zone->y))
|
||||
{
|
||||
ec->saved.x -= zone->x;
|
||||
ec->saved.y -= zone->y;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
|
|
Loading…
Reference in New Issue