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:
Mike Blumenkrantz 2015-10-13 17:07:30 -04:00
parent 8c77c613a1
commit f6be761226
1 changed files with 4 additions and 2 deletions

View File

@ -2807,7 +2807,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);
if ((!ec) || e_object_is_del(E_OBJECT(ec))) return ECORE_CALLBACK_PASS_ON;
if (_e_comp_x_client_data_get(ec)->damage)
if (ec->override && (!_e_comp_x_client_data_get(ec)->first_damage))
e_comp_object_damage(ec->frame, 0, 0, ec->w, ec->h);
else if (_e_comp_x_client_data_get(ec)->damage)
{
Ecore_X_Region parts;
Ecore_X_Rectangle bounds;
@ -2822,7 +2824,7 @@ _e_comp_x_damage(void *data EINA_UNUSED, int type EINA_UNUSED, Ecore_X_Event_Dam
if (!n) return ECORE_CALLBACK_RENEW;
if (e_comp->nocomp)
e_pixmap_dirty(ec->pixmap);
else
else if (n)
{
int i;