Commit graph

2634 commits

Author SHA1 Message Date
Bob Ham
eb8b8acca6 wlr_linux_dmabuf: Fix printf conversion specifiers on armhf
The printf conversion specifiers in a call to wl_resource_post_error
do not specify the type correctly on armhf:

../types/wlr_linux_dmabuf.c: In function 'params_add':
../types/wlr_linux_dmabuf.c:104:21: error: format '%lu' expects argument of type 'long unsigned int', but argument 4 has type 'uint64_t {aka long long unsigned int}' [-Werror=format=]
    "sent modifier %lu for plane %u, expected modifier %lu like other planes",
                   ~~^
                   %llu

To fix this, we use standard printf conversion specifier macros from
inttypes.h.
2018-06-04 13:20:09 +00:00
emersion
caf72767a1
Merge pull request #1032 from acrisci/drag-icon-data
add data to wlr_drag_icon
2018-06-04 08:47:25 +01:00
Tony Crisci
58d549c98a add data to wlr_drag_icon 2018-06-03 20:11:59 -04: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