Daniel De Graaf
c236f60bb6
wlr_virtual_keyboard: fix fd leak
4 years ago
Ryan Walklin
7e990a2991
Don't set XDG_SESSION_TYPE unless logind SetType succeeds
4 years ago
Ryan Walklin
e81d2086c0
Also set XDG_SESSION_TYPE
4 years ago
Ryan Walklin
f0d03fb892
Implement logind session SetType method to change session type to wayland
4 years ago
Simon Ser
30226eb1fb
gamma-control-v1: fix use-after-free in gamma_control_handle_set_gamma
...
gamma_control_send_failed destroys gamma_control.
4 years ago
Ilia Bozhinov
0032954c75
make sure to fail setting gamma on disabled outputs
4 years ago
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.)
4 years ago
Ilia Bozhinov
74f7be7287
xwayland: do not allow apps to change focus after wlroots request
4 years ago
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.
4 years ago
Simon Ser
62da61716f
render/gles2: make push/pop debug functions take a wlr_renderer
4 years ago
Simon Ser
e8872d9ed7
render/gles2: keep ref to wlr_gles2_renderer in wlr_gles2_texture
4 years ago
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
4 years ago
Rouven Czerwinski
c32d89ee3e
examples: remove unnecessary gles2.h imports
4 years ago
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.
4 years ago
Antonin Décimo
1ae2d976c0
xwayland: free server in error path
4 years ago
Antonin Décimo
d9bb792794
Fix incorrect format parameters
4 years ago
Ronan Pigott
39fd2335bf
virtual_pointer: remember current axis for axis events
4 years ago
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.
4 years ago
Simon Ser
13f35139d3
xwayland/xwm: add prop count assert in xsurface_set_net_wm_state
...
This helps mitigate buffer overflows.
4 years ago
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
4 years ago
Antonin Décimo
9686895b4e
Fix typos
4 years ago
Tobias Langendorf
bd387da62d
xwm: add support for xwayland minimize
4 years ago
Simon Ser
751a21d94f
Update version to 0.11.0
4 years ago
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
4 years ago
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
4 years ago
xdavidwu
842df2bd6c
examples/input-method-keyboard-grab: new example
4 years ago
xdavidwu
595f324f8b
input-method: implement keyboard grabs
4 years ago
xdavidwu
61e2ebac90
virtual-keyboard: add wlr_input_device_get_virtual_keyboard
4 years ago
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).
4 years ago
Simon Ser
cccca368c5
backend/drm: fix typo in drm_surface_make_current arg
4 years ago
Isaac Freund
92c85858a9
layer-shell: remove unused surface list
...
This was rendered useless in 5cde359
.
4 years ago
j-n-f
b61a98c417
examples: fix improper use of `free`
...
Closes #2303
4 years ago
Greg V
b2bd536308
xdg-shell: check for existing role before setting xdg_popup_surface_role
...
Hopefully fixes #2056
4 years ago
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.
4 years ago
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
4 years ago
Andri Yngvason
a54ed85881
examples: screencopy-dmabuf: Fix y-inversion
4 years ago
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.
4 years ago
Andri Yngvason
e05a85327f
render: gles2: Fix y-inversion in gles2_blit_dmabuf()
4 years ago
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.
4 years ago
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."
4 years ago
Simon Ser
c611a8f7e7
output: add backend docs
4 years ago
Isaac Freund
45c0877e34
layer-shell: upgrade to v3, implement destructor
4 years ago
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.
4 years ago
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.
4 years ago
Isaac Freund
a7f48aab69
xdg-decoration: free old configure structs
4 years ago
Isaac Freund
86e20f48c6
xdg-shell: handle serial wrapping overflow
4 years ago
Isaac Freund
b937c7b05e
layer-shell: handle serial wrapping overflow
4 years ago
Simon Zeni
4a4da256dd
render/gles2: use glGetAttribLocation instead of hardcoded indices
4 years ago
Simon Ser
d5530b26d7
examples/pointer: fix wlr_renderer_end call order
...
Calling wlr_renderer_end after wlr_output_commit would make an
assertion fail.
4 years ago
Simon Ser
c930160286
backend/noop: add missing rollback_render output impl
...
3c5dbfd97c
("output: make rollback_render mandatory") makes a no-op
output init fail without this function.
4 years ago