Commit Graph

64 Commits

Author SHA1 Message Date
Calvin Lee 901c14c409 Prevent alloc errors from crashing in `list_t`
This commit changes the `list_t` api so that alloc errors can be
detected and worked around. Also fixes errors not found in 5cc7342
2017-08-16 09:23:21 +02:00
Drew DeVault 19d6442f52 Merge pull request #91 from martinetd/move_wl_shell
Move wl_shell into wlroots
2017-08-15 17:39:18 -04:00
Drew DeVault 27c13d621d Merge pull request #88 from 4e554c4c/alloc_crashing
Prevent alloc errors from crashing
2017-08-15 12:21:58 -04:00
Dominique Martinet f9b55dfa95 Make wlr_wl_shell_create work like xdg
Also:
- rename wlr_xdg_shell_v6_init to create as that is what it does
- free wlr_xdg_shell on failure to create wl_global, the struct
is not initialized enough to call destroy at that point
2017-08-15 15:36:02 +02:00
Dominique Martinet d49edc8243 wl_shell/compositor surface: do not check if it's in list before removing 2017-08-15 15:34:26 +02:00
Dominique Martinet 5dae8e1be8 example compositor: only iterate over wl_shell and xdg_shell surfaces 2017-08-15 15:34:26 +02:00
Dominique Martinet f4e6b138fb Move wl_shell into wlroots 2017-08-15 15:13:23 +02:00
Drew DeVault f60b53c6e3 Change how surface matricies are calculated 2017-08-15 08:52:30 -04:00
Tony Crisci e46ec57b43 implement surface sizing 2017-08-15 07:36:51 -04:00
Calvin Lee 5cc7342606 Prevent alloc errors from crashing
Resolves #76
2017-08-15 08:04:57 +02:00
Drew DeVault 4386816889 wlr_backend_init -> wlr_backend_start
Also renames create to init. We'll use create for anything that
allocates and init for anything that takes a pointer and initializes it.
2017-08-13 10:19:57 -04:00
Drew DeVault d4b4bfb8bc Fix #64 2017-08-13 08:26:32 -04:00
Dominique Martinet de86965174 Use libinput_event_destroy/xkb_*_unref
Also sneak in a missing drmModeFreePlaneResources
2017-08-12 00:11:18 +02:00
Dominique Martinet be3a0ad065 libinput backend: fill in handle_device_removed
And fix input_remove_notify accordingly
2017-08-12 00:11:18 +02:00
Dominique Martinet 1c7dd71208 WIP: example/shared.c free
Still missing something, the _remove functions are never called
2017-08-11 19:41:10 +02:00
Drew DeVault 62d8b252c0 Refactor meson and move xdg-shell into wlroots 2017-08-11 09:37:09 -04:00
Drew DeVault 3375381610 Fix segfault during xdg-shell cleanup 2017-08-10 22:24:24 -04:00
Drew DeVault c24351681f Refactor EGL handling 2017-08-10 22:15:37 -04:00
Drew DeVault 7095274a9e Merge branch 'master' into drm_buffer 2017-08-10 13:19:39 -04:00
Drew DeVault 7da43ff8b0 Implement wlr_surface_flush_damage 2017-08-10 08:26:16 -04:00
nyorain 31d78ff497 Fix wlr_surface destruction bug 2017-08-10 12:42:35 +02:00
Tony Crisci 14654ecb77 implement compositor create region
Complete the implementation of wlr_region_create and put it in the compositor.
2017-08-10 05:59:43 -04:00
nyorain 1901c3e1b6 Fix example for updated gles 2017-08-10 11:03:58 +02:00
nyorain 67369173aa Implement drm (egl) buffer attaching 2017-08-10 10:59:58 +02:00
Tony Crisci 8306f46dfb implement surface frame
The surface frame callback lets a window know when it is a good time to show the
next frame if it is animating. In particular, this callback is used by
weston-simple-shm to throttle drawing.
2017-08-09 17:31:38 -04:00
Drew DeVault bd2e9a7168 Style cleanup 2017-08-09 17:30:22 -04:00
Tony Crisci 5a7595af77 use generators for wayland protocol gen 2017-08-09 16:50:41 -04:00
Tony Crisci 26edd5fb9e cleanup for style and formatting 2017-08-09 16:50:40 -04:00
Tony Crisci 816a7f8257 add xdg shell destructors 2017-08-09 16:50:07 -04:00
Tony Crisci bdfe9faf58 Add todo for destroy_xdg_shell_surface
This free was causing crashes so remove the implementation and make a note to
do it later.
2017-08-09 12:31:16 -04:00
Tony Crisci a6c7d8d14f send configure event after creating toplevel
The xdg shell protocol requires us to send a configure in order for the client
to start attaching buffers.
2017-08-09 12:31:16 -04:00
Tony Crisci 5add87cac6 rename wlr_surface to wlr_texture 2017-08-09 12:31:16 -04:00
Tony Crisci 15885ab54a implement xdg toplevel stubs 2017-08-09 12:31:16 -04:00
Tony Crisci c3f15ea284 Add xdg shell stubs 2017-08-09 12:31:16 -04:00
Tony Crisci 347707c962 Add shell surface stubs
Add stubs for the wl_shell_surface interface.

Implement wl_shell_get_shell_surface by creating the shell surface and settings
its implementation to these stubs.
2017-08-09 12:30:11 -04:00
nyorain cf9ee6ce3f Move wlr_surface into wlr 2017-08-09 17:27:12 +02:00
nyorain 8473c3955c Add first wlr_surface example implementation 2017-08-09 17:26:05 +02:00
Drew DeVault ba87585bbe Merge pull request #48 from nyorain/wlr_texture
Rename wlr_surface -> wlr_texture; attach -> upload
2017-08-08 13:12:16 -04:00
nyorain e167f41fde Rename wlr_surface -> wlr_texture; attach -> upload 2017-08-08 18:25:16 +02:00
Drew DeVault 9383aaf89e Accomodate for hotspot in cursor position 2017-08-08 11:44:44 -04:00
Drew DeVault 7486263f7e Add xcursor sublibrary 2017-08-07 21:13:04 -04:00
Scott Anderson 2f8b5c4448 More cleanups 2017-08-06 15:53:41 +12:00
Drew DeVault 5bf61ca7ed Check for multi backend before using it 2017-08-05 23:08:35 -04:00
Scott Anderson 4d4da18437 Fixed VT switching 2017-08-06 13:37:49 +12:00
Scott Anderson cb4d50e22c Changed header paths. 2017-08-06 13:25:26 +12:00
Scott Anderson ae4478e17f Changed ownership of wlr_session to the multi backend.
Currently breaks VT switching for examples.
2017-08-06 13:25:26 +12:00
nyorain fdab81e1c9 Use meson build system 2017-08-05 22:34:24 +02:00
Drew DeVault 7c393d5143 Missed a variable 2017-08-04 16:44:45 -04:00
Drew DeVault 95653c0bf7 Minor nitpicking in wl_compositor 2017-08-04 16:26:21 -04:00
Tony Crisci effea557bb Implement destroying surfaces
Add a signal for wlr_surface destruction on the wlr_surface that compositors
can listen to to remove the surface from their state.

Implement a listener for this in the example wl_compositor to remove the
surface from its internal list of surfaces.

Destroy the surface in the compositor destroy_surface callback given when the
surface resource was created.

Add a reference to the surface resource to the wlr_surface so a compositor can
find it in its list of resources upon wlr_resource destruction.
2017-08-04 11:53:55 -04:00