Age | Commit message (Collapse) | Author |
|
|
|
Miscellaneous memory leak fixes
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
I failed to see this issue with Valgrind because of the +1.
|
|
|
|
|
|
Adds a modal property to indicate whether the surface wants to be a
modal.
|
|
backend/drm: emit new_output after scanning connectors
|
|
This prevents receiving modesetting requests from the compositor
while we don't have the whole picture (ie. while we haven't yet
scanned all connectors).
This also makes connectors without CRTCs disabled (they can't be
enabled yet even if some CRTCs are free'd -- this is future work).
|
|
backend/drm: allow disabling outputs in NEEDS_MODESET state
|
|
This correctly frees CRTCs when disabling outputs without setting
a mode.
|
|
Do not modeset disabled outputs
|
|
|
|
Fix uninitialized value in wlr_cursor.
|
|
|
|
add missing wlr_box.h include in wlr_screencopy_v1.h
|
|
|
|
|
|
A few pedantic changes and unused variables (1-4), and genuine bugs (5,
6).
The reports with the corresponding files and lines numbers are as
follows.
1. backend/libinput/tablet_pad.c@31,44,57
"Allocator sizeof operand mismatch"
"Result of 'calloc' is converted to a pointer of type 'unsigned int',
which is incompatible with sizeof operand type 'int'"
2. types/tablet_v2/wlr_tablet_v2_pad.c@371
"Allocator sizeof operand mismatch"
"Result of 'calloc' is converted to a pointer of type 'uint32_t', which
is incompatible with sizeof operand type 'int'"
3. types/wlr_cursor.c@335
"Dead initialization"
"Value stored to 'dx'/'dy' during its initialization is never read"
4. rootston/xdg_shell.c@510
"Dead initialization"
"Value stored to 'desktop' during its initialization is never read"
5. types/tablet_v2/wlr_tablet_v2_pad.c@475
"Dereference of null pointer"
"Access to field 'strips' results in a dereference of a null pointer
(loaded from field 'current_client')"
The boolean logic was incorrect (c.f. the check in the following
function).
6. examples/idle.c@163,174,182
"Uninitialized argument value"
"1st function call argument is an uninitialized value"
If close_timeout != 0, but simulate_activity_timeout >= close_timeout,
the program would segfault at pthread_cancel(t1).
|
|
Fixes examples/dmabuf-capture being built with unmet dependencies
|
|
Even if the libav* variables were disabler objects, the build targer
dmabuf-capture was being built. Modified the script to support a generic
solution.
|
|
It doesn't look like there's any motion on a fix from the AMDGPU side,
and using the legacy interface for this isn't so bad.
|
|
rootston/surface_layers: fix clicking after surface moved
|
|
Init the new destroy signals added by #1200
|
|
|
|
Add destroy signals to types that are destroyed by wl_display_destroy
|
|
|
|
introduce wlr_output_layout_farthest_output
|
|
Similar to wlr_output_layout_adjacent_output but will return the
one that is the farthest away from the reference in given direction.
|
|
|
|
Fix meson changes
|
|
This fixes building wlroots as a subproject.
|
|
This reverts commit 9c886f20b97b6ab1ac85b849f1fe7f16eb199ff0.
|
|
This breaks wlroots when used as a meson subproject.
This reverts commit dea311992eb4ff3e343c3cf5b0603034223d2a42, reversing
changes made to 6db9c4b74667c1d917d720f5e96985a2461569fb.
|
|
Build system changes
|
|
Layer surfaces are not notified of cursor position changes if the surface moves, only if the cursor moves. This workaround emits a cursor position event every time a cursor ends up over a newly resized layer surface to make sure the following clicks land in the right place.
This change doesn't address sending leave events when a cursor previously present over the surface becomes away.
There are 2 separate mechanisms in play, because a layer surface gets resized in 2 steps:
1. Layer surface resize & rearrange.
2. Underlying surface resize.
The first step may affect all layer surfaces. The cursor events are sent to cursors placed over all layer surfaces which have moved (not been resized). The second step affects any layer surface whose surface changed size. The cursor event is sent only to that surface.
Together, these events cover all surfaces: those which moves, and those which changed size, as long as each layer surface resize is accompanied by an immediate surface resize.
|
|
This stops the protocol header constantly being regenerated for every
target using them.
|
|
This is so we can potentially add comments to it, and so if a user looks
at the installed header, they can see the /* #undef WLR_HAS_FEATURE */
line to see every option, even if not available.
|
|
This is so that log messages are printed properly when wlroots is build
as a subproject.
|
|
|
|
|
|
After destroying a keyboard input device, seat's listeners could still be pointing to destroyed wlr_input_device signals. This patch makes sure the references are removed while the input device is being destroyed.
|
|
|