forked from enlightenment/enlightenment
only use pixmap size shortcut on non-internal clients
this gets broken pretty easily since we resize all over the place
This commit is contained in:
parent
d9b9497a00
commit
e949fcc077
|
@ -200,11 +200,14 @@ _e_comp_x_client_new_helper(E_Client *ec)
|
||||||
}
|
}
|
||||||
ec->new_client ^= ec->override;
|
ec->new_client ^= ec->override;
|
||||||
|
|
||||||
ec->comp_data->pw = ec->w = ec->client.w = ec->comp_data->initial_attributes.w;
|
ec->w = ec->client.w = ec->comp_data->initial_attributes.w;
|
||||||
ec->comp_data->ph = ec->h = ec->client.h = ec->comp_data->initial_attributes.h;
|
ec->h = ec->client.h = ec->comp_data->initial_attributes.h;
|
||||||
|
if (!ec->internal)
|
||||||
|
{
|
||||||
|
ec->comp_data->pw = ec->w;
|
||||||
|
ec->comp_data->ph = ec->h;
|
||||||
|
}
|
||||||
ec->changes.size = 1;
|
ec->changes.size = 1;
|
||||||
if (ec->override)
|
|
||||||
ec->comp_data->pw = ec->w, ec->comp_data->ph = ec->h;
|
|
||||||
|
|
||||||
|
|
||||||
e_pixmap_visual_cmap_set(ec->pixmap, ec->comp_data->initial_attributes.visual, ec->comp_data->initial_attributes.colormap);
|
e_pixmap_visual_cmap_set(ec->pixmap, ec->comp_data->initial_attributes.visual, ec->comp_data->initial_attributes.colormap);
|
||||||
|
@ -574,8 +577,11 @@ _e_comp_x_post_client_idler_cb(void *d EINA_UNUSED)
|
||||||
if (ec->post_resize)
|
if (ec->post_resize)
|
||||||
e_pixmap_dirty(ec->pixmap);
|
e_pixmap_dirty(ec->pixmap);
|
||||||
e_comp_object_render_update_del(ec->frame);
|
e_comp_object_render_update_del(ec->frame);
|
||||||
|
if (!ec->internal)
|
||||||
|
{
|
||||||
ec->comp_data->pw = ec->client.w;
|
ec->comp_data->pw = ec->client.w;
|
||||||
ec->comp_data->ph = ec->client.h;
|
ec->comp_data->ph = ec->client.h;
|
||||||
|
}
|
||||||
ec->post_move = 0;
|
ec->post_move = 0;
|
||||||
ec->post_resize = 0;
|
ec->post_resize = 0;
|
||||||
}
|
}
|
||||||
|
@ -1388,12 +1394,13 @@ _e_comp_x_configure(void *data EINA_UNUSED, int type EINA_UNUSED, Ecore_X_Event_
|
||||||
}
|
}
|
||||||
move = (ec->client.x != ev->x) || (ec->client.y != ev->y);
|
move = (ec->client.x != ev->x) || (ec->client.y != ev->y);
|
||||||
resize = (ec->client.w != ev->w) || (ec->client.h != ev->h);
|
resize = (ec->client.w != ev->w) || (ec->client.h != ev->h);
|
||||||
|
if (!ec->internal)
|
||||||
|
ec->comp_data->pw = ev->w, ec->comp_data->ph = ev->h;
|
||||||
EINA_RECTANGLE_SET(&ec->client, ev->x, ev->y, ev->w, ev->h);
|
EINA_RECTANGLE_SET(&ec->client, ev->x, ev->y, ev->w, ev->h);
|
||||||
if (move)
|
if (move)
|
||||||
evas_object_move(ec->frame, ev->x, ev->y);
|
evas_object_move(ec->frame, ev->x, ev->y);
|
||||||
if (resize)
|
if (resize)
|
||||||
{
|
{
|
||||||
ec->comp_data->pw = ev->w, ec->comp_data->ph = ev->h;
|
|
||||||
e_pixmap_dirty(ec->pixmap);
|
e_pixmap_dirty(ec->pixmap);
|
||||||
evas_object_resize(ec->frame, ev->w, ev->h);
|
evas_object_resize(ec->frame, ev->w, ev->h);
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue