From 9372a1e21714e470076a3186beb458fab26bbc0b Mon Sep 17 00:00:00 2001 From: Chris Michael Date: Wed, 1 May 2013 07:32:10 +0100 Subject: [PATCH] Revert "Reduce duplicated code and comment out region_add sections that are" This reverts commit 279c5ac28e93ef6f02dc890435eb5342efe19571. This broke rotation (and some other things). --- src/lib/ecore_wayland/ecore_wl_window.c | 55 +++++++++++++------------ 1 file changed, 28 insertions(+), 27 deletions(-) diff --git a/src/lib/ecore_wayland/ecore_wl_window.c b/src/lib/ecore_wayland/ecore_wl_window.c index 163761b0a3..dea2f69aec 100644 --- a/src/lib/ecore_wayland/ecore_wl_window.c +++ b/src/lib/ecore_wayland/ecore_wl_window.c @@ -150,24 +150,24 @@ ecore_wl_window_resize(Ecore_Wl_Window *win, int w, int h, int location) if (!win) return; - /* if (win->type != ECORE_WL_WINDOW_TYPE_FULLSCREEN) */ - /* { */ - /* win->allocation.w = w; */ - /* win->allocation.h = h; */ + if (win->type != ECORE_WL_WINDOW_TYPE_FULLSCREEN) + { + win->allocation.w = w; + win->allocation.h = h; - /* win->region.input = */ - /* wl_compositor_create_region(_ecore_wl_disp->wl.compositor); */ - /* wl_region_add(win->region.input, win->allocation.x, win->allocation.y, */ - /* win->allocation.w, win->allocation.h); */ - /* } */ + win->region.input = + wl_compositor_create_region(_ecore_wl_disp->wl.compositor); + wl_region_add(win->region.input, win->allocation.x, win->allocation.y, + win->allocation.w, win->allocation.h); + } - /* if (!win->transparent) */ - /* { */ - /* win->region.opaque = */ - /* wl_compositor_create_region(_ecore_wl_disp->wl.compositor); */ - /* wl_region_add(win->region.opaque, win->allocation.x, win->allocation.y, */ - /* win->allocation.w, win->allocation.h); */ - /* } */ + if (!win->transparent) + { + win->region.opaque = + wl_compositor_create_region(_ecore_wl_disp->wl.compositor); + wl_region_add(win->region.opaque, win->allocation.x, win->allocation.y, + win->allocation.w, win->allocation.h); + } if (win->shell_surface) { @@ -230,9 +230,11 @@ ecore_wl_window_buffer_attach(Ecore_Wl_Window *win, struct wl_buffer *buffer, in win->edges = 0; + /* if (buffer) */ wl_surface_attach(win->surface, buffer, x, y); - ecore_wl_window_damage(win, 0, 0, - win->allocation.w, win->allocation.h); + wl_surface_damage(win->surface, 0, 0, + win->allocation.w, win->allocation.h); + wl_surface_commit(win->surface); win->server_allocation = win->allocation; } @@ -471,14 +473,14 @@ ecore_wl_window_update_size(Ecore_Wl_Window *win, int w, int h) win->allocation.w = w; win->allocation.h = h; - /* if (!win->transparent) */ - /* { */ - /* if (win->region.opaque) wl_region_destroy(win->region.opaque); */ - /* win->region.opaque = */ - /* wl_compositor_create_region(_ecore_wl_disp->wl.compositor); */ - /* wl_region_add(win->region.opaque, win->allocation.x, win->allocation.y, */ - /* win->allocation.w, win->allocation.h); */ - /* } */ + if ((!win->transparent) || (!win->alpha)) + { + if (win->region.opaque) wl_region_destroy(win->region.opaque); + win->region.opaque = + wl_compositor_create_region(_ecore_wl_disp->wl.compositor); + wl_region_add(win->region.opaque, win->allocation.x, win->allocation.y, + win->allocation.w, win->allocation.h); + } } EAPI void @@ -599,7 +601,6 @@ _ecore_wl_window_cb_configure(void *data, struct wl_shell_surface *shell_surface { if (win->type == ECORE_WL_WINDOW_TYPE_TOPLEVEL) win->edges = edges; - if (win->region.input) wl_region_destroy(win->region.input); win->region.input = NULL; if (win->region.opaque) wl_region_destroy(win->region.opaque);