forked from enlightenment/enlightenment
force full damage for first frame of x11 override clients
it seems that damages for popup windows in some applications, namely blink-based browsers, are reported incorrectly, resulting in sometimes having a blank window
This commit is contained in:
parent
f53e85e44c
commit
21d2a84c2e
|
@ -2696,7 +2696,9 @@ _e_comp_x_damage(void *data EINA_UNUSED, int type EINA_UNUSED, Ecore_X_Event_Dam
|
||||||
|
|
||||||
ec = _e_comp_x_client_find_by_damage(ev->damage);
|
ec = _e_comp_x_client_find_by_damage(ev->damage);
|
||||||
if (!ec) return ECORE_CALLBACK_PASS_ON;
|
if (!ec) return ECORE_CALLBACK_PASS_ON;
|
||||||
if (ec->comp_data->damage)
|
if (ec->override && (!ec->comp_data->first_damage))
|
||||||
|
e_comp_object_damage(ec->frame, 0, 0, ec->w, ec->h);
|
||||||
|
else if (ec->comp_data->damage)
|
||||||
{
|
{
|
||||||
Ecore_X_Region parts;
|
Ecore_X_Region parts;
|
||||||
Ecore_X_Rectangle bounds;
|
Ecore_X_Rectangle bounds;
|
||||||
|
@ -2711,7 +2713,7 @@ _e_comp_x_damage(void *data EINA_UNUSED, int type EINA_UNUSED, Ecore_X_Event_Dam
|
||||||
if (!n) return ECORE_CALLBACK_RENEW;
|
if (!n) return ECORE_CALLBACK_RENEW;
|
||||||
if (ec->comp->nocomp)
|
if (ec->comp->nocomp)
|
||||||
e_pixmap_dirty(ec->pixmap);
|
e_pixmap_dirty(ec->pixmap);
|
||||||
else
|
else if (n)
|
||||||
{
|
{
|
||||||
int i;
|
int i;
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue