HomePhabricator

e_comp_object: update xy position of client in intercept_move to avoid unwanted…

Authored by gwanglim.

Description

e_comp_object: update xy position of client in intercept_move to avoid unwanted first damage if given client is not a new_client

Summary:
xterm and pcmanfm windows shows black area if e is running with sw engine mode. (T1180)
In this case, there are two problems:

  1. Unwanted geometry info of first damage by wrong window move in intercept_move.

(a) Handle x map request
(b) Initialize client_inset value of comp object according to geometry value of "e.swallow.client" part
(c) Set client_inset value to cw->client.x and y in intercept_move
(d) Call ecore_x_window_move_resize with wrong x and y at idler
(e) Create x damage
(f) Handle unwanted damage notify event which has position values same as client_inset.
(g) Copy image contents from pixmap according to wrong area info of damage notify and render it on screen.

  1. Problem of override redirect window

Black area of pcmanfm's menu is related to override redirect window.

This patch only covers 1st problem not 2nd problem.
The override redirect window should be fixed by another way.

Test Plan:

  1. Run e with sw engine mode or run x-ui.sh in e git simply
  2. Run xterm which is using classic x drawing api
  3. Check client window area of xterm

Reviewers: raster, zmike, devilhorns

CC: cedric

Differential Revision: https://phab.enlightenment.org/D795

Details

Committed
zmikeApr 25 2014, 9:50 AM
Differential Revision
Restricted Differential Revision
Parents
rEa008cd66fd2a: change name of include guard E_COMP_H
Branches
Unknown
Tags
Unknown