diff options
author | Chris Michael <cp.michael@samsung.com> | 2013-03-21 08:00:18 +0000 |
---|---|---|
committer | Chris Michael <cp.michael@samsung.com> | 2013-03-21 08:00:18 +0000 |
commit | 6b70ed67362e829bb7bc63f6dad32852bd416b77 (patch) | |
tree | 6441fad7b7719d24c238eeed8d995adeb6f7374a | |
parent | 0ae2c2b6ed4c1ba57efd74e46792c811770bf162 (diff) | |
download | enlightenment-6b70ed67362e829bb7bc63f6dad32852bd416b77.tar.gz |
Resize the tiler (damages) when geometry changes.
If the size of a surface changes, we need to remove the old tiler and
recreate one for the new size.
NB: This fixes issue where the client-side frame of a wayland client
would not respond to damages (such as hilighting buttons) when it was
'maximized'
Signed-off-by: Chris Michael <cp.michael@samsung.com>
-rw-r--r-- | src/modules/wl_shell/e_mod_main.c | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/src/modules/wl_shell/e_mod_main.c b/src/modules/wl_shell/e_mod_main.c index 1bb5a2ca99..732a8fa197 100644 --- a/src/modules/wl_shell/e_mod_main.c +++ b/src/modules/wl_shell/e_mod_main.c @@ -468,6 +468,17 @@ _e_wl_shell_shell_surface_configure(E_Wayland_Surface *ews, int x, int y, int w, break; } } + + if (ews->geometry.changed) + { + ews->geometry.changed = EINA_FALSE; + if (ews->damages) + { + eina_tiler_clear(ews->damages); + eina_tiler_free(ews->damages); + ews->damages = eina_tiler_new(ews->geometry.w, ews->geometry.h); + } + } } static E_Wayland_Shell_Surface * |