Age | Commit message (Collapse) | Author |
|
The original signal matching was using the old interface before
sd_bus_match_signal was added, which the new code uses.
Change them all to use it now.
|
|
|
|
Makes use of the present extension to get notified of vsync, and not
require any stupid timer hacks. Also make use of the present version of
ConfigureNotify, because why not?
|
|
See swaywm/sway#4660
|
|
Makes it easier to figure out when the compositor submits an invalid
output state.
References: https://github.com/swaywm/sway/pull/4673
|
|
Use the CVT algorithm to create a drmModeModeInfo.
|
|
On some Intel cards using modifiers can fill the FIFO and prevent
hotplugged outputs from being properly enabled.
Add a fallback without modifiers.
Fixes: 2bdd1d0896cc ("backend/drm: use modifiers for our GBM buffers")
References: https://github.com/swaywm/wlroots/issues/1840
Closes: https://github.com/swaywm/wlroots/issues/1852
|
|
|
|
We need to destroy the gbm_bo we imported and drmModeRmFb.
Closes: https://github.com/swaywm/sway/issues/4662
|
|
|
|
|
|
This allows synchronisation between different instances of commit/precommit
callbacks.
|
|
eglext.h no longer inludes eglmesaext.h, include it within wlroots
explicitly.
Fixes #1862
|
|
Fixes this warning:
../protocol/wlr-layer-shell-unstable-v1.xml:241: warning: since version not increasing
|
|
|
|
When a texture is destroyed between wlr_egl_make_current and
wlr_egl_swap_buffers, it resets the current EGL surface to NULL. This
makes wlr_egl_swap_buffers fail.
If the EGL context is already current, there's no need to reset it.
|
|
Closes: https://github.com/swaywm/wlroots/issues/1830
|
|
|
|
Define both MESA_EGL_NO_X11_HEADERS and EGL_NO_X11 for
backward combatibility.
|
|
|
|
If box->width/height is <= 0, the box doesn't contain any points, and so
there is no closest point. wlr_box_closest_point should return NAN in this
case.
In addition, we need to handle empty boxes in a few other
output-layout-related places, because outputs can have size 0x0 when
they are created or destroyed.
|
|
|
|
|
|
Without this information, compositors have no way to tell whether
or not to consider the position information valid. Most notably,
a compositor needs to know if it should pick a position for the
surface or use the position sent in the configure request.
|
|
|
|
|
|
* Fixes crash of compositor when unvalidated keycode 0 is passed from virtual keyboard
* Style fix
|
|
GBM_BO_IMPORT_FD_MODIFIER doesn't accept the INVALID modifier.
|
|
Mostly address feedback from emersion on PR #1694
Remove const qualifier from char *name, to allow free() call
|
|
This allows wlroots based compositors to properly use graphic tablets
with the wayland backend.
This should be a decent quality of life improvement when working on
tablet related features.
|
|
|
|
|
|
|
|
xdg-output version 3 requires to send wl_output.done
"after all xdg_output properties have been sent when the object is created"
|
|
|
|
Since e26217c51e3a5e1d7dfc95a8a76299e056497981, touchpoints can outlive
surfaces. This works fine as long as the client stays around, but fails
horribly otherwise; therefore we have to make sure that touchpoints don't
outlive their clients.
Fixes #1788
|
|
When the surface is closed, we destroy all pending serials waiting to be
accepted. This means we need to ignore any future ack events, because we
can have the following events:
1. -> configure()
2. -> close()
3. <- ack_configure()
At point 3, wlroots will error the client because of invalid serial,
however the client hasn't processed close() yet.
|
|
Instead of checking that the path property is not 0 to determine if the
connector is an MST connector, check if the path contains the mst:
string.
Fixes #1813
|
|
|
|
|
|
|
|
grabbing surfaces"
This reverts commit 52037d13f7617bef8e0f2566cb4609646cf8cd8f.
Fixes #1801
|
|
This destroys the xdg popups associated with a layer surface when the
layer surface is unmapped. It does not make sense to keep the popups
open when unmapped.
|
|
All instances of libinput_event_touch_get_slot need to be converted to
libinput_event_touch_get_seat_slot for things to work.
|
|
libinput_event_touch_get_slot always returns -1 for single touch devices. Using
libinput_event_touch_get_seat_slot instead ensures that they are assigned actual
slot ids.
Also, this is what Weston does, so this change yields a more consistent
behaviour between different compositors.
|
|
From the xdg-shell specification:
If the parent is unmapped then its children are managed as
though the parent of the now-unmapped parent has become the
parent of this surface. If no parent exists for the now-unmapped
parent then the children are managed as though they have no
parent surface.
|
|
The loop populating the format list was exiting early if ARGB8888 was found.
|
|
This reverts commit c1be9b6945f9c664fe694a09620758db9ca695e9.
|
|
|
|
|