emersion
843621714f
surface: fix double wl_buffer.release events
...
Prior to this commit, we re-uploaded the buffer even if a new one
wasn't attached. After uploading, we send wl_buffer.release. So,
this sequence of requests resulted in a double release:
surface.attach(buffer, 0, 0)
surface.commit()
<- buffer.release()
surface.commit()
<- buffer.release()
2018-06-17 12:49:34 +01:00
Drew DeVault
fb118ac996
Merge pull request #1062 from emersion/wlr-buffer-comeback
...
Add back wlr_buffer
2018-06-16 13:43:14 -07:00
emersion
225aa815b0
buffer: fix wlr_texture leak on failed alloc
2018-06-16 19:01:13 +01:00
Ilia Bozhinov
23707f6504
layer-shell: check whether the surface is mapped in layer_surface_destroy()
...
If the layer surface has been closed by the compositor, using
layer_surface_close(), then the unmap event is emitted. However, when
the layer surface is later destroyed by the client, the compositor used
to get a second unmap, which is fixed with this commit.
2018-06-16 17:29:53 +03:00
emersion
da114d5013
buffer: don't destroy DMA-BUF textures with wl_buffer
...
After some discussions on #wayland, it seems that as soon as you
hold a reference to a DMA-BUF (via EGLImage for instance), the
underlying memory won't get free'd. The client is allowed to
re-use the DMA-BUF and upload something else to it though.
2018-06-14 10:15:14 +01:00
Drew DeVault
d27eeaa14c
Revert "Merge pull request #1050 from emersion/wlr-buffer"
...
This reverts commit 5e4af4862e
, reversing
changes made to 9a1f0e2d5f
.
2018-06-13 19:57:42 -04:00
emersion
0378d143d9
surface: remove wlr_surface.texture
...
The texture is managed by the surface's wlr_buffer now. In
particular, the buffer can destroy the texture early if it becomes
invalid.
2018-06-13 19:38:10 +01:00
emersion
38d415dd20
buffer: make wlr_buffer_ref return the buffer
2018-06-11 08:13:35 +01:00
emersion
e4933ab445
Introduce wlr_buffer
2018-06-08 20:06:13 +01:00
emersion
6f895081e1
Merge pull request #1043 from acrisci/drag-icon-unmap
...
drag-icon map and unmap fixes
2018-06-07 11:18:58 +01:00
emersion
211463ba87
Merge pull request #1045 from ammen99/master
...
xdg-shells: add a set_parent signal to toplevel surfaces
2018-06-06 21:38:32 +01:00
Tony Crisci
1a07bf95ae
Merge pull request #1044 from emersion/fix-box-intersection
...
box: fix wlr_box_intersection
2018-06-06 11:59:40 -04:00
Ilia Bozhinov
a989104a6b
xdg-shells: add a set_parent signal to toplevel surfaces
2018-06-06 17:08:06 +03:00
emersion
ed89a24328
box: fix wlr_box_intersection
2018-06-06 08:47:04 +01:00
Tony Crisci
7c888a39c6
update drag position at the right times
2018-06-05 23:45:03 -04:00
Tony Crisci
319ebdf476
add back map event
2018-06-05 22:50:29 -04:00
Tony Crisci
1c75d4e54a
rename drag-icon map to unmap
2018-06-05 18:17:42 -04:00
Dominique Martinet
c6821f3dd3
wlr_surface: insert subsurfaces in revert order
...
sibling surfaces were drawn in incorrect order (e.g. latest below).
This attempts to fix that by reverting the order of the list.
2018-06-05 21:02:42 +09:00
Tony Crisci
7206997e95
fix wlr_box_intersection and closest_point
2018-06-04 18:56:57 -04:00
Tony Crisci
a57d1baf57
Merge pull request #1033 from RyanDwyer/fix-xdg-popups
...
Fix mistakes in xdg_popup and xdg_popup_v6
2018-06-04 18:46:58 -04:00
emersion
344374fa14
Merge pull request #1039 from acrisci/positioner-invert-x-fix
...
add missing anchor case in positioner invert-x for xdg-shell
2018-06-04 22:27:26 +01:00
Tony Crisci
bcb660cb1d
add missing anchor case in positioner invert-x
2018-06-04 17:16:17 -04:00
emersion
78966417f4
Merge pull request #1031 from martinetd/multibind-seat
...
seat: allow clients to bind to seat multiple times
2018-06-04 16:44:22 +01:00
Dominique Martinet
cf9b8c0a8c
wlr_surface_get_root_surface: walk up parent
...
This would dead-loop and never walk up if called on a subsurface
2018-06-05 00:17:58 +09:00
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
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
Ryan Dwyer
516c864d46
Fix mistakes in xdg_popup and xdg_popup_v6
2018-06-04 22:00:40 +10:00
Markus Ongyerth
7b07b3f95d
Fix type in wlr_surface_get_extends
2018-06-01 16:36:04 +02: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
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
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
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
Dorota Czaplejewicz
5334ee8bfd
virtual-keyboard: add support for the virtual-keyboard-v1 protocol
2018-05-28 10:05:55 +02:00
emersion
47f097e09b
xdg-shell: add wlr_xdg_toplevel_set_tiled
2018-05-27 13:38:06 +01:00
emersion
da504f9253
surface: remove wl_resource_post_event
2018-05-26 19:43:55 +01:00
emersion
e849a68e6e
output: correctly clear screen when fullscreened
2018-05-20 13:44:18 +01:00
Drew DeVault
98088e78df
Merge pull request #977 from emersion/split-xdg-shell
...
Split xdg-shell into multiple files
2018-05-17 08:14:34 -04:00
emersion
c74f5b1138
xdg-output: bump output manager version to 2
2018-05-17 09:30:10 +01:00
emersion
63fd2203fe
Add support for version 2 of the xdg-output protocol
2018-05-17 08:42:59 +01:00
emersion
dbba1311b7
output: fix lingering hardware cursors
2018-05-15 18:13:26 +01:00
emersion
3036507463
xdg-shell: split into multiple files
2018-05-14 22:28:45 +01:00
emersion
c7480d5084
xdg-shell-v6: rename shared private functions to prevent conflicts with xdg-shell stable
2018-05-14 19:16:46 +01:00
emersion
facc5aa359
xdg-shell-v6: split into separate files
2018-05-13 22:32:03 +01:00