Commit Graph

3540 Commits

Author SHA1 Message Date
emersion 132f08175d
Merge pull request #1269 from ivyl/remove_xcb_image
xwayland/xwm: Stop including xcb_image.h
2018-09-28 11:17:39 +02:00
Arkadiusz Hiler ae7c3f3d1c xwayland/xwm: Stop including xcb_image.h
It's not used (XCB_IMAGE_FORMAT_Z_PIXMAP comes from xproto.h) and we
don't even have a pkg-config dependency on xcb-image, making the build
to fail on that inclusion on systems without the package.
2018-09-28 11:47:50 +03:00
emersion 79dd9ba151 backend/drm: don't free connector immediately
When a pageflip is pending, we'll get a DRM event for the connector
in the future. We don't want to free the connector immediately
otherwise we'll use-after-free in the pageflip handler.

This commit adds a new state, "DISAPPEARED". This asks the pageflip
handler to destroy the output after it's done pageflipping.
2018-09-28 10:00:40 +02:00
Drew DeVault 19f3804548
Merge pull request #1266 from Ongy/xdc_tablet_fix
Fix tablet_tool tilt and send proximity_out
2018-09-27 16:24:35 -05:00
Markus Ongyerth 3e494efc5c Fix tablet_tool tilt and send proximity_out
Originally I asumed tilt_x and tilt_y are very unlikely to change
independent, I was proven wrong.
And while investigating Krita not using the Erasor tool, I found a bug,
which is unrelated though.
2018-09-27 18:31:50 +02:00
Drew DeVault 5e9959daaa
Merge pull request #852 from Laaas/master
Implement pointer-constraints-unstable-v1 protocol
2018-09-27 05:57:43 -05:00
emersion 1b598f67ca pointer-constraints: add unstable header 2018-09-27 12:39:29 +02:00
emersion fadbdcd13c seat: remove unused keyboard focus_change event 2018-09-27 12:21:30 +02:00
emersion d98181dab8 pointer-constraints: use proper wayland-scanner functions 2018-09-27 10:53:11 +02:00
emersion 792b1f5cbf rootston: remove broken rotated pointer constraint handling 2018-09-27 10:42:35 +02:00
emersion dac4f8e19f pointer-constraints: refactoring
* Rename the constraint_create signal to new_constraint for
  consistency
* Move the constraint_destroy signal to the constraint itself
* Use rotate_child_position instead of duplicating logic
* Fix inert constraint resource handling
* Style fixes
2018-09-27 10:25:59 +02:00
emersion 31cc2fa4f9 pointer-constraints: make region not a pointer, add committed bitfield 2018-09-26 23:08:52 +02:00
sghctoma aacf0c427f Adjust README to reflect change regarding b_lundef
With Meson >=0.48.0 it is no longer necessary to pass the flag
"-D b_lundef=false" on FreeBSD.
2018-09-26 19:36:48 +02:00
sghctoma 57ce896688 Add b_lundef=false Meson option on FreeBSD
The Meson option "b_lundef" need to be set to false on FreeBSD, because
the symbol "environ" is in crt1.o, which is not linked with shared
libraries. With Meson >=0.48.0 it is possible to set this option only
for FreeBSD. This patch changes meson.build to do that.
2018-09-26 18:13:28 +02:00
emersion c89cd4945b pointer-constraints: rename wl_{global,resources} 2018-09-26 17:38:41 +02:00
emersion e3736d4acc examples/pointer-constraints: style fixes 2018-09-26 17:34:09 +02:00
Drew DeVault e47b8cd629
Merge pull request #1264 from emersion/examples-unknown-cursor
Fix unknown cursor in layer-shell example
2018-09-26 10:18:54 -05:00
emersion 9622efd6db Fix unknown cursor in layer-shell example 2018-09-26 17:01:01 +02:00
nyorain 7b52388424 Rework session handling
Sessions can now be retrieved from a backend in a more general manner.
Multi-backend gets back its `session` field that contains the session
if one was created, removing the interfacing from multi backend with the
drm backend directly. This adds the possibility to use sessions even
without the drm backend.

It additionally fixes the bug that 2 session objects got created when
WLR_BACKENDS were set to "libinput,drm".

To allow vt switching without drm backend (and drm fd) on logind, start
listening to PropertiesChanged signals from dbus and parse the session
"Active" property when no master fd was created (this does not change
current drm backend behaviour in any way).
2018-09-24 23:35:09 +02:00
random human 84ecfb546b
wlr_surface: more consistent argument naming in surface_update_damage 2018-09-25 02:06:02 +05:30
random human 5eca5d8946
wlr_surface: remove duplicated damage calculation
The damage is already calculated and stored in surface->buffer_damage
by surface_update_damage().
2018-09-25 01:38:09 +05:30
random human 3fd5da58a0
wlr_surface: fix surface damage on resize
Instead of damaging the buffer, damage only the surface on surface (not
buffer) resize.
2018-09-25 01:25:30 +05:30
random human 971cbeaa19
wlr_surface: fix surface damage transformation
Damage tracking on transformed surfaces now work (see
"weston-simple-damage --rotation=90"), using either of buffer or surface
damage.
2018-09-24 22:03:41 +05:30
emersion 5b687b4a96
Merge pull request #1260 from RyanDwyer/xwayland-set-decorations
xwayland: Introduce set_decorations event
2018-09-24 12:48:57 +02:00
Ryan Dwyer 44613c0fa6 xwayland: Introduce set_decorations event 2018-09-24 20:14:02 +10:00
emersion f5658c2ca2
Merge pull request #1257 from sghctoma/fix-protocol_meson
Fix partial dependency in protocol/meson.build
2018-09-22 10:12:24 +02:00
emersion 4cc2fb4bdf
Merge pull request #1256 from sghctoma/fbsd-multiseat-fixes
Apply multiseat fixes to FreeBSD direct backend
2018-09-22 02:09:53 +02:00
sghctoma 9383e1f76c Apply multiseat fixes to FreeBSD direct backend
This commit applies the multiseat fixes that are part of PR #1063 (
commits 964e0a50 and 47895d2) to the FreeBSD direct backend.
2018-09-21 15:02:32 +02:00
sghctoma 6fd1c63a69 Fix partial dependency in protocol/meson.build
External dependencies in Meson do not have include_directories,
therefore "includes: true" means nothing for the wayland-client partial
dependency. Because of this, the -I CFLAGs for wayland-client are not
used by the build command. This commit fixes this by using compile_args.
2018-09-21 14:13:44 +02:00
emersion 842368ec98
Merge pull request #1253 from RyanDwyer/multi-for-each-backend
Introduce wlr_multi_for_each_backend
2018-09-19 14:15:16 +02:00
Drew DeVault 33a3d8a555
Merge pull request #1252 from emersion/fatal-unknown-buffer
buffer: disconnect clients that commit an unknown buffer type
2018-09-19 08:02:31 -04:00
Drew DeVault adbf21eb83
Merge pull request #1245 from emersion/capture-disable-hw-cursors
Disable hardware cursors when capturing output
2018-09-19 08:01:38 -04:00
Ryan Dwyer 691a63d66b Introduce wlr_multi_for_each_backend 2018-09-19 21:53:51 +10:00
emersion ac28d701c0 buffer: disconnect clients that commit an unknown buffer type
If this happens, something went really wrong and we should do more
than just logging an error. See [1].

[1]: https://gitlab.freedesktop.org/wayland/weston/issues/148
2018-09-19 11:29:48 +02:00
Drew DeVault 3693fae0c4
Merge pull request #1248 from emersion/assert-all-the-things
Assert all the things!
2018-09-18 14:44:46 -04:00
Las afa2e399aa Fix implicit conversion of floats to ints in calls to pixman_region32_contains_point
I do not think the conversion is specifically defined, but on my system and SirCmpwn's
the floats are rounded instead of floored, which is incorrect in this case, since
for a range from 0 to 256, any value greater or equal to 0 and less than 256 is valid.
I.e. [0;256[, or 0 <= x < 256, but if x is e.g. -0.1, then it will be rounded to 0, which
is invalid. The correct behavior would be to floor to -1.
2018-09-18 13:05:44 +02:00
emersion 3df602a62d export-dmabuf: disable hardware cursors if desired
Also make the frame resource inert when sending "ready".
2018-09-18 11:48:04 +02:00
emersion 928572c14d output: add wlr_output_set_hardware_cursors_enabled
And use it in screencopy.
2018-09-18 11:37:37 +02:00
emersion 139a905924 backend/drm: add assertions 2018-09-18 11:06:01 +02:00
emersion 02231554c8 backend/x11: add assertions 2018-09-18 11:06:01 +02:00
emersion e98cb7c5ab backend/wayland: add assertions 2018-09-18 11:06:01 +02:00
emersion 07ea98dab9 backend/session: add assertions 2018-09-18 11:06:01 +02:00
emersion 6c05f17a25 backend/multi: add assertions 2018-09-18 11:06:01 +02:00
emersion 7bcf0d9599 backend/libinput: add assertions 2018-09-18 11:05:55 +02:00
emersion bc34486c04 backend/headless: add assertions 2018-09-18 11:01:53 +02:00
emersion 9288c827aa
Merge pull request #1249 from arandomhuman/keymap_fd
Send unique keymap file descriptors
2018-09-18 10:58:38 +02:00
random human 40a43003a1
Send unique keymap file descriptors
To prevent wl_keyboard keymap being written to by clients, use a unique
file descriptor for each wl_keyboard resource.

Reference: weston, commit 76829fc4eaea329d2a525c3978271e13bd76c078
2018-09-18 13:58:36 +05:30
Las fa2e6e7d9d Implement pointer-constraints protocol in wlroots and rootston 2018-09-18 10:14:33 +02:00
Las 437f538772 Make wlr_seat->data in rootston point to the wrapping roots_seat 2018-09-18 10:14:33 +02:00
Las 6367e0bc93 Add wlr_surface::input_region member
This is analogous to the opaque_region member.

In addition the code for setting the opaque region is cleaned up.
2018-09-18 10:14:33 +02:00