Ilia Bozhinov
9feeb2738d
backend/wayland: destroy relative pointer when output is disconnected
...
Fixes #2243
Fixes #2106
2020-08-17 11:33:57 +02:00
Simon Ser
379835c42f
examples/simple: use wlr_renderer instead of GL
2020-08-14 09:57:31 -06:00
Simon Ser
801c7670b7
examples/simple: use wlr_output_preferred_mode
2020-08-14 09:57:31 -06:00
Daniel De Graaf
c236f60bb6
wlr_virtual_keyboard: fix fd leak
2020-08-09 21:13:06 +02:00
Ryan Walklin
7e990a2991
Don't set XDG_SESSION_TYPE unless logind SetType succeeds
2020-08-07 19:15:25 +02:00
Ryan Walklin
e81d2086c0
Also set XDG_SESSION_TYPE
2020-08-07 19:15:25 +02:00
Ryan Walklin
f0d03fb892
Implement logind session SetType method to change session type to wayland
2020-08-07 19:15:25 +02:00
Simon Ser
30226eb1fb
gamma-control-v1: fix use-after-free in gamma_control_handle_set_gamma
...
gamma_control_send_failed destroys gamma_control.
2020-08-05 18:18:11 +02:00
Ilia Bozhinov
0032954c75
make sure to fail setting gamma on disabled outputs
2020-08-03 12:05:35 +02:00
Devin J. Pohly
aaf490d794
drm: fix uninitialized read
...
get_drm_prop_blob does not set path_len if it returns NULL. Check the
return value before path_len to avoid reading uninitialized memory.
(Granted, this doesn't change the logic at all, but it does make
Valgrind a bit happier.)
2020-07-31 09:32:14 +02:00
Ilia Bozhinov
74f7be7287
xwayland: do not allow apps to change focus after wlroots request
2020-07-30 13:40:36 +02:00
Simon Ser
1dbcfdaf81
render/gles2: remove gles2_procs
...
Move the global into wlr_gles2_renderer. This removes global state and
allows us to have multiple renderers with different GL loaders.
2020-07-28 06:59:07 -06:00
Simon Ser
62da61716f
render/gles2: make push/pop debug functions take a wlr_renderer
2020-07-28 06:59:07 -06:00
Simon Ser
e8872d9ed7
render/gles2: keep ref to wlr_gles2_renderer in wlr_gles2_texture
2020-07-28 06:59:07 -06:00
Simon Ser
26af316b3b
render/gles2: make wlr_gles2_texture_from_* private
...
These functions are unused by compositors (see e.g. [1]) and prevent
wlr_gles2_texture from accessing wlr_gles2_renderer state. This is an
issue for proper teardown [2] and for accessing GLES2 extensions.
[1]: https://github.com/swaywm/wlroots/pull/1962#issuecomment-569511830
[2]: https://github.com/swaywm/wlroots/pull/1962
2020-07-28 06:59:07 -06:00
Rouven Czerwinski
c32d89ee3e
examples: remove unnecessary gles2.h imports
2020-07-28 13:36:09 +02:00
Scott Moreau
6d0ee53e1a
xwm: Set _NET_WM_STATE_FOCUSED property for the focused surface
...
Certain clients require this property to be set for expected behavior.
Most notably, steam client CSD maximize button no longer worked
after unmaximizing once, unless the state was changed by another
method. The state is unset whenever another surface gains focus.
2020-07-27 14:26:30 +02:00
Antonin Décimo
1ae2d976c0
xwayland: free server in error path
2020-07-27 10:49:19 +02:00
Antonin Décimo
d9bb792794
Fix incorrect format parameters
2020-07-27 10:49:19 +02:00
Ronan Pigott
39fd2335bf
virtual_pointer: remember current axis for axis events
2020-07-27 10:39:41 +02:00
Simon Ser
c72efcd1ce
xwayland/xwm: use initializer for props in xsurface_set_wm_state
...
This avoids uninitialized items and makes it clear where the magic
number 2 is coming from.
2020-07-22 13:49:24 -06:00
Simon Ser
13f35139d3
xwayland/xwm: add prop count assert in xsurface_set_net_wm_state
...
This helps mitigate buffer overflows.
2020-07-22 13:49:24 -06:00
Simon Ser
cd4827b3b6
xwayland/xwm: don't insert surface in list on error
...
In case wl_event_loop_add_timer errors out, don't insert the free'd
wlr_xwayland_surface in the list.
Closes: https://github.com/swaywm/wlroots/issues/1721
2020-07-22 13:48:59 -06:00
Antonin Décimo
9686895b4e
Fix typos
2020-07-21 23:00:13 +02:00
Tobias Langendorf
bd387da62d
xwm: add support for xwayland minimize
2020-07-21 13:20:17 +02:00
Simon Ser
751a21d94f
Update version to 0.11.0
2020-07-16 00:27:23 +02:00
Tudor Brindus
a145430afa
input/pointer: add wlr_seat_pointer_wrap
...
It allows a compositor to do things like skip motion events on pointer
constraint unlock.
References: https://github.com/swaywm/sway/pull/5431
2020-07-15 19:31:13 +02:00
Andri Yngvason
6ef5d18757
render: egl: Use current display to restore NULL context
...
eglGetCurrentDisplay() returns EGL_NO_DISPLAY when there is no context current
and eglMakeCurrent() needs a display argument.
Fixes #2327
2020-07-14 19:55:20 +02:00
xdavidwu
842df2bd6c
examples/input-method-keyboard-grab: new example
2020-07-08 11:21:57 +02:00
xdavidwu
595f324f8b
input-method: implement keyboard grabs
2020-07-08 11:21:57 +02:00
xdavidwu
61e2ebac90
virtual-keyboard: add wlr_input_device_get_virtual_keyboard
2020-07-08 11:21:57 +02:00
Simon Ser
b6377b59ff
backend/drm: check drm_surface_make_current return value
...
drm_connector_set_cursor wasn't checking the return value of the
drm_surface_make_current call. On failure, this results in a failed
assertion in wlr_renderer_begin (because no rendering context is
current).
2020-07-07 11:18:07 -06:00
Simon Ser
cccca368c5
backend/drm: fix typo in drm_surface_make_current arg
2020-07-07 17:36:51 +02:00
Isaac Freund
92c85858a9
layer-shell: remove unused surface list
...
This was rendered useless in 5cde359
.
2020-07-07 12:11:31 +02:00
j-n-f
b61a98c417
examples: fix improper use of `free`
...
Closes #2303
2020-07-06 00:40:14 +02:00
Greg V
b2bd536308
xdg-shell: check for existing role before setting xdg_popup_surface_role
...
Hopefully fixes #2056
2020-07-04 12:11:19 +02:00
John Chadwick
58bcec9d94
xwm: end transfers when the requestor is destroyed
...
This improves the failure cases when incremental transfers fail to
complete successfully for one reason or another.
2020-07-03 09:42:36 +02:00
Simon Ser
f82a27f55a
backend/drm: fix DPMS on legacy interface
...
This mirrors what the atomic code does in create_mode_blob.
Closes: https://github.com/swaywm/wlroots/issues/2312
2020-07-02 09:39:41 -06:00
Andri Yngvason
a54ed85881
examples: screencopy-dmabuf: Fix y-inversion
2020-07-01 11:43:02 +02:00
Andri Yngvason
1d835f2035
screencopy: Use correct dmabuf to get y-inversion flag
...
Because wlr_renderer_blit_dmabuf() undoes y-inversion on the source
buffer, it is incorrect to pass the y-inversion flag of the source
buffer to the user.
2020-07-01 11:43:02 +02:00
Andri Yngvason
e05a85327f
render: gles2: Fix y-inversion in gles2_blit_dmabuf()
2020-07-01 11:43:02 +02:00
Scott Moreau
b1a47245a1
xwm: Destroy xwm on hangup or error
...
If Xwayland is restarted, the ready handler assumes there is no xwm instance.
This means all of xwm was leaked on Xwayland restart. This caused compositors
to consume all cpu resources, where time is spent dispatching. Now we destroy
xwm if we get an event mask containing WL_EVENT_HANGUP or WL_EVENT_ERROR.
2020-06-30 21:21:25 +02:00
Scott Moreau
84d2f30faa
xwayland: Don't discard ready signals
...
The xwayland ready signals are used to do initial setup like starting xwm.
Discarding the signals means that the handler functions will not be called
in the case that Xwayland is restarted and thus, xwm managed clients fail.
Fixes #2174."
2020-06-30 21:21:25 +02:00
Simon Ser
c611a8f7e7
output: add backend docs
2020-06-30 08:03:58 -06:00
Isaac Freund
45c0877e34
layer-shell: upgrade to v3, implement destructor
2020-06-30 13:33:15 +02:00
Kenny Levinsen
d2ca220fda
wlr_drag: Destroy drag after releasing grabs
...
wlr_drag sets up keyboard, pointer and touch grabs, which block 'enter'
events (and thus focus changes). For the compositor to be able to update
focus (e.g. to focus the drop target) from the destroy handler, the
grabs must be released before the destroy event is signalled.
2020-06-30 11:11:52 +02:00
Kirill Chibisov
6c8f66ff59
xcursor: add xorg-x11 and cursors path to XCURSORPATH
...
This should match default XCURSORPATH, which is used by libwayland-cursor
and other xcursor loading libraries more closely.
2020-06-26 11:20:52 +02:00
Isaac Freund
a7f48aab69
xdg-decoration: free old configure structs
2020-06-25 10:33:58 +02:00
Isaac Freund
86e20f48c6
xdg-shell: handle serial wrapping overflow
2020-06-25 10:33:58 +02:00
Isaac Freund
b937c7b05e
layer-shell: handle serial wrapping overflow
2020-06-25 10:33:58 +02:00