summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChris Michael <cp.michael@samsung.com>2013-03-21 08:00:18 +0000
committerChris Michael <cp.michael@samsung.com>2013-03-21 08:00:18 +0000
commit6b70ed67362e829bb7bc63f6dad32852bd416b77 (patch)
tree6441fad7b7719d24c238eeed8d995adeb6f7374a
parent0ae2c2b6ed4c1ba57efd74e46792c811770bf162 (diff)
downloadenlightenment-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.c11
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 *