aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2020-07-31drm: fix uninitialized readDevin J. Pohly
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-30xwayland: do not allow apps to change focus after wlroots requestIlia Bozhinov
2020-07-28render/gles2: remove gles2_procsSimon Ser
Move the global into wlr_gles2_renderer. This removes global state and allows us to have multiple renderers with different GL loaders.
2020-07-28render/gles2: make push/pop debug functions take a wlr_rendererSimon Ser
2020-07-28render/gles2: keep ref to wlr_gles2_renderer in wlr_gles2_textureSimon Ser
2020-07-28render/gles2: make wlr_gles2_texture_from_* privateSimon Ser
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-28examples: remove unnecessary gles2.h importsRouven Czerwinski
2020-07-27xwm: Set _NET_WM_STATE_FOCUSED property for the focused surfaceScott Moreau
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-27xwayland: free server in error pathAntonin Décimo
2020-07-27Fix incorrect format parametersAntonin Décimo
2020-07-27virtual_pointer: remember current axis for axis eventsRonan Pigott
2020-07-22xwayland/xwm: use initializer for props in xsurface_set_wm_stateSimon Ser
This avoids uninitialized items and makes it clear where the magic number 2 is coming from.
2020-07-22xwayland/xwm: add prop count assert in xsurface_set_net_wm_stateSimon Ser
This helps mitigate buffer overflows.
2020-07-22xwayland/xwm: don't insert surface in list on errorSimon Ser
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-21Fix typosAntonin Décimo
2020-07-21xwm: add support for xwayland minimizeTobias Langendorf
2020-07-16Update version to 0.11.0Simon Ser
2020-07-15input/pointer: add wlr_seat_pointer_wrapTudor Brindus
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-14render: egl: Use current display to restore NULL contextAndri Yngvason
eglGetCurrentDisplay() returns EGL_NO_DISPLAY when there is no context current and eglMakeCurrent() needs a display argument. Fixes #2327
2020-07-08examples/input-method-keyboard-grab: new examplexdavidwu
2020-07-08input-method: implement keyboard grabsxdavidwu
2020-07-08virtual-keyboard: add wlr_input_device_get_virtual_keyboardxdavidwu
2020-07-07backend/drm: check drm_surface_make_current return valueSimon Ser
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-07backend/drm: fix typo in drm_surface_make_current argSimon Ser
2020-07-07layer-shell: remove unused surface listIsaac Freund
This was rendered useless in 5cde359.
2020-07-06examples: fix improper use of `free`j-n-f
Closes #2303
2020-07-04xdg-shell: check for existing role before setting xdg_popup_surface_roleGreg V
Hopefully fixes #2056
2020-07-03xwm: end transfers when the requestor is destroyedJohn Chadwick
This improves the failure cases when incremental transfers fail to complete successfully for one reason or another.
2020-07-02backend/drm: fix DPMS on legacy interfaceSimon Ser
This mirrors what the atomic code does in create_mode_blob. Closes: https://github.com/swaywm/wlroots/issues/2312
2020-07-01examples: screencopy-dmabuf: Fix y-inversionAndri Yngvason
2020-07-01screencopy: Use correct dmabuf to get y-inversion flagAndri Yngvason
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-01render: gles2: Fix y-inversion in gles2_blit_dmabuf()Andri Yngvason
2020-06-30xwm: Destroy xwm on hangup or errorScott Moreau
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-30xwayland: Don't discard ready signalsScott Moreau
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-30output: add backend docsSimon Ser
2020-06-30layer-shell: upgrade to v3, implement destructorIsaac Freund
2020-06-30wlr_drag: Destroy drag after releasing grabsKenny Levinsen
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-26xcursor: add xorg-x11 and cursors path to XCURSORPATHKirill Chibisov
This should match default XCURSORPATH, which is used by libwayland-cursor and other xcursor loading libraries more closely.
2020-06-25xdg-decoration: free old configure structsIsaac Freund
2020-06-25xdg-shell: handle serial wrapping overflowIsaac Freund
2020-06-25layer-shell: handle serial wrapping overflowIsaac Freund
2020-06-24render/gles2: use glGetAttribLocation instead of hardcoded indicesSimon Zeni
2020-06-20examples/pointer: fix wlr_renderer_end call orderSimon Ser
Calling wlr_renderer_end after wlr_output_commit would make an assertion fail.
2020-06-19backend/noop: add missing rollback_render output implSimon Ser
3c5dbfd97c77 ("output: make rollback_render mandatory") makes a no-op output init fail without this function.
2020-06-19output: fix dangling renderer context after wlr_output_preferred_read_formatSimon Ser
attach_render was called without un-setting the current rendering context afterwards. Closes: https://github.com/swaywm/wlroots/issues/2164
2020-06-19output: make rollback_render mandatorySimon Ser
If the output backend provides attach_render, assert it also provides a way to revert it via rollback_render.
2020-06-19output: rename impl->rollback to rollback_renderSimon Ser
The output backend API is now mostly state-less thanks to the atomic hooks (commit and test). There is one exception though: attach_render. This function makes the rendering context current. However sometimes the compositor might decide not to render after attach_render (e.g. when there's nothing new to render to the back buffer). Thus wlr_output_rollback has been introduced to revert the pending state. Because the output backend API is mostly state-less, the only thing wlr_output_impl.rollback needs to do is revert the current rendering context. Rename the function to rollback_render to make this clear. Add a check in the common wlr_output code to only call rollback_render when attach_buffer has been previously called. On the long term, we'll be able to remove attach_render and rollback_render together.
2020-06-18render/egl: print error nameSimon Ser
Allows for easier debugging.
2020-06-18surface: ignore viewport src rect on NULL bufferSimon Ser
According to the viewporter protocol: > If the wl_buffer is NULL, the surface has no content and therefore no size.
2020-06-18surface: don't unset width and height in finalizeRouven Czerwinski
During surface finalization we may not have received a new buffer, resetting width and height in this case is wrong since we display the old buffer in this case.