Drew DeVault
fecb971518
Merge pull request #902 from emersion/various-memory-leaks
...
Various memory leaks
2018-04-26 11:34:49 +02:00
emersion
449f06556a
Destroy wlr_surface with wlr_renderer
2018-04-26 00:11:36 +01:00
emersion
d47713ac0f
compositor: destroy subsurface resources with wlr_subcompositor
2018-04-25 23:53:44 +01:00
emersion
89a9c96fab
compositor: make wlr_compositor_destroy destroy resources
2018-04-25 23:53:44 +01:00
emersion
625a7a48dc
Don't use the wlr_ prefix for static functions
2018-04-25 23:51:00 +01:00
emersion
b0d99f5c67
Remove wlr_ prefix from local symbols
2018-04-25 23:00:46 +01:00
emersion
8e2f3056f8
layer-shell: fix small memory leak
2018-04-24 22:40:48 +01:00
emersion
bc0bfde5ee
cursor: allow to call wlr_cursor_wrap_absolute with zero
2018-04-24 19:46:29 +01:00
emersion
38064f1d18
Fix protocol error when a client destroys and re-creates a subsurface
2018-04-23 21:50:15 +01:00
Drew DeVault
941f88ce23
Fix popup positioning & double popups
2018-04-23 11:24:06 +02:00
Drew DeVault
52baf3dd8a
Move get_geometry call back to xdg-shell
2018-04-23 11:24:06 +02:00
Drew DeVault
0a0627f5d0
Finish forward-porting @acrisci's positioner work
2018-04-23 11:24:06 +02:00
Drew DeVault
2e3d901ac5
Forward-port xdg-shell-v6 positioner improvements
2018-04-23 11:24:06 +02:00
Drew DeVault
278aa84619
Basic layer popup rendering
2018-04-23 11:24:06 +02:00
Drew DeVault
d3cdb00208
Add (shitty) support for popups to layer example
2018-04-23 11:24:06 +02:00
Drew DeVault
6b7b64ec1e
Generalize xdg-shell popups and add to layer-shell
2018-04-23 11:22:23 +02:00
Drew DeVault
625bc7b8b3
assert(surface->output); after new_surface emit
2018-04-23 10:45:48 +02:00
Drew DeVault
177b548b15
Update layer shell with optional wl_output
2018-04-22 18:57:45 +02:00
emersion
3bce5dfc9f
Fix segfaults in wlr_surface_is_*
2018-04-21 19:04:48 +01:00
emersion
bfcd3f3707
Add wlr_subcompositor
2018-04-21 19:02:39 +01:00
emersion
fa84b267e0
Remove wlr_surface::subsurface
2018-04-21 18:40:25 +01:00
Markus Ongyerth
c8ccb1bef3
reorder xkb state handling in wlr_keyboard
...
wlr_keyboard manages the xkb-common state of the compositor.
It used to update the state, update the modifiers, then notify the
compositor.
When [Shift_L] was pressed and released, this resulted in an event chain:
Modifiers: Shift
Key: Shift_L (Pressed)
Modifiers:
Key: Shift_L (Release)
The xkb-docs state that the state should be updated *after* the key was
handled [1], to prevent the new state from influencing the actual key
generated.
To achieve this, the event to the compositor is emitted, *before*
wlroots handles the xkb and internal keyboard state.
With this patch applied, the emitted events ill be:
Modifiers:
Key: Shift_L (Pressed)
Modifiers: Shift
Key: Shift_L (Release)
[1] https://xkbcommon.org/doc/current/group__state.html#gac554aa20743a621692c1a744a05e06ce
2018-04-18 11:54:59 +02:00
emersion
94fa6c88f4
output: don't emit the mode event if it hasn't changed
...
This also fixes #535 .
2018-04-18 00:15:25 +01:00
emersion
1b802d9251
Make wlr_renderer_scissor take normal coords instead of upside-down ones
2018-04-12 19:38:33 -04:00
Drew DeVault
8f4039d799
Merge pull request #861 from emersion/fix-output-transform-compose
...
Fix wlr_output_transform_compose
2018-04-12 19:27:57 -04:00
emersion
31c8bdc277
Fix wlr_output_transform_compose
2018-04-12 19:05:05 -04:00
emersion
fa0be972bb
Fix wlr_xdg_surface_surface_at for popups
2018-04-12 17:17:32 -04:00
Drew DeVault
bef5c1fd56
Merge pull request #850 from emersion/remove-backend-egl
...
backend: remove wlr_backend_get_egl
2018-04-08 11:21:21 -04:00
emersion
d2ebbd103c
backend: remove wlr_backend_get_egl
2018-04-08 11:00:56 -04:00
Drew DeVault
bf68854a38
Fix destruction of popups without grabs
...
Fixes #846
2018-04-07 12:21:21 -04:00
Drew DeVault
ae4cef9e41
Merge pull request #825 from emersion/surface-iterators
...
Add surface iterators
2018-04-05 23:06:29 -04:00
Drew DeVault
ec0ce8ae1c
Fix sending updates to xdg-output resources
...
Fixes #836
2018-04-05 18:22:48 -04:00
Drew DeVault
6710de9878
Merge branch 'master' into xwayland-dnd
2018-04-05 15:04:49 -04:00
emersion
4a9a9eae9a
Add surface iterators
2018-04-05 14:18:17 -04:00
emersion
19b576734e
Merge pull request #834 from emersion/surface-is-subsurface
...
Add wlr_surface_is_subsurface and wlr_subsurface_from_surface
2018-04-05 14:16:45 -04:00
emersion
aced024819
Add wlr_surface_is_subsurface and wlr_subsurface_from_surface
2018-04-05 14:00:53 -04:00
Drew DeVault
abfe7923c4
Add wlr_xdg_output_manager
2018-04-05 12:40:30 -04:00
emersion
3ea425d4e2
Fix xdg-shell popups, add wlr_xdg_surface_surface_at
2018-04-04 17:45:24 -04:00
emersion
c9d21106b4
Add wlr_xdg_surface_v6_surface_at and wlr_wl_shell_surface_surface_at
2018-04-04 17:42:16 -04:00
emersion
1a8b24bdd2
rootston: fix view_at
2018-04-04 17:16:35 -04:00
emersion
d16127b3cb
Fix wlr_surface_subsurface_at, change it to be wlr_surface_surface_at
2018-04-04 16:48:23 -04:00
Drew DeVault
36e94b2a8e
Actually fix input inhibitor destructor
2018-04-03 16:58:06 -04:00
Drew DeVault
1fa3ca3152
Revert "Add destructor to inhibitor"
...
This breaks shit
This reverts commit 657d2c9a69
.
2018-04-03 16:41:01 -04:00
Drew DeVault
657d2c9a69
Add destructor to inhibitor
2018-04-03 16:01:30 -04:00
Drew DeVault
ef4e833f13
Add wlr_input_inhibitor
2018-04-03 14:06:52 -04:00
emersion
58ac05c276
Merge branch 'master' into xwayland-dnd
2018-04-03 10:38:46 -04:00
Drew DeVault
333ab59902
Add wlr_surface_is_*_surface
...
And wlr_*_surface_from_wlr_surface
2018-04-02 20:42:02 -04:00
emersion
8836b4f024
Merge branch 'master' into xwayland-dnd
2018-04-02 15:57:04 -04:00
Tony Crisci
5a47da1ea6
annotate wlr-output-layout coord variables
2018-04-01 00:17:27 -04:00
Drew DeVault
1778818a50
Don't destroying all layer surfaces on client d/c
2018-03-31 00:22:09 -04:00
Drew DeVault
e19ee6d469
Add wlr_surface_point_accepts_input
...
Ref https://github.com/swaywm/sway/pull/1674
2018-03-30 23:02:11 -04:00
emersion
6bbf507082
surface: fix texture not updated on commit
...
When a client attaches a wl_drm or a linux_dmabuf buffer, we only
update it if the size is different from the one of the old buffer.
This means that if the client attaches a new, updated buffer with
the same size as the old buffer, the texture won't get updated.
This commit changes this behavior and re-creates the texture if
the client attaches a new buffer, without requiring the size to be
different.
2018-03-29 19:44:57 -04:00
emersion
d5f46f4db4
data-device: redesign wlr_data_source
2018-03-29 17:53:13 -04:00
Drew DeVault
4137d9fc80
Destroy layer surfaces on client destroyed
2018-03-29 16:30:09 -04:00
emersion
743466d475
data-device: add seat.drag_source
2018-03-29 11:33:40 -04:00
emersion
a316396eab
Merge pull request #720 from acrisci/xdg-positioner
...
xdg-positioner
2018-03-29 01:02:40 -04:00
Tony Crisci
2e63d1a0ca
toplevel_box to toplevel_sx_box
2018-03-28 23:24:39 -04:00
Tony Crisci
cf13a6d9c6
address toplevel coords issue
2018-03-28 20:09:20 -04:00
Tony Crisci
967bccffcd
remove xdg-positioner wlr wrappers
2018-03-28 19:42:17 -04:00
Tony Crisci
8b967fc573
bug: dont slide over too far
2018-03-28 19:00:49 -04:00
Tony Crisci
bf5ae85683
return early when no dest_x/y in output layout closest point
2018-03-28 18:40:55 -04:00
Tony Crisci
bd828e23de
dont allocate xdg-positioner attrs
2018-03-28 18:33:21 -04:00
Tony Crisci
376d1cc0da
rename xdg-positioner structs
2018-03-28 18:30:38 -04:00
emersion
3effe153bc
xwayland: make wayland → xwayland work
2018-03-28 17:32:52 -04:00
Tony Crisci
4ab88a5330
xdg-positioner bugfix
2018-03-28 17:04:55 -04:00
Tony Crisci
0bfcce50a9
xdg-positioner: honor constraint flags
2018-03-28 16:55:16 -04:00
Tony Crisci
dbffda7549
xdg-positioner wlr abstractions
2018-03-28 16:27:08 -04:00
emersion
2a34b154e6
xwayland: send DND_DROP
2018-03-28 15:33:23 -04:00
emersion
73394deb76
xwayland: send DND_POSITION
2018-03-28 14:16:14 -04:00
emersion
0d7a81ccdf
xwayland: send DND_ENTER
2018-03-28 12:59:11 -04:00
Drew DeVault
324b9d910d
Remove width_mm from wlr_touch events
2018-03-28 11:04:40 -04:00
Drew DeVault
a35a5786b0
Remove width_mm from wlr_pointer events
2018-03-28 10:46:50 -04:00
Tony Crisci
41e54ba632
Merge branch 'master' into xdg-positioner
2018-03-28 00:20:39 -04:00
Tony Crisci
330ee08126
Merge pull request #744 from emersion/texture-redesign
...
Redesign wlr_texture
2018-03-28 00:14:57 -04:00
Drew DeVault
7d89e7e58d
Assign layer surface role
2018-03-27 23:08:41 -04:00
Drew DeVault
96a8df2f9a
Fix ack configure/configure flow
...
Prevents FOUC/improves frame perfect rendering goal
2018-03-27 22:50:55 -04:00
Drew DeVault
52fe2688ea
Address @emersion's feedback
2018-03-27 18:51:41 -04:00
Drew DeVault
e841e5602b
Address @emersion's feedback
2018-03-27 18:50:32 -04:00
Drew DeVault
86ca4bea6d
Fix layer rendering/layout bugs
2018-03-27 18:50:32 -04:00
Drew DeVault
d1c0e6fe2c
Add layer_surface.close
2018-03-27 18:50:32 -04:00
Drew DeVault
4bf936360d
Arrange & render layer surfaces
2018-03-27 18:50:09 -04:00
Drew DeVault
fcf8c6c8a2
Fix issues preventing layer from getting allocated
...
Now all of the steps to get rootston a reference to the layer surface
are correctly wired up.
2018-03-27 18:50:09 -04:00
Drew DeVault
88eec637a4
Address feedback
2018-03-27 18:50:09 -04:00
Drew DeVault
1628730b09
Add wlr_layer_surface_configure
2018-03-27 18:50:09 -04:00
Drew DeVault
4a8c0c0784
Destroy layer surfaces when client is destroyed
2018-03-27 18:50:09 -04:00
Drew DeVault
b06105b564
Implement layer surface requests
2018-03-27 18:50:09 -04:00
Drew DeVault
3ba57fccd1
Wire up layer surface resources to stubs
2018-03-27 18:50:09 -04:00
Drew DeVault
f29d8b55ae
Initial scaffolding of layer shell
2018-03-27 18:50:09 -04:00
Tony Crisci
8371e2f41d
implement flip_x
2018-03-27 14:49:31 -04:00
emersion
171e28eaff
xdg-shell: don't destroy role resources on unmap, move toplevel fields
...
Ports 5233801530
and
334bab543d
to xdg-shell stable.
2018-03-27 10:25:02 -04:00
Tony Crisci
bbd0e23fa7
xdg-positioner constraint detection
2018-03-26 23:48:32 -04:00
emersion
334bab543d
xdg-shell-v6: move toplevel specific fields in wlr_xdg_toplevel_v6
2018-03-26 19:32:21 -04:00
emersion
adf4fb08dd
Merge branch 'master' into texture-redesign
2018-03-26 19:13:13 -04:00
emersion
5233801530
xdg-shell-v6: don't destroy role resources on unmap
...
The motivation for this is:
- `get_popup` and `get_toplevel` allocate role-specific resources.
- On the first non-null commit, the surface gets mapped.
- On a null commit, the surface gets unmapped. It can be mapped
again with a non-null commit.
- When the role object (xdg-toplevel or xdg-popup) is
destroyed, the surface is unmapped and role-specific resources
are destroyed. The client can call `get_popup` or `get_toplevel`
again on that surface.
- When the xdg-surface object is destroyed, the surface is
unmapped, role-specific resources are destroyed and the surface
itself is destroyed.
2018-03-26 18:35:45 -04:00
Tony Crisci
4da18f7fc3
xdg-positioner attrs
2018-03-26 12:46:04 -04:00
Tony Crisci
5617a59598
Merge pull request #741 from emersion/unmapped-surface-destroy
...
xdg-shell, xdg-shell-v6: don't emit unmap if surface is unmapped
2018-03-25 11:04:37 -04:00
emersion
c63d94483b
Redesign wlr_texture
...
- Textures are now immutable (apart from those created from raw
pixels), no more invalid textures
- Move all wl_drm stuff in wlr_renderer
- Most of wlr_texture fields are now private
- Remove some duplicated DMA-BUF code in the DRM backend
- Add more assertions
- Stride is now always given as bytes rather than pixels
- Drop wl_shm functions
Fun fact: this patch has been written 10,000 meters up in the air.
2018-03-24 23:48:32 -04:00
Tony Crisci
f53575e3a3
unified xdg-surface close
2018-03-24 15:11:26 -04:00
Guido Günther
b1852096c5
linux-dmabuf: Support multi plane formats like NV12
2018-03-23 09:03:31 +01:00
Guido Günther
805039457a
wlr_surface: fix indentation
2018-03-23 08:59:48 +01:00
Tony Crisci
30b8fb5572
Merge branch 'master' into xdg-positioner
2018-03-22 20:06:53 -04:00
Dominique Martinet
e86cd4dc33
wlr_pointer: fix potential null deref
...
if pointer is null here we'd access pointer->events... anyway
2018-03-22 21:27:49 +01:00
Dominique Martinet
de955a0f63
xdg_popup_grab: add listener on seat destroy
2018-03-22 21:25:41 +01:00
emersion
731ee24089
xdg-shell, xdg-shell-v6: don't emit unmap if surface is unmapped
...
Some clients create an xdg_surface, then create an xdg_toplevel,
but don't map it and destroy it right after. The xdg_surface ends
up in a state where it isn't mapped but role-specific resources
have been allocated. xdg_surface_unmap needs to free these
resources without emitting the unmap signal.
2018-03-21 20:11:53 +01:00
emersion
c41de2d1be
render: split render.h into wlr_renderer.h and wlr_texture.h
2018-03-19 23:16:29 +01:00
emersion
6ecb0eefcb
render/gles2: transpose matrices before binding them
...
Setting glUniformMatrix3fv's transpose parameter to GL_TRUE is
not allowed for OpenGL ES 2.
This adds a wlr_matrix_transpose function.
2018-03-19 20:21:02 +01:00
Drew DeVault
1956d3cedb
Merge pull request #722 from emersion/matrix-redesign
...
Matrix redesign
2018-03-17 15:22:00 -04:00
Tony Crisci
09413aa7f1
Merge pull request #711 from emersion/map-unmap
...
Add map/unmap to xdg-shell
2018-03-17 10:00:54 -04:00
emersion
7894fca224
matrix: rename wlr_matrix_texture to wlr_matrix_projection
2018-03-15 21:26:45 +01:00
emersion
e607d0f7ee
xdg-shell: add map/unmap support
2018-03-15 20:15:09 +01:00
emersion
42cc575266
xdg-shell-v6: fix wl_list_remove called twice
2018-03-15 20:14:47 +01:00
emersion
361d7c857e
xdg-shell-v6: don't leak wlr_xdg_surface_v6_configure.toplevel_state
2018-03-15 19:40:57 +01:00
emersion
1914a1aa2b
surface: drop wlr_surface_get_matrix
2018-03-15 18:35:22 +01:00
emersion
8b58e1a3ad
Merge branch 'master' into matrix-redesign
2018-03-15 15:48:09 +01:00
emersion
824a95ad19
matrix: use 2D matrices
2018-03-15 15:33:58 +01:00
emersion
de0e40d621
Merge pull request #698 from agx/linux-dmabuf
...
Add initial linux_dmabuf protocol support
2018-03-15 12:45:07 +01:00
Guido Günther
eb4337b5ee
Wire up linux_dmabuf in rootston
2018-03-15 12:40:18 +01:00
Guido Günther
14cdb6153f
Add initial linux_dmabuf protocol support
...
Tested with
./weston-simple-dmabuf-drm
./weston-simple-dmabuf-drm --import-immediate=1
./weston-simple-dmabuf-drm --y-inverted=1
(and combinations)
Supports only single plane XRGB dmabufs for now.
2018-03-15 12:40:18 +01:00
emersion
d26b67cb06
matrix: unify API, don't use array pointers
2018-03-15 11:10:56 +01:00
emersion
b6a3f240c7
matrix: move to types/
2018-03-15 09:11:27 +01:00
Tony Crisci
8836b167bf
store xdg-positioner properties on the popup
2018-03-13 19:21:08 -04:00
Tony Crisci
b2926a6c62
differentiate xdg-toplevel roles
2018-03-13 19:11:02 -04:00
emersion
ace738dbca
xdg-shell-v6: next_geometry and geometry fields are not longer pointers in wlr_xdg_surface_v6
2018-03-13 22:17:25 +01:00
emersion
149209b72e
xdg-shell-v6: rename toplevel and popup fields in wlr_xdg_surface_v6 for consistency
2018-03-13 22:09:44 +01:00
emersion
657e5c8c0d
xdg-shell-v6: changed wlr_xdg_surface_v6_configure.toplevel_state to be NULL if surface isn't a toplevel
2018-03-13 22:05:35 +01:00
emersion
e74ddaaf10
xdg-shell-v6: redesign the configure/ack_configure workflow
2018-03-13 19:57:21 +01:00
Tony Crisci
647c2e68ba
Merge pull request #696 from emersion/fix-output-layout-destroy-global
...
output-layout: fix output global not destroyed
2018-03-12 21:41:45 -04:00
emersion
adec3f5c0f
xdg-shell-v6: add unmap support, add more protocol errors
2018-03-12 10:41:57 +01:00
emersion
8e3d294d6a
output: fix trailing cursor at (0, 0) on startup
2018-03-11 11:21:40 +01:00
emersion
3f072bedd9
xdg-shell-v6: add map signal
2018-03-10 11:18:50 +01:00
emersion
a951fbb264
output: don't move hidden cursors
...
When using the DRM backend and multiple outputs, that reduces the
number of commits.
2018-03-07 10:22:39 +01:00
Scott Anderson
3c9fc7c68e
Add const to x11 and input interfaces
2018-03-06 21:16:18 +13:00
emersion
aa2b62fbff
output-layout: fix output global not destroyed
2018-03-01 17:53:15 +01:00
Drew DeVault
0820557c8c
Merge pull request #693 from emersion/fix-output-bind-multiple
...
Fix clients binding multiple times to the same output
2018-03-01 11:23:41 -05:00
emersion
90148e64ab
Fix clients binding multiple times to the same output
2018-03-01 10:19:48 +01:00
Drew DeVault
3296365ce5
Merge pull request #659 from agx/alpha
...
Make wlr_render_with_matrix use alpha
2018-02-25 13:16:35 -05:00
Guido Günther
d08792bfff
Add alpha to wlr_render_with_matrix
...
so we can use the alpha channel to e.g. blend in textures
2018-02-25 13:47:48 +01:00
Tony Crisci
b7b86a9591
Merge pull request #641 from Ongy/idle-inhibit
...
Add idle-inhibit implementation
2018-02-24 10:15:18 -05:00
Markus Ongyerth
67285c1d57
idle-inhibit: style adjustments and motivation
2018-02-23 13:18:05 +01:00
emersion
b1e2718dd7
xwayland: fix some use-after-free in xwm
2018-02-23 10:20:53 +01:00
Tony Crisci
1c1b5b1b17
Merge pull request #662 from emersion/surface-resize-frame-done
...
surface: don't reset frame_callback_list on resize
2018-02-22 17:33:22 -05:00
emersion
f0404f6d75
surface: don't reset frame_callback_list on resize
2018-02-22 22:40:02 +01:00
Markus Ongyerth
a715826751
move activity_notify into events in wlr_idle
...
This moves the `struct wl_signal activity_notify` in `struct wlr_idle`
into a local `struct {} events` to keep consistency with other modules
in the library.
2018-02-22 21:14:28 +01:00
Markus Ongyerth
87a7afb641
idle-inhibit: second feedback pass
2018-02-21 16:22:04 +01:00
Markus Ongyerth
3016133f91
idle-inhibit: feedback pass
2018-02-20 13:41:10 +01:00
emersion
4eaffc3e45
primary-selection: fix crash in device_handle_set_selection
2018-02-20 12:33:13 +01:00
Drew DeVault
1d9be89e2d
Revert "ELF Visibility"
2018-02-19 18:01:27 -05:00
Drew DeVault
09cfa39392
Merge pull request #632 from acrisci/output-layout-adjacent
...
add wlr_output_layout_adjacent_output
2018-02-19 18:00:32 -05:00
Scott Anderson
86269052eb
Explicitly export EFL symbols
2018-02-19 14:26:40 +13:00
Drew DeVault
c951000198
Remove XXX comment
2018-02-18 11:21:08 -05:00
Tony Crisci
9933b7ad95
fix direction determination
2018-02-17 17:54:57 -05:00
Tony Crisci
d2c7defa10
Merge branch 'master' into output-layout-adjacent
2018-02-17 16:34:32 -05:00
Markus Ongyerth
50d573b2ca
implements the idle_inhibit protocol type
...
This adds the types/wlr_idle_inhibit_v1 implementation.
2018-02-17 12:37:12 +01:00
Dominique Martinet
4941befeb0
Merge pull request #1 from emersion/martinetd/xdg_shell
...
Wrap wl_resource_get_user_data into safer helper functions (for xdg-shell stable too)
2018-02-16 18:52:04 +01:00
emersion
4b354745fe
xdg-shell: wrap wl_resource_get_user_data
2018-02-16 18:38:06 +01:00
emersion
717bdccb6e
Merge remote-tracking branch 'upstream/master' into martinetd/xdg_shell
2018-02-16 18:25:58 +01:00
Drew DeVault
8c1cc45c7d
Merge pull request #629 from emersion/safe-wl-resource-get-user-data
...
Wrap wl_resource_get_user_data into safer helper functions
2018-02-16 09:27:26 -05:00
Dominique Martinet
ac78bdb6bc
xdg shells: fix typo s/positives/positive/
2018-02-15 12:26:20 +01:00
Dominique Martinet
56ab3e9b10
xdg_shell stable: fix zero-sized positioner anchor_rect
...
We used 0 as unset-check value before, which was fine when 0-width
was invalid, but isn't anymore
2018-02-15 08:07:57 +01:00
Dominique Martinet
714f90a9d0
xdg_shell stable: allow zero-sized positioner set_anchor_rect
...
This is a protocol difference with xdg-shell-unstable-v6
2018-02-15 07:29:55 +01:00
Dominique Martinet
d1b28ec812
wayland protocol headers: use double-quote for includes
...
These headers are not installed so we should look for these locally
2018-02-15 07:17:02 +01:00
Dominique Martinet
6ae96c4832
wlr_xdg_shell: (style) add break to final switch case
2018-02-15 07:16:28 +01:00
Tony Crisci
85871cb666
add wlr_output_layout_adjacent_output
2018-02-14 14:10:31 -05:00
Rodrigo Lourenço
168e26489a
Add missing dependencies
2018-02-14 18:42:39 +00:00
Dominique Martinet
1080bf69f8
xdg_shell: add input validatoin for positioner anchor/gravity
2018-02-14 19:02:24 +01:00
Dominique Martinet
7d26a6debd
xdg-shell stable: copy-pasta implementation
2018-02-14 12:52:30 +01:00
emersion
392d54a35d
Wrap wl_resource_get_user_data into safer helper functions
...
This ensures we're not incorrectly casting a resource.
Fixes #628
2018-02-13 23:48:46 +01:00
emersion
c2e1474010
Reformat all #include directives
2018-02-12 21:29:23 +01:00
emersion
36ead80cd1
Make wlr_signal_emit_safe private
2018-02-12 19:52:47 +01:00
emersion
10ecf871f2
Remove wlr_backend.events.{output_remove,device_remove}
2018-02-12 10:36:43 +01:00
emersion
5e58d46cc1
Add wlr_signal_emit_safe
2018-02-12 09:12:31 +01:00
emersion
a9632341bf
output_damage: listen to transform and scale output events
2018-02-11 13:07:00 +01:00
emersion
ec837e3c9e
Introduce wlr_output_damage
2018-02-11 12:49:30 +01:00
emersion
bf6d245400
Swap buffers with damage
2018-02-09 22:54:14 +01:00
emersion
cdd55b5d19
Merge remote-tracking branch 'upstream/master' into output-damage
2018-02-09 14:50:26 +01:00
Vincent Vanlaer
8dcb2f2d6b
Prevent cursor from getting stuck at infinity
2018-02-04 22:40:24 +01:00
emersion
1cea73d2d8
rootston: fix rotated views damage tracking
2018-02-04 11:59:04 +01:00
emersion
faa57341ca
output: replace raw GL calls by wlr_renderer_* calls
2018-02-03 10:01:42 +01:00
emersion
3d3ea32137
Merge remote-tracking branch 'upstream/master' into output-damage
2018-02-03 00:15:44 +01:00
emersion
8eed857292
output: add destroy signal for wlr_output_cursor
2018-02-01 12:08:35 +01:00
emersion
edb4c8d858
output: damage whole output when fullscreen surface size changes
2018-01-30 22:06:10 +01:00
emersion
a295c805c4
output: fix output_damage_whole for scaled outputs
2018-01-30 21:42:12 +01:00
emersion
babdd6ccf7
backend: fix use-after-free when destroying backends
...
The backend destroy signal is emitted before the output_remove
signal is. When the destroy signal is emitted listeners remove
their output_remove listener, so the output_remove signal is never
received and listeners have an invalid output pointer.
The correct way to solve this would be to remove the output_remove
signal completely and use the wlr_output.events.destroy signal
instead. This isn't yet possible because wl_signal_emit is unsafe
and listeners cannot be removed in listeners.
2018-01-30 19:45:57 +01:00
emersion
704130cc11
output: fix performance issues with wlr_output_schedule_frame
2018-01-30 14:45:02 +01:00
emersion
d498855b9d
backend/drm: fix hw cursor position on rotated and scaled outputs
...
output: add wlr_output_transformed_resolution
2018-01-30 10:23:35 +01:00
emersion
51c22d39a4
Merge remote-tracking branch 'upstream/master' into output-damage
2018-01-29 23:24:09 +01:00
emersion
2cc989e097
output: restrict provided damage to output bounds
2018-01-29 23:21:30 +01:00
Tony Crisci
ed5b1fdedd
Merge pull request #580 from emersion/screenshooter-renderer-backport
...
Backport screenshooter fixes from the renderer redesign v1
2018-01-29 17:13:23 -05:00
emersion
7881d039b6
rootston: fix output_damage_whole
...
This should fix artifacts when leaving fullscreen on rotated outputs.
2018-01-28 21:58:02 +01:00
emersion
5bbff20b8d
Fix assertion failed in data_source_notify_finish
2018-01-28 21:48:05 +01:00
emersion
e049610b47
surface: copy buffer damage to surface damage
2018-01-28 21:29:51 +01:00
emersion
1ee61dbd0f
Merge remote-tracking branch 'upstream/master' into output-damage
2018-01-28 21:22:50 +01:00
emersion
485aa87468
output: fix fullscreen on transformed outputs
2018-01-28 10:40:38 +01:00
emersion
861d5bdff2
surface: fix damage when resizing a surface in QT apps
2018-01-27 21:49:40 +01:00
Guido Günther
1633b8d793
wlr_keyboard: use correct printf format string for keymap_size
...
keymap_size is a size_t. Otherwise the build fails on arm like
../types/wlr_keyboard.c: In function 'wlr_keyboard_set_keymap':
../include/wlr/util/log.h:34:17: error: format '%lu' expects argument of type 'long unsigned int', but argument 5 has type 'size_t {aka unsigned int}' [-Werror=format=]
_wlr_log(verb, "[%s:%d] " fmt, _strip_path(__FILE__), __LINE__, ##__VA_ARGS__)
^
../types/wlr_keyboard.c:218:3: note: in expansion of macro 'wlr_log'
wlr_log(L_ERROR, "creating a keymap file for %lu bytes failed", kb->keymap_size);
^~~~~~~
../types/wlr_keyboard.c:218:50: note: format string is defined here
wlr_log(L_ERROR, "creating a keymap file for %lu bytes failed", kb->keymap_size);
~~^
%u
2018-01-27 12:23:26 +01:00
emersion
7adf13e284
Fix flickering when switching VT
2018-01-27 11:16:42 +01:00
emersion
7111dd79ef
rootston: damage tracking for rotated views
2018-01-27 10:43:17 +01:00
emersion
a011a1cb07
screenshooter: request a buffer swap
2018-01-26 22:41:19 +01:00
emersion
8d58ed502b
output: add wlr_output_schedule_frame
2018-01-26 22:39:23 +01:00
emersion
ece2c1e4e2
Damage tracking for transformed outputs
2018-01-26 22:11:09 +01:00
emersion
6281deb90f
Merge remote-tracking branch 'upstream/master' into output-damage
2018-01-24 14:48:01 +01:00
Markus Ongyerth
f946c10cb1
re-adds wlr_output_update_enabled
...
Re-add the wlr_output_update_enabled to make sure
wlr_output::events.enable is called when the output enabled state
changes.
2018-01-24 10:23:48 +01:00
emersion
4fa90b0511
Backport screenshooter fixes from the renderer redesign v1
...
This backports some changes to #319 to fix the screenshooter data
format. This also adds wlr_backend_get_renderer which will be
useful to support multiple renderers.
2018-01-23 22:06:54 +01:00
Markus Ongyerth
3cf7225cec
decouples outputenable state and wl_output global
...
This decouples wlr_output_enable and the wl_global.
The previously internal functions wlr_output_(destroy/create)_global are
exposed and used automatically in the wlr_output_layout to create/tear
down the global.
The compositor can handle them itself if it wants to, but I think this
is the right moment to create/destroy the wl_output when the
wlr_output_layout is used.
2018-01-23 17:40:12 +01:00
emersion
4d282c8590
rootston: damage tracking for drag icons
2018-01-23 13:37:58 +01:00
emersion
3f1c4f5be7
rootston: damage tracking for wl_shell
2018-01-22 16:01:32 +01:00
emersion
a8cb02f585
surface: add damage when subsurface moves
2018-01-22 10:34:23 +01:00
emersion
f5507ec677
cursor: fix segfault when destroying a wlr_output_layout with a wlr_cursor attached
2018-01-22 09:29:52 +01:00
emersion
59c53e8333
Merge remote-tracking branch 'upstream/master' into output-damage
2018-01-21 22:18:06 +01:00
emersion
66ae4071a7
rootston: damage tracking for xdg popups
2018-01-21 21:06:37 +01:00
Johannes Schramm
dcc743047b
style: include brackets for if/while/for, even if it's a single statement
2018-01-21 16:28:21 +01:00
emersion
eeffe11337
surface: add wlr_surface new_subsurface and wlr_subsurface destroy events
2018-01-21 14:22:33 +01:00
emersion
0365b587f0
output: add damage tracking via buffer age
2018-01-21 00:06:35 +01:00
emersion
4ca38b84ed
backend/drm: fix hardware cursors not moving
...
This adds back `wlr_output::needs_swap`. This allows a backend to
request buffer swaps even if the output isn't damaged. This is
needed by the DRM backend to trigger pageflips when the cursor
moves.
2018-01-20 16:43:14 +01:00
emersion
ddafcb86a2
surface: add resize damage
2018-01-20 00:52:43 +01:00
emersion
e29a0df8c1
output: fix software cursors damage tracking
2018-01-19 14:08:47 +01:00
emersion
a0f24b809e
output: add damage event
2018-01-19 13:13:46 +01:00
emersion
443bd4cd89
output: fullscreen surface damage tracking
2018-01-19 11:20:27 +01:00
emersion
f061a1da63
output: fix software cursor artifacts
2018-01-18 22:18:53 +01:00
emersion
59ba8f35ed
rootston: use surface damage
2018-01-18 21:34:10 +01:00
emersion
bde255933e
output: add wlr_output::damage, fixes #572
2018-01-18 19:47:21 +01:00
Tony Crisci
b6f29e87e8
dont use pointer for modifiers
2018-01-17 08:31:15 -05:00
Tony Crisci
43896af90f
Merge branch 'master' into modifier-fixes
2018-01-17 08:27:47 -05:00
Drew DeVault
b331c5c2c5
Merge pull request #549 from emersion/output-enabled
...
Add wlr_output::enabled
2018-01-15 20:53:13 -05:00
emersion
0eebaf98d0
drm: do not pageflip when enabling output
2018-01-15 21:49:37 +01:00
Heghedus Razvan
21cc5e6fef
Add idle protocol
...
Signed-off-by: Heghedus Razvan <heghedus.razvan@gmail.com>
2018-01-10 14:32:41 +02:00
emersion
33c427a6aa
output_layout: disabled outputs are just like enabled outputs
2018-01-07 18:40:58 +01:00
Tony Crisci
b40a5f084a
keyboard grab enter with modifiers
2018-01-06 11:06:09 -05:00
Tony Crisci
2bd3a75f80
fix send modifiers in wlr-seat set keyboard
2018-01-06 10:31:32 -05:00
Tony Crisci
670d336099
Merge branch 'master' into modifier-fixes
2018-01-06 09:41:13 -05:00
Tony Crisci
9765232096
update xkb state on layout change
2018-01-06 09:36:57 -05:00
Tony Crisci
ca0f456d6c
wlr-keyboard set layout error handling
2018-01-06 09:06:19 -05:00
Tony Crisci
fcab1e87ed
fix data-device keyboard grab signature
2018-01-06 08:32:44 -05:00
emersion
8ebd7d4dbe
output: rename resolution event to mode
2018-01-06 12:42:32 +01:00
emersion
6fe380a176
output_layout: handle output enable event
2018-01-06 12:39:15 +01:00
Markus Ongyerth
6834067ef5
sends the modifiers on wlr_seat_set_keyboard
...
Without this, a client will lose modifiers for one keyboard, when a key
is pressed on the other.
With this the client will always use the modifiers tate of the keyboard
the key was pressed on.
2018-01-05 22:20:46 +01:00
Tony Crisci
0ef2df21f2
compositor modifier hook
2018-01-05 07:00:50 -05:00
emersion
d9ecfbaf32
Add wlr_output enable event
2018-01-04 14:51:36 +01:00
emersion
771263380c
Add wlr_output::enabled
2018-01-04 12:46:15 +01:00
Tony Crisci
ce3a48c316
Merge pull request #542 from emersion/abstract-data-source
...
Abstract data sources
2018-01-04 06:15:17 -05:00
emersion
c599d8024c
Remove serial validation TODOs
2018-01-03 16:46:59 +01:00
Drew DeVault
b23bd8ea28
Merge pull request #544 from emersion/fix-views-outside-output-layout
...
Fix views outside output layout
2018-01-01 11:45:08 -05:00
emersion
9ac9ba861f
Free fullscreen surface and cursors when destroying output
2017-12-31 13:00:35 +01:00
emersion
1fe1d64042
Fix views outside output layout
2017-12-31 12:49:06 +01:00
emersion
38ed3b4245
seat: rename selection_source to selection_data_source, remove unused data_device
2017-12-30 09:58:04 +01:00
emersion
720c1154dc
Fix use-after-free when destroying an offer
2017-12-30 09:26:48 +01:00
emersion
b20aed66d6
Abstract wlr_primary_selection_source
2017-12-29 23:23:00 +01:00
emersion
062809723a
Data source resource now holds a struct client_data_source *
2017-12-29 23:01:35 +01:00
emersion
f237b5c7a7
Make wlr_data_source abstract.
...
This removes some fields specific to sources coming from clients.
This adds some drag'n'drop-related callbacks.
2017-12-29 22:51:33 +01:00
Dominique Martinet
d7cefccaee
wlr_seat_destroy: emit seat itself as data on destroy event
2017-12-29 20:29:40 +01:00