Commit Graph

2632 Commits

Author SHA1 Message Date
Dominique Martinet 51b9883ea0 seat: allow clients to bind to seat multiple times
This lets clients bind to a seat multiple times by re-using the existing
wlr_seat_client whenever a duplicate request happens.
Previously, an independant wlr_seat_client would be created and only
events from one would be processed.

Fixes #1023.
2018-06-04 22:31:36 +09:00
emersion 1c5c8652c5
Merge pull request #1030 from Shugyousha/removeSeatRemoveDevice
Remove redundant roots_seat_remove_device function
2018-06-03 19:10:33 +01:00
Silvan Jegen 736309c228 Remove redundant roots_seat_remove_device function
This function is unimplemented and is redundant because all devices added
with roots_seat_add_device get destruction handlers assigned already.

This fixes issue #998.
2018-06-03 19:54:33 +02:00
emersion 31c8ca7bec
Merge pull request #1027 from Timidger/subsurface_data
Added data field to wlr_subsurface
2018-06-03 09:18:42 +01:00
Timidger 2eb8b240e1
Added data field to wlr_subsurface 2018-06-02 15:57:44 -07:00
emersion d3670dfeff
Merge pull request #1022 from Ongy/master
Fix type in wlr_surface_get_extends
2018-06-01 15:45:02 +01:00
Markus Ongyerth 7b07b3f95d Fix type in wlr_surface_get_extends 2018-06-01 16:36:04 +02:00
emersion 84c09152af
Merge pull request #1021 from Ongy/xdg_geometry
Add wlr_surface_get_geometry
2018-06-01 14:29:05 +01:00
Markus Ongyerth 3994762ae0 Add wlr_surface_get_geometry
This function defaults and clips the xdg-surface geometry to the
bounding box of the surface + its subsurfaces, as specified by the
protocol spec.
2018-06-01 15:21:18 +02:00
emersion 6b7a55aa3d
Merge pull request #1020 from emersion/remove-check-dmabuf
render: remove wlr_renderer_check_import_dmabuf
2018-05-31 21:49:57 +01:00
Genki Sky 32013abae6 rootston: xdg-shell*: Fix get_size() for newly-mapped views
The user-visible issue is that newly-mapped xdg-shell* windows would
sometimes start with their top-left-corner, rather than their center, in
the center of the screen. This is because get_size() would
conservatively fall back on (width, height) == (0, 0) if both
set_window_geometry() had not been called, and it found
view->wlr_surface to be NULL.

But, view->wlr_surface is only set to non-NULL in view_map(). We call
get_size() before this. Fortunately, the wlr_surface in question is
accessible via view->xdg_shell{,_v6}->surface, so always fall back on
that. We can assert its presence instead of further falling back on
(width, height) == (0, 0).

Signed-off-by: Genki Sky <sky@genki.is>
2018-05-30 20:21:19 -04:00
Genki Sky d1cf9acbd5 cleanup: Use void for zero-parameter functions
Signed-off-by: Genki Sky <sky@genki.is>
2018-05-30 20:19:16 -04:00
emersion f90b024ad0
linux-dmabuf: fix bound checks for stride and height
- Fix bound checking for offset + stride * height
- Make offset bound checking more consistent
- Reject zero strides
2018-05-30 19:46:24 +01:00
emersion 135721118a
render: remove wlr_renderer_check_import_dmabuf
It's possible to implement it outside the renderer, by creating a
texture and destroying it right away. This reduces the API surface
of the renderer.
2018-05-30 17:08:15 +01:00
emersion 41e53d1499
Merge pull request #1019 from emersion/virtual-keyboard-destroy
virtual-keyboard: fix wlr_virtual_keyboard_manager_v1_destroy
2018-05-30 13:51:34 +01:00
Drew DeVault 5d8e387021
Merge pull request #1015 from emersion/dmabuf-single-modifier
Only allow one modifier per DMA-BUF, split attributes struct in render/
2018-05-30 08:39:45 -04:00
emersion 28020ff577
Only allow one modifier per DMA-BUF, split attributes struct in render/ 2018-05-30 09:29:12 +01:00
emersion f580112dca
virtual-keyboard: fix wlr_virtual_keyboard_manager_v1_destroy 2018-05-30 09:25:46 +01:00
emersion 8c9d0f15ce
Merge pull request #1017 from tobiasblass/examples_rotation_fix_doublefree
Fix double-free in the rotation.c example.
2018-05-30 08:36:10 +01:00
emersion 0c1f50168b
examples/output-layout: destroy wl_display
Thanks @tobiasblass for pointing this out. See #1017.
2018-05-30 08:34:49 +01:00
Tobias Blass a21894a844 Fix double-free in the tablet.c and touch.c examples
The wl_display_destroy function already destroys the backend's renderer.
Freeing it by hand causes a segmentation fault.
2018-05-30 08:24:25 +02:00
Drew DeVault f076cc45ee
Merge pull request #1016 from emersion/wl-display-destroy-clients
rootston: use wl_display_destroy_clients
2018-05-29 20:24:24 -04:00
Tobias Blass 75f9feb6de Fix double-free in the rotation.c example.
The wl_display_destroy function already destroys the backend's renderer.
Freeing it by hand causes a segmentation fault.
2018-05-30 01:12:34 +02:00
emersion f9ad63c5cb
rootston: use wl_display_destroy_clients 2018-05-29 22:50:26 +01:00
emersion 87fe9f3466
Merge pull request #1014 from RyanDwyer/fix-wlr-box-contains-point
Fix wlr_box_contains_point comparison
2018-05-29 19:03:29 +01:00
emersion e1f56538a8
Merge pull request #999 from dcz-purism/virtual-keyboard
Support virtual keyboard protocol
2018-05-29 18:22:44 +01:00
Ryan Dwyer f8a831859f Fix wlr_box_contains_point comparison 2018-05-29 23:05:01 +10:00
emersion 3444f43c16
Merge pull request #1012 from acrisci/doc-map-unmap
document the map/unmap xdg-shell events
2018-05-28 20:27:55 +01:00
Tony Crisci 044fa52be4 reword new_surface docs 2018-05-28 13:12:53 -04:00
Tony Crisci c27cd5f065 document the map/unmap xdg-shell events 2018-05-28 11:16:33 -04:00
Dorota Czaplejewicz 5334ee8bfd virtual-keyboard: add support for the virtual-keyboard-v1 protocol 2018-05-28 10:05:55 +02:00
Drew DeVault f95bd1facf
Merge pull request #1007 from emersion/xdg-toplevel-tiled
xdg-shell: add wlr_xdg_toplevel_set_tiled
2018-05-27 08:58:05 -04:00
emersion 47f097e09b
xdg-shell: add wlr_xdg_toplevel_set_tiled 2018-05-27 13:38:06 +01:00
Drew DeVault ebc8004c8c
Merge pull request #1006 from emersion/drm-logs
backend/drm: better connector cleanup, add more logs
2018-05-27 08:37:46 -04:00
emersion 79683ee497
backend/drm: better connector cleanup, add more logs 2018-05-27 13:21:41 +01:00
Drew DeVault b597f5e380
Merge pull request #1004 from emersion/surface-buffer-send-release
surface: remove wl_resource_post_event
2018-05-26 15:57:28 -04:00
emersion da504f9253
surface: remove wl_resource_post_event 2018-05-26 19:43:55 +01:00
emersion 4dfcbcf5dd
Merge pull request #1003 from acrisci/document-keyboard-events
document key and modifier signals
2018-05-26 19:12:50 +01:00
Tony Crisci 9971d06afb document key and modifier signals 2018-05-26 11:32:45 -04:00
emersion 0eec0c7303
Merge pull request #1001 from ammen99/xterm-fix
xwm: set the proper event mask in client messages
2018-05-26 08:19:52 +01:00
Ilia Bozhinov 5dd1a838f3 xwm: set the proper event mask in client messages
Fixes #927
2018-05-26 10:08:20 +03:00
emersion 6eb4b5b54d
Merge pull request #993 from emersion/bind-wl-drm-in-renderer
render: bind wl_drm in renderer
2018-05-25 13:54:16 +01:00
Drew DeVault 35b31dcfb7
Merge pull request #1000 from ammen99/custom-renderer-initialization
[RFC] backends: implement custom EGL and renderer initialization
2018-05-25 08:38:44 -04:00
Ilia Bozhinov 24cf70ae96 backends: implement custom EGL and renderer initialization
Compositors now have more control over how the backend creates its
renderer. Currently all backends create an EGL/GLES2 renderer, so
the necessary attributes for creating the context are passed to a
user-provided callback function. It is responsible for initializing
provided wlr_egl and to return a renderer. On fail, return 0.

Fixes #987
2018-05-25 14:56:52 +03:00
Drew DeVault a0eb37e2ea
Merge pull request #997 from dcz-purism/master
Ignore clicks on un-focuseable things.
2018-05-24 10:30:15 -04:00
Dorota Czaplejewicz a94c56a828 rootston: Keep focus unchanged when non-focusable element clicked
Before this change, a view would lose focus after clicking something that's not keyboard-interactive. This would lead to edge cases with layer-shell windows like input methods, which are pointer-only-interactive, but are not intended to change the state of any focus.
2018-05-24 16:10:29 +02:00
Dorota Czaplejewicz fa13493ad5 rootston: Disable keyboard focus on inactive views
After clicking on something non-interactive, the current view was getting deactivated, but still received keyboard events. roots_seat_set_focus now changes both together in this case.
2018-05-24 16:05:12 +02:00
emersion 0ab37db543
Merge pull request #994 from agreppin/master
fix server error on exit: eglMakeCurrent Invalid display
2018-05-23 15:30:11 +01:00
agr 4e89e0fc6c fix server exit: eglMakeCurrent Invalid display 2018-05-23 16:17:29 +02:00
emersion 41130fe54b
render: bind wl_drm in renderer 2018-05-21 19:07:08 +01:00