forked from enlightenment/enlightenment
e_comp_x: fix black area of override redirect win
Summary: Black area of override redirect window could send damage notify which has unwanted xy position. (a) Skip x configure notify with 3,55 316x162 of override redirect win (b) Handle x show notify: create a new client and x damage for override redirect win (c) Handle x damage notify with 3,55 316x162 To resolve it, E discards unwanted xy position of first damage for override redirect window. This fixes remained problem of T1180 and T1188. Test Plan: 1. Run e with sw engine mode 2. Run pcmanfm 3. Select menu in pcmanfm 4. Check whether menu window has black area Reviewers: raster, zmike, devilhorns CC: cedric Differential Revision: https://phab.enlightenment.org/D800
This commit is contained in:
parent
69e39063dd
commit
a5bd16603f
|
@ -2502,9 +2502,13 @@ _e_comp_x_damage(void *data EINA_UNUSED, int type EINA_UNUSED, Ecore_X_Event_Dam
|
|||
|
||||
if (ec->comp->nocomp)
|
||||
e_pixmap_dirty(ec->pixmap);
|
||||
/* discard unwanted xy position of first damage
|
||||
* to avoid wrong composition for override redirect window */
|
||||
else if ((ec->override) && (!ec->comp_data->first_damage))
|
||||
e_comp_object_damage(ec->frame, 0, 0, ev->area.width, ev->area.height);
|
||||
else
|
||||
e_comp_object_damage(ec->frame, ev->area.x, ev->area.y, ev->area.width, ev->area.height);
|
||||
if ((!ec->re_manage) && (!ec->comp_data->first_damage))
|
||||
if ((!ec->re_manage) && (!ec->override) && (!ec->comp_data->first_damage))
|
||||
e_comp_object_render_update_del(ec->frame);
|
||||
else
|
||||
E_FREE_FUNC(ec->comp_data->first_draw_delay, ecore_timer_del);
|
||||
|
@ -4034,7 +4038,7 @@ _e_comp_x_hook_client_new(void *d EINA_UNUSED, E_Client *ec)
|
|||
|
||||
if (!_e_comp_x_client_new_helper(ec)) return;
|
||||
|
||||
ec->comp_data->first_damage = ec->internal || ec->override;
|
||||
ec->comp_data->first_damage = ec->internal;
|
||||
|
||||
eina_hash_add(clients_win_hash, &win, ec);
|
||||
e_hints_client_list_set();
|
||||
|
|
Loading…
Reference in New Issue