Markus Ongyerth
15870ceb4b
Fix segfaultiness
2018-07-14 09:40:39 +02:00
Markus Ongyerth
599f84f736
Fix borked rebase
2018-07-14 09:40:39 +02:00
Markus Ongyerth
5c7a37f309
Add tool buttons
2018-07-14 09:40:39 +02:00
Markus Ongyerth
391eef6ea9
Propagate most axis events to clients
2018-07-14 09:40:39 +02:00
Markus Ongyerth
f375246657
Implement basic tablet_pad handling (bound to keyboard focus)
2018-07-14 09:40:39 +02:00
Markus Ongyerth
f696e980f1
stabilise tablet_v2 code (prevent bunch of crashes)
2018-07-14 09:40:39 +02:00
Markus Ongyerth
e235f7d336
Basic tablet_v2 object lifetime
2018-07-14 09:40:39 +02:00
Markus Ongyerth
77bac448cc
storage commit #2
2018-07-14 09:40:39 +02:00
Markus Ongyerth
4947295c8f
convoluted tablet code
2018-07-14 09:40:39 +02:00
Markus Ongyerth
000b305ecc
backend/libinput: Manage tablet tool livetimes
...
This adds the management code to manage tablet tools lifetimes from
libinput.
It follows the suggestion made in the tablet-unstable-v2.xml to destroy
tablet_tools once all tablets that it got into contact with were removed
from the system. This is implemented via a refcount.
If a tool is *not* unique, it will be destroyed on proximity out. This
is libinput specific and mentioned in libinput docs that tools will not
be found again, so we shouldn't keep a reference to them.
Also they can't be on other tablets as well, because they cannot be
tracked.
The naming in this commit is a bit off (to not break things).
The wlr names stay the same, tablet_tool is the libinput_device with
capaiblity LIBINPUT_DEVICE_CAP_TABLET_TOOL which is more akin to
"tablet" in the tablet-unstable-v2 protocol.
The struct that corresponds to the tablet_tool in tablet-unstable-v2 is
called tablet_tool_tool, a rename should be done at some point in the
future.
2018-07-14 09:40:39 +02:00
Markus Ongyerth
bf8751d632
Start tablet protocol
2018-07-14 09:40:39 +02:00
Drew DeVault
4984ea49ee
Merge pull request #1132 from emersion/fix-screencopy-frame-error
...
screencopy: fix segfault when client supplies invalid buffer
2018-07-13 12:49:12 -07:00
Drew DeVault
b902c2bd7c
Revert "Move side-effect out of assert statement"
...
This reverts commit a0afedcd8f
.
2018-07-13 15:46:54 -04:00
emersion
935a3f2ebb
screencopy: fix segfault when client supplies invalid buffer
2018-07-13 19:27:04 +01:00
Drew DeVault
a0afedcd8f
Move side-effect out of assert statement
2018-07-13 13:54:09 -04:00
Drew DeVault
3ae423b0e3
Merge pull request #1130 from emersion/surface-opaque
...
Add wlr_surface.opaque_region
2018-07-13 04:09:31 -07:00
emersion
5bb272d7f3
surface: add wlr_surface.opaque_region
2018-07-13 10:54:51 +01:00
emersion
c4915d1492
render: add wlr_texture_is_opaque
2018-07-12 23:35:33 +01:00
emersion
d8bbdf3bd5
Merge pull request #1128 from agx/unbreak-xvfb
...
Unbreak xvfb
2018-07-12 12:47:12 +01:00
Drew DeVault
e226e2c011
Missed some old wlr_log calls
2018-07-11 18:36:31 -04:00
Drew DeVault
c0b4217fce
Merge pull request #1116 from emersion/surface-role
...
surface: replace wlr_surface_set_role_committed with wlr_surface_role
2018-07-11 15:27:42 -07:00
Guido Günther
40fe252c2d
x11: make sure event source is drained
...
Otherwise running under Xvfb will not deliver any events. This results
in e.g. weston-info reporting a 0x0 window size (which results in all
sorts of problems).
2018-07-11 17:34:43 +02:00
Guido Günther
8515b7c65b
x11: use correct type for events in wl_event_loop_add_fd
2018-07-11 17:30:45 +02:00
Guido Günther
e463b49166
x11: Check if xcb_configure_window worked
...
So far we did not check for any errors
2018-07-11 17:29:41 +02:00
Drew DeVault
2518de655c
Merge pull request #1126 from emersion/wlr-log-prefix
...
util: add wlr_ prefix to log symbols
2018-07-09 16:12:20 -07:00
emersion
7cbef15206
util: add wlr_ prefix to log symbols
2018-07-09 22:49:54 +01:00
emersion
e78d72f42e
Merge pull request #1124 from 5nefarious/handle-32bit-time
...
fix: handle 32 bit time_t (or smaller)
2018-07-09 17:22:22 +01:00
Arvin Ignaci
fad62a3e1c
fix: handle 32 bit time_t (or smaller)
2018-07-09 14:45:19 +00:00
Drew DeVault
ffc8780893
Merge pull request #1121 from emersion/rename-wl-resources-global
...
Rename wl_resources to resource, wl_global to global
2018-07-08 12:10:35 -07:00
emersion
deeca53e33
Rename wl_resources to resource, wl_global to global
2018-07-08 19:21:31 +01:00
emersion
66ac9e7f49
Merge pull request #1120 from vilhalmer/gamma-control-set-bail-on-destroyed-resource
...
Bail from setting gamma on destroyed resource
2018-07-08 19:08:29 +01:00
vilhalmer
0260f042d2
Bail from setting gamma on destroyed resource
2018-07-08 12:35:41 -04:00
Drew DeVault
c1a6422b33
Merge pull request #1118 from emersion/xdg-output-no-noop-updates
...
xdg-output: don't send no-op updates
2018-07-08 08:29:59 -07:00
emersion
c19d475753
xdg-output: don't send no-op updates
...
To begin with, no-op updates are unnecessary, so this patch is an
improvement on its own.
Then, this fixes hotplugging issues with xwayland. xwayland waits
for both wl_output and xdg_output to send a "done" event. However,
it doesn't handle well desynchronized "done" updates: if xdg-output
sends "done" twice, the second one will wait for the next wl_output
"done" event. This is an issue when the first is a no-op and the
second is a real update: the second isn't applied. I've considered
patching xwayland instead, but it seems pretty complicated.
2018-07-08 14:12:18 +01:00
Drew DeVault
024fc76eee
Merge pull request #1117 from emersion/inert-output
...
output: make wl_output resources inert
2018-07-07 17:45:27 -07:00
emersion
5fe50b9a28
output: make wl_output resources inert
2018-07-07 23:02:08 +01:00
emersion
33db4263a0
surface: replace wlr_surface_set_role_committed with wlr_surface_role
2018-07-07 22:45:16 +01:00
Drew DeVault
be54278207
Merge pull request #1095 from agx/output-add-mode
...
Allow to add additional modes to outputs
2018-07-07 08:58:17 -07:00
Guido Günther
60a83e99f4
rootston: use wl_list_empty instead of wl_list_length > 0
2018-07-07 17:31:42 +02:00
Guido Günther
709d7dd722
rootston: Handle modeline parameter
...
This allows to pass custom modes.
2018-07-07 17:31:42 +02:00
Guido Günther
8d72090afe
drm: Allow to add additional modes
...
This allows to add additional modes to the list of available video modes
using VESA Coordinated Video Timing information.
Closes #1080
2018-07-07 14:51:39 +02:00
Drew DeVault
7c6588d7ae
Merge pull request #1076 from emersion/redesign-surface-state
...
surface: redesign state
2018-07-05 13:34:49 -07:00
emersion
515d682312
surface: fix damage when moving subsurfaces with scale > 1
2018-07-04 19:16:16 +01:00
emersion
e665a74122
surface: don't clip input and opaque regions
...
These can be set to e.g. regions larger than the surface. If the
surface resizes itself, it doesn't need to set again these regions.
2018-07-04 19:12:18 +01:00
emersion
226306ed45
surface: rename wlr_surface_state.buffer to buffer_resource
2018-07-04 19:12:18 +01:00
emersion
68c133da2f
surface: fix crash on NULL commit
2018-07-04 19:12:18 +01:00
emersion
6f0eb11024
surface: fix previous state eating current state resources
2018-07-04 19:12:18 +01:00
emersion
f440708274
output: fix cursor attach coords handling
2018-07-04 19:12:18 +01:00
emersion
012e38fbe5
surface: add wlr_surface.previous
2018-07-04 19:12:18 +01:00
emersion
78555abba3
surface: move position and scale out of wlr_surface_state
2018-07-04 19:12:17 +01:00