diff options
author | Ander Conselvan de Oliveira <ander.conselvan.de.oliveira@intel.com> | 2012-09-10 15:55:53 +0300 |
---|---|---|
committer | Kristian Høgsberg <krh@bitplanet.net> | 2012-09-14 13:54:28 -0400 |
commit | d7f282b84e1729f4692488a8af7e696e4d6b69d7 (patch) | |
tree | fa1066ca5015ad1ce5dd9242449b9da87b8416f2 | |
parent | 231ba171c6af2e379c45e4ae997cb56573f87375 (diff) |
simple-egl: Set the opaque region if windowed and -o is passed
Since commit 6a615d262141de7cf094788203d9c044dfb9f08d [1], the opaque
region would be set only when running fullscreen. Having it set
properly for the windowed case is helpful to test the overlay path in
compositor-drm.
What this patch does is:
- reverts the above commit;
- remove the "if fullscreen make the window opaque" conditional, that
should have been removed when -o was introduced and was actually the
cause for the bug solved in [1];
- sets the opaque region when running fullscreen, regardless of the -o
switch.
[1] commit 6a615d262141de7cf094788203d9c044dfb9f08d
Author: Scott Moreau <oreaus@gmail.com>
Date: Thu Aug 30 14:44:16 2012 -0600
simple-egl: Only set alpha_size=0 when -o is passed.
v2: - Clarify in the commit message that this does not regress the bug
solved in [1].
- Use the correct sha1 for the reverted commit.
-rw-r--r-- | clients/simple-egl.c | 13 |
1 files changed, 4 insertions, 9 deletions
diff --git a/clients/simple-egl.c b/clients/simple-egl.c index 808c2eea..a67ce2f8 100644 --- a/clients/simple-egl.c +++ b/clients/simple-egl.c @@ -280,12 +280,10 @@ toggle_fullscreen(struct window *window, int fullscreen) window->configured = 0; if (fullscreen) { - window->opaque = 1; wl_shell_surface_set_fullscreen(window->shell_surface, WL_SHELL_SURFACE_FULLSCREEN_METHOD_DEFAULT, 0, NULL); } else { - window->opaque = 0; wl_shell_surface_set_toplevel(window->shell_surface); handle_configure(window, window->shell_surface, 0, window->window_size.width, @@ -403,7 +401,7 @@ redraw(void *data, struct wl_callback *callback, uint32_t time) eglSwapBuffers(window->display->egl.dpy, window->egl_surface); - if (window->opaque) { + if (window->opaque || window->fullscreen) { region = wl_compositor_create_region(window->display->compositor); wl_region_add(region, 0, 0, window->window_size.width, @@ -594,7 +592,7 @@ main(int argc, char **argv) struct sigaction sigint; struct display display = { 0 }; struct window window = { 0 }; - int i, opaque = 0; + int i; window.display = &display; display.window = &window; @@ -605,7 +603,7 @@ main(int argc, char **argv) if (strcmp("-f", argv[i]) == 0) window.fullscreen = 1; else if (strcmp("-o", argv[i]) == 0) - opaque = 1; + window.opaque = 1; else if (strcmp("-h", argv[i]) == 0) usage(EXIT_SUCCESS); else @@ -621,10 +619,7 @@ main(int argc, char **argv) wl_display_get_fd(display.display, event_mask_update, &display); wl_display_iterate(display.display, WL_DISPLAY_READABLE); - if (window.fullscreen) - window.opaque = 1; - - init_egl(&display, opaque); + init_egl(&display, window.opaque); create_surface(&window); init_gl(&window); |