Commit graph

2620 commits

Author SHA1 Message Date
Genki Sky
32013abae6 rootston: xdg-shell*: Fix get_size() for newly-mapped views
The user-visible issue is that newly-mapped xdg-shell* windows would
sometimes start with their top-left-corner, rather than their center, in
the center of the screen. This is because get_size() would
conservatively fall back on (width, height) == (0, 0) if both
set_window_geometry() had not been called, and it found
view->wlr_surface to be NULL.

But, view->wlr_surface is only set to non-NULL in view_map(). We call
get_size() before this. Fortunately, the wlr_surface in question is
accessible via view->xdg_shell{,_v6}->surface, so always fall back on
that. We can assert its presence instead of further falling back on
(width, height) == (0, 0).

Signed-off-by: Genki Sky <sky@genki.is>
2018-05-30 20:21:19 -04:00
Genki Sky
d1cf9acbd5 cleanup: Use void for zero-parameter functions
Signed-off-by: Genki Sky <sky@genki.is>
2018-05-30 20:19:16 -04:00
emersion
41e53d1499
Merge pull request #1019 from emersion/virtual-keyboard-destroy
virtual-keyboard: fix wlr_virtual_keyboard_manager_v1_destroy
2018-05-30 13:51:34 +01:00
Drew DeVault
5d8e387021
Merge pull request #1015 from emersion/dmabuf-single-modifier
Only allow one modifier per DMA-BUF, split attributes struct in render/
2018-05-30 08:39:45 -04:00
emersion
28020ff577
Only allow one modifier per DMA-BUF, split attributes struct in render/ 2018-05-30 09:29:12 +01:00
emersion
f580112dca
virtual-keyboard: fix wlr_virtual_keyboard_manager_v1_destroy 2018-05-30 09:25:46 +01:00
emersion
8c9d0f15ce
Merge pull request #1017 from tobiasblass/examples_rotation_fix_doublefree
Fix double-free in the rotation.c example.
2018-05-30 08:36:10 +01:00
emersion
0c1f50168b
examples/output-layout: destroy wl_display
Thanks @tobiasblass for pointing this out. See #1017.
2018-05-30 08:34:49 +01:00
Tobias Blass
a21894a844 Fix double-free in the tablet.c and touch.c examples
The wl_display_destroy function already destroys the backend's renderer.
Freeing it by hand causes a segmentation fault.
2018-05-30 08:24:25 +02:00
Drew DeVault
f076cc45ee
Merge pull request #1016 from emersion/wl-display-destroy-clients
rootston: use wl_display_destroy_clients
2018-05-29 20:24:24 -04:00
Tobias Blass
75f9feb6de Fix double-free in the rotation.c example.
The wl_display_destroy function already destroys the backend's renderer.
Freeing it by hand causes a segmentation fault.
2018-05-30 01:12:34 +02:00
emersion
f9ad63c5cb
rootston: use wl_display_destroy_clients 2018-05-29 22:50:26 +01:00
emersion
87fe9f3466
Merge pull request #1014 from RyanDwyer/fix-wlr-box-contains-point
Fix wlr_box_contains_point comparison
2018-05-29 19:03:29 +01:00
emersion
e1f56538a8
Merge pull request #999 from dcz-purism/virtual-keyboard
Support virtual keyboard protocol
2018-05-29 18:22:44 +01:00
Ryan Dwyer
f8a831859f Fix wlr_box_contains_point comparison 2018-05-29 23:05:01 +10:00
emersion
3444f43c16
Merge pull request #1012 from acrisci/doc-map-unmap
document the map/unmap xdg-shell events
2018-05-28 20:27:55 +01:00
Tony Crisci
044fa52be4 reword new_surface docs 2018-05-28 13:12:53 -04:00
Tony Crisci
c27cd5f065 document the map/unmap xdg-shell events 2018-05-28 11:16:33 -04:00
Dorota Czaplejewicz
5334ee8bfd virtual-keyboard: add support for the virtual-keyboard-v1 protocol 2018-05-28 10:05:55 +02:00
Drew DeVault
f95bd1facf
Merge pull request #1007 from emersion/xdg-toplevel-tiled
xdg-shell: add wlr_xdg_toplevel_set_tiled
2018-05-27 08:58:05 -04:00
emersion
47f097e09b
xdg-shell: add wlr_xdg_toplevel_set_tiled 2018-05-27 13:38:06 +01:00
Drew DeVault
ebc8004c8c
Merge pull request #1006 from emersion/drm-logs
backend/drm: better connector cleanup, add more logs
2018-05-27 08:37:46 -04:00
emersion
79683ee497
backend/drm: better connector cleanup, add more logs 2018-05-27 13:21:41 +01:00
Drew DeVault
b597f5e380
Merge pull request #1004 from emersion/surface-buffer-send-release
surface: remove wl_resource_post_event
2018-05-26 15:57:28 -04:00
emersion
da504f9253
surface: remove wl_resource_post_event 2018-05-26 19:43:55 +01:00
emersion
4dfcbcf5dd
Merge pull request #1003 from acrisci/document-keyboard-events
document key and modifier signals
2018-05-26 19:12:50 +01:00
Tony Crisci
9971d06afb document key and modifier signals 2018-05-26 11:32:45 -04:00
emersion
0eec0c7303
Merge pull request #1001 from ammen99/xterm-fix
xwm: set the proper event mask in client messages
2018-05-26 08:19:52 +01:00
Ilia Bozhinov
5dd1a838f3 xwm: set the proper event mask in client messages
Fixes #927
2018-05-26 10:08:20 +03:00
emersion
6eb4b5b54d
Merge pull request #993 from emersion/bind-wl-drm-in-renderer
render: bind wl_drm in renderer
2018-05-25 13:54:16 +01:00
Drew DeVault
35b31dcfb7
Merge pull request #1000 from ammen99/custom-renderer-initialization
[RFC] backends: implement custom EGL and renderer initialization
2018-05-25 08:38:44 -04:00
Ilia Bozhinov
24cf70ae96 backends: implement custom EGL and renderer initialization
Compositors now have more control over how the backend creates its
renderer. Currently all backends create an EGL/GLES2 renderer, so
the necessary attributes for creating the context are passed to a
user-provided callback function. It is responsible for initializing
provided wlr_egl and to return a renderer. On fail, return 0.

Fixes #987
2018-05-25 14:56:52 +03:00
Drew DeVault
a0eb37e2ea
Merge pull request #997 from dcz-purism/master
Ignore clicks on un-focuseable things.
2018-05-24 10:30:15 -04:00
Dorota Czaplejewicz
a94c56a828 rootston: Keep focus unchanged when non-focusable element clicked
Before this change, a view would lose focus after clicking something that's not keyboard-interactive. This would lead to edge cases with layer-shell windows like input methods, which are pointer-only-interactive, but are not intended to change the state of any focus.
2018-05-24 16:10:29 +02:00
Dorota Czaplejewicz
fa13493ad5 rootston: Disable keyboard focus on inactive views
After clicking on something non-interactive, the current view was getting deactivated, but still received keyboard events. roots_seat_set_focus now changes both together in this case.
2018-05-24 16:05:12 +02:00
emersion
0ab37db543
Merge pull request #994 from agreppin/master
fix server error on exit: eglMakeCurrent Invalid display
2018-05-23 15:30:11 +01:00
agr
4e89e0fc6c fix server exit: eglMakeCurrent Invalid display 2018-05-23 16:17:29 +02:00
emersion
41130fe54b
render: bind wl_drm in renderer 2018-05-21 19:07:08 +01:00
Drew DeVault
341af97125
Merge pull request #978 from emersion/wlr-backend-env
backend: add WLR_BACKEND env variable
2018-05-20 16:21:02 -04:00
emersion
327aa7f49d
Merge pull request #990 from emersion/fullscreen-clear-alpha
output: correctly clear screen when fullscreened
2018-05-20 13:52:14 +01:00
emersion
e849a68e6e
output: correctly clear screen when fullscreened 2018-05-20 13:44:18 +01:00
emersion
8585533a78
Merge pull request #989 from ascent12/unused_arg
Remove unused argument
2018-05-19 13:01:50 +01:00
Scott Anderson
1a3921d4d4 Remove unused argument 2018-05-19 23:39:51 +12:00
emersion
9e3dd6b560
backend/wayland: fix segfault when destroying backend before starting it 2018-05-19 09:34:16 +01:00
emersion
75b10cd621
backend: support creating DRM and libinput via WLR_BACKENDS 2018-05-19 09:32:08 +01:00
emersion
b547279625
Merge pull request #986 from ammen99/master
gles2: pre-multiply alpha and fix blending function
2018-05-19 09:21:35 +01:00
emersion
007d83c6ee
backend: allow multiple backends in WLR_BACKENDS 2018-05-19 09:09:03 +01:00
emersion
52bd8aa716
backend/multi: disallow multiple renderers at the same time 2018-05-19 09:09:03 +01:00
emersion
a1631dd9ee
backend: add WLR_BACKEND env variable 2018-05-19 09:08:59 +01:00
Ilia Bozhinov
47ffd0e184 gles2: pre-multiply alpha and fix blending function 2018-05-18 20:34:36 +03:00