If cairo-gl is used, display_create_surface() will create an
wl_egl_window for each surface and this will result in errors if this
surface is used as a source. Also, one can't get a wl_buffer for such
a surface wich led to crashes when trying to do so for the drag icon.
This patch works around both problems by forcing the item and drag icon
surfaces to use shm.
If the MODULEDIR string contains '%', then
snprintf(path, sizeof(path), MODULEDIR "/%s", name);
does not do what you want.
Signed-off-by: Chad Versace <chad.versace@linux.intel.com>
Inactive surfaces doesn't set keyboard focus, so it can be used for tooltips,
toolbars and some other type of windows.
This requires protocol side changes.
Signed-off-by: Tiago Vignatti <tiago.vignatti@intel.com>
This commit adds a new, built-in screen recorder tool. The tool UI is
still very simple, start with mod-r and stop it again with mod-r.
The recording is written to capture.wcap, in a simple run-length encoded
adhoc format. The wcap-decode tool can be used to extract a single frame
from the capture, for now, but the plan is to hook this up to libvpx and
generate webm output.
Fixes crash with a backtrace like this:
==2418== Invalid read of size 8
==2418== at 0x8AC5B70: unresponsive_fade_frame (shell.c:374)
==2418== by 0x409FE0: weston_output_finish_frame (compositor.c:1060)
==2418== by 0x567043B: wl_event_loop_dispatch (event-loop.c:389)
==2418== by 0x566E84C: wl_display_run (wayland-server.c:1003)
==2418== by 0x4055EB: main (compositor.c:2937)
==2418== Address 0x8aba650 is 80 bytes inside a block of size 656 free'd
==2418== at 0x4A0662E: free (vg_replace_malloc.c:366)
==2418== by 0x566D93B: wl_resource_destroy (wayland-server.c:408)
==2418== by 0x566D30E: destroy_resource (wayland-server.h:166)
==2418== by 0x566D93B: wl_resource_destroy (wayland-server.c:408)
==2418== by 0x34ECE05D63: ffi_call_unix64 (unix64.S:75)
==2418== by 0x34ECE05784: ffi_call (ffi64.c:486)
==2418== by 0x5671AAE: wl_closure_invoke (connection.c:770)
==2418== by 0x566DBAA: wl_client_connection_data (wayland-server.c:255)
==2418== by 0x5670497: wl_event_loop_dispatch (event-loop.c:410)
==2418== by 0x566E84C: wl_display_run (wayland-server.c:1003)
==2418== by 0x4055EB: main (compositor.c:2937)a
and
==2418== Invalid read of size 8
==2418== at 0x34F1E180E1: pixman_region32_union (pixman-region.c:1405)
==2418== by 0x407F66: weston_surface_damage (compositor.c:551)
==2418== by 0x409FE0: weston_output_finish_frame (compositor.c:1060)
==2418== by 0x567043B: wl_event_loop_dispatch (event-loop.c:389)
==2418== by 0x566E84C: wl_display_run (wayland-server.c:1003)
==2418== by 0x4055EB: main (compositor.c:2937)
==2418== Address 0x851dfe8 is 136 bytes inside a block of size 680 free'd
==2418== at 0x4A0662E: free (vg_replace_malloc.c:366)
==2418== by 0x566D93B: wl_resource_destroy (wayland-server.c:408)
==2418== by 0x34ECE05D63: ffi_call_unix64 (unix64.S:75)
==2418== by 0x34ECE05784: ffi_call (ffi64.c:486)
==2418== by 0x5671AAE: wl_closure_invoke (connection.c:770)
==2418== by 0x566DBAA: wl_client_connection_data (wayland-server.c:255)
==2418== by 0x5670497: wl_event_loop_dispatch (event-loop.c:410)
==2418== by 0x566E84C: wl_display_run (wayland-server.c:1003)
==2418== by 0x4055EB: main (compositor.c:2937)