Commit graph

3195 commits

Author SHA1 Message Date
Rusty Lynch
df67fd060f desktop-shell: Add touch support to panel launcher icons 2013-08-20 16:11:08 -07:00
Rusty Lynch
1604b742a1 calibrator: Add touch support to calibrator 2013-08-20 16:11:08 -07:00
Rusty Lynch
76ae39d21e smoke: Add touch support to smoke example 2013-08-20 16:11:08 -07:00
Rusty Lynch
f1d502b136 window.c: Add touch handlers
This adds basic infrastructure for handling touch events in the toytoolkit.
2013-08-20 16:11:08 -07:00
Rusty Lynch
f26beb0607 input: Store touch position and time when we start an implicit touch grab 2013-08-20 16:11:08 -07:00
Rusty Lynch
36ced9b375 evdev: Use touch ID 0 when generating touch up event
device->mt.slot is uninitialized when we're not receiving the
evdev slot events.  Always use ID 0 as we do when we generate the
touch down and motion events.
2013-08-20 16:11:08 -07:00
Peter Hutterer
fd38e989b0 configure.ac: check for wayland scanner macro 2013-08-20 16:11:08 -07:00
Brian Lovin
0de49f7967 terminal.c: Check if fdopen() fails
If fdopen() fails we just close the fd and return, failing
the copy-and-paste.

Signed-off-by: Brian Lovin <brian.j.lovin@intel.com>
2013-08-20 16:11:08 -07:00
Peter Hutterer
9855960ac5 evdev: log when a device is used as touchpad 2013-08-20 16:11:08 -07:00
Peter Hutterer
ec03f0807a evdev: call evdev_device_destroy on failure
Avoid keeping keeping what needs to be freed in sync in multiple places,
make evdev_device_destroy do the right thing instead.
2013-08-20 16:11:08 -07:00
Peter Hutterer
52776d0d5a evdev: plug a potential memleak
For touchpads, device->dispatch is set up when exiting
evdev_handle_device() and a potential source for a memleak.
This can't actually happen at the moment, as evdev_handle_device() won't
fail for touchpads after setting up the dispatch but prevent this from
happening in the future.
2013-08-20 16:11:07 -07:00
Peter Hutterer
839c0b3d4a evdev: get the current slot value from the absinfo struct or mtdev
If touches are already present on the device, absinfo has the currently
active touch slot. There's a race condition where the slot may change before
we enable the fd and we thus miss out on the ABS_MT_SLOT event. It's still
slightly more correct than assuming whatever comes next is slot 0.
2013-08-20 16:11:07 -07:00
Peter Hutterer
765eee9cdf evdev: only use mtdev for Protocol A devices
For Protocol B devices, mtdev merely routes the events and is not needed.
For Protocol A devices, mtdev is needed, so fail for those devices now if we
mtdev fails.
2013-08-20 16:11:07 -07:00
Peter Hutterer
08b70c1c38 evdev: add comment why we're ignoring key value 2 2013-08-20 16:11:07 -07:00
Peter Hutterer
bb271b3755 evdev: prevent unterminated device name
The kernel copies up to sizeof(devname) bytes but doesn't null-terminate the
string if the device name exceeds the size of the supplied buffer.
2013-08-20 16:11:07 -07:00
Peter Hutterer
7112c49897 tty: fix typo in error message 2013-08-20 16:11:07 -07:00
Peter Hutterer
bd469da5b7 evdev: check for ABS_MT_POSITION_X/Y to determine mt devices
mtdev as currently used in weston is a noop. mtdev's purpose is to convert
Protocol A devices (without ABS_MT_SLOT) to Protocol B devices (slots).
For Protocol B devices mtdev merely routes the events, so checking for
slots and then using mtdev based on that adds no functionality.

Check for ABS_MT_POSITION_X/Y instead and use that to categorise a device
as MT device. mtdev will provide us with a slotted protocol for all devices.

https://bugs.freedesktop.org/show_bug.cgi?id=54428
2013-08-20 16:11:07 -07:00
Armin K
9eb7b13805 cms-colord: Don't redefine _GNU_SOURCE
warning: "_GNU_SOURCE" redefined [enabled by default]

See commit c228e23b
2013-08-20 16:11:07 -07:00
Kristian Høgsberg
7dcf12b847 gl-renderer: Only check for subimage when we have extension at compile time
If weston is compiled against a gl2ext.h that doesn't have the subimage
extension, but then run against a gles2 library that does provide it,
we end up disabling the glTexImage2D falback without having the subimage
code paths compiled in.
2013-08-20 16:11:07 -07:00
Kristian Høgsberg
07468dde8b Add workaround for broken GL_EXT_unpack_subimage tokens
Earlier versions of gl2ext.h defined the GL_EXT_unpack_subimage tokens
without the _EXT suffix.  That's been fixed and we're using the _EXT
tokens now, but just in case we're using an older, broken header, define
the _EXT tokens manually.
2013-08-20 16:11:07 -07:00
Kristian Høgsberg
a0ec31aa5e gl-renderer.c: Cast wl_resource to void * to avoid warning
The extension has been updated to take a wl_resource * now, but to avoid
warnings when compiling against older versions, just cast to void *.
2013-08-20 16:11:07 -07:00
Kristian Høgsberg
e7d3a309d6 gl-renderer: Test for GL_EXT_unpack_subimage not GL_UNPACK_ROW_LENGTH
It is defined by the mesa #include, which is just a copy of the official
Khronos header.  It's just defined in a different section than the
extension tokens.  In the mean time, the extension tokens were renamed
to add a _EXT suffix (eg GL_UNPACK_ROW_LENGTH -> GL_UNPACK_ROW_LENGTH_EXT)
and we silently failed to used the subimage extension.
2013-08-20 16:11:06 -07:00
Kristian Høgsberg
21f7c922a6 nested: Update to use weston-nested-client binary name 2013-08-20 16:11:06 -07:00
Stefan Schmidt
51595b9b22 clients: Fix typo in simple-touch and simple-shm.
listenter -> listener. Better fix it now before it spreads further.

Signed-off-by: Stefan Schmidt <s.schmidt@samsung.com>
2013-08-20 16:11:06 -07:00
Bryce Harrington
9bdc1d5988 Drop extraneous duplicate header includes
Signed-off-by: Bryce Harrington <b.harrington@samsung.com>
2013-08-20 16:11:06 -07:00
Kristian Høgsberg
0fea291f5a compositor: Check wl_resource_create() return value
This fixes a number of call-sites to properly check for NULL and return
the no memory event when allocation fail.
2013-08-20 16:11:06 -07:00
Kristian Høgsberg
95151bfc8e data-device.c: Handle failure to allocate offer in weston_drag_set_focus
If we fail to allocate and send the offer, don't send the drag enter and
don't set the drag focus so we don't send motion events or leave.
2013-08-20 16:11:06 -07:00
Kristian Høgsberg
403931ed22 data-device.c: Handle OOM in wl_data_source_send_offer()
If we fail to allocate the resource, clean up and return NULL.
2013-08-20 16:11:06 -07:00
Rob Bradford
62af918cdb desktop-shell: Refactor launcher configuration reading to avoid leaking 2013-08-20 16:11:06 -07:00
Rob Bradford
d3cca9f8d2 compositor-x11: Don't leak the looked up name for skipped outputs 2013-08-20 16:11:06 -07:00
Rob Bradford
35483aaab9 window: Free the allocated display if we fail to setup libxkbcommon 2013-08-20 16:11:05 -07:00
Kristian Høgsberg
6b2e3f3722 clients: Introduce xmalloc() and use it a few places
For the sample clients we introduce xmalloc() to simplify OOM-handling.
This patch only converts a few callsites, but this will be our strategy
going forward.
2013-08-20 16:11:05 -07:00
Rob Bradford
926a796173 tablet-shell: Avoid leaking the path on failed icon loading 2013-08-20 15:48:06 -07:00
Rob Bradford
f01d5647dc image: Free filename saved into structure on error path 2013-08-20 15:48:01 -07:00
Rob Bradford
f49bbf9755 compositor-drm: Use a format width parameter for the modeline sscanf 2013-08-20 15:47:55 -07:00
Rob Bradford
4303a8c6ab compositor-fbdev: Avoid dereferencing a pointer in freed memory
fbdev_output_destroy will free the memory passed into in and since we
want to pass the device name into fbdev_output_create we need to save
this to an intermediate value
2013-08-20 15:47:52 -07:00
Rob Bradford
86b18279d0 wcap-decode: Close file descriptor when destroying the decoder 2013-08-20 15:47:49 -07:00
Armin K
c4ebcd78a7 autotools: Correctly prefix simple-egl client name 2013-08-20 15:47:44 -07:00
Kristian Høgsberg
c5c9571bec weston-launch: Unblock our signalfd signals before execing child
Giovanni Campagna ran into this with mutter.
2013-08-20 15:47:34 -07:00
Rob Bradford
7adbbddee9 clipboard: remove the weston_seat destruction listener on destroy
Prior to freeing the memory in which the link node for the signal is
emedded we should remove the link node from the list to prevent the list
from being corrupted.

https://bugs.freedesktop.org/show_bug.cgi?id=67231
2013-08-20 15:44:03 -07:00
Rob Bradford
6c0a5ec022 text-backend: remove the weston_seat destruction listener on destroy
Prior to freeing the memory in which the link node for the signal is
emedded we should remove the link node from the list to prevent the list
from being corrupted.

https://bugs.freedesktop.org/show_bug.cgi?id=67231
2013-08-20 15:43:59 -07:00
Bryce W. Harrington
b3174f5fcf screenshot: Drop extraneous 'is' to improve warning msg grammar
Signed-off-by: Bryce Harrington <b.harrington@samsung.com>
2013-08-20 15:43:54 -07:00
Michael Fu
41a293b5b8 Reset touch focus in unmap
Otherwise, there will be race condition of visiting invalid surface data.
2013-08-20 15:43:51 -07:00
Louis-Francis Ratté-Boulianne
89f11d87ea xwayland: Remove transform listener when destroying the wm
Fix a segfault occuring after the last X window was closed.
2013-08-20 15:43:47 -07:00
Armin K
8cb42738af autotools: Add an option to install demo clients
This patch adds a configure option which will enable
user to install demo clients if desired. It is disabled
by default.

v2: Remove AC_DEFINE as it is not necesary
2013-08-20 15:43:40 -07:00
Armin K
e9afc57787 autotools: Rename demo clients
Prefix demo clients names with weston-, so they can
be installed if user desires.
2013-08-20 15:43:34 -07:00
Kristian Høgsberg
8d0ddf9b04 udev: Use WL_OUTPUT udev attribute for pairing touchscreens to outputs 2013-08-20 15:42:54 -07:00
Kristian Høgsberg
fb5a743406 evdev: Suport old-style single-touch touch screens
These screens send only BTN_TOUCH and ABS_X/Y.
2013-07-29 10:41:03 -07:00
Kristian Høgsberg
4f83c8a62b evdev: Use temporary x and y coordinates when applying calibration
Don't overwrite device->abs.x halfway through the matrix multiplication.
2013-07-29 10:40:58 -07:00
Kristian Høgsberg
38e8d70b2d evdev: Don't add output offset in evdev_process_absolute_motion()
We do that in weston_output_transform_coordinate() now.
2013-07-29 10:40:55 -07:00