Summary:
this event is to notify session activation state to compositor.
thus compositor can change composite state by this event.
Reviewers: devilhorns
Subscribers: torori, cedric
Differential Revision: https://phab.enlightenment.org/D1767
Summary: This fixes the touch events to actually send button down/up
when the proper touch event occurs
@fix
Signed-off-by: Chris Michael <cp.michael@samsung.com>
Summary: When the output size gets updated, it could end up changing
the device calibration (wrt input event transformation), so we should
update the device calibration also
@fix
Signed-off-by: Chris Michael <cp.michael@samsung.com>
Summary: Due to the change of order in creating outputs & inputs, we
need an additional goto error for destroying inputs if output_create
fails
@fix
Signed-off-by: Chris Michael <cp.michael@samsung.com>
Summary: Call function to create drm input devices Before we create
outputs. This is done so that when outputs Do get created, it will
update the input's known size of output for device coordinate
transformation
@fix
Signed-off-by: Chris Michael <cp.michael@samsung.com>
device structure
Summary: This is used to update all input devices as to the new output
size so that input device events can get their coordinates transformed
into output coords
@fix
Signed-off-by: Chris Michael <cp.michael@samsung.com>
function for setting size
Summary: This is needed so that events for mouse, touch, etc can get
transformed into output coordinates
@fix
Signed-off-by: Chris Michael <cp.michael@samsung.com>
Summary: When we exit the backlight_init function, we should
stringshare_del the returned device strings from eeze properly
@fix
Signed-off-by: Chris Michael <cp.michael@samsung.com>
Summary: This adds code to handle various touch events (up, down,
motion) so that touchscreen devices can work with ecore_drm.
@feature
Signed-off-by: Chris Michael <cp.michael@samsung.com>
Summary: This was causing crashes in libinput when trying to print out
via eina_log. Disable/Remove it. Let libinput print it's own logs.
@fix
Signed-off-by: Chris Michael <cp.michael@samsung.com>
After the introduction of the non-systemd launcher the linking with systemd
enabled failed for me.
lib/ecore_drm/.libs/libecore_drm.so: undefined reference to `sd_pid_get_session'
Better we make sure that we actually setup the linker flags for the systemd use
case as well.
Summary: if ecore-drm failed to be run after changing tty mode, need to restore VT to text mode.
Test Plan:
- run enlightenment(drm backend) without systemd.
after changing tty graphics mode, if it's failed to be run by any reason,
you'll see black screen and coulnd't control session.
@fix
Reviewers: devilhorns
Reviewed By: devilhorns
Subscribers: cedric
Differential Revision: https://phab.enlightenment.org/D1764
Summary: added code to free string of tty's name when failed to setup tty.
@fix
Reviewers: devilhorns
Reviewed By: devilhorns
Subscribers: cedric
Differential Revision: https://phab.enlightenment.org/D1763
Summary: need to clean also dbus, when failed open VT as a connection progress of logind.
@fix
Reviewers: devilhorns
Reviewed By: devilhorns
Subscribers: cedric
Differential Revision: https://phab.enlightenment.org/D1756
Summary:
The name was freed after exit, so freeing it before and also freeing in a error case. There was a return statement after exit, thought it was redundant and removed.
@fix
Signed-off-by: Srivardhan Hebbar <sri.hebbar@samsung.com>
Reviewers: devilhorns, cedric
Reviewed By: cedric
Subscribers: cedric
Differential Revision: https://phab.enlightenment.org/D1758
Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
There was a problem when checking whether the current surface
is compatible with direct rendering. In case of client-side
rotation (it's a flag set on the surface by the app), a surface
can be directly rendered even if the rotation is not 0.
But, before this patch, it was assumed that the surface was
current. Which doesn't make sense because make_current is
called by the pixel callback, from the application, and this
happens *after* we check for direct rendering.
As a consequence, it was not possible to mix directly rendered
surfaces with FBO-based ones, and use client-side rotation.
This patch should solve that issue.
Merge branch 'devs/devilhorns/libinput'
Summary: These commits port the current ecore_drm input code to use
libinput for handling of devices, input events, etc
@feature
Summary: This ports the input code of ecore_drm to make use of
libinput for handling of devices, events, etc
@feature
Signed-off-by: Chris Michael <cp.michael@samsung.com>
Summary: We can only call _ecore_drm_logind_device_close if we have an
actual device string. It is possible that this Could get called with
NULL, and thus cause a crash.
@fix
Signed-off-by: Chris Michael <cp.michael@samsung.com>
Summary: With the port to libinput, some fields in the input & evdev
structures are not needed anymore, so this commit cleans those up.
@fix
Signed-off-by: Chris Michael <cp.michael@samsung.com>
Summary: This adds an API function to find a device by
subsystem_sysname. This is needed for the port of ecore_drm to use
libinput.
@feature
Signed-off-by: Chris Michael <cp.michael@samsung.com>
Summary: This adds an API function declaration for
eeze_udev_find_by_subsystem_sysname function which is needed for the
porting of ecore_drm to use libinput
@feature
Signed-off-by: Chris Michael <cp.michael@samsung.com>
Summary: ecore-drm will now require libinput for handling input
devices, so this commit adds a configure check for libinput
Signed-off-by: Chris Michael <cp.michael@samsung.com>
Summary:
- allow to launch drm backend without systemd-logind with root privilege.
- allow to open drm device node via logind, not directly open it, in case exist systemd-logind.
- fixes issue that couldn't switch session, because ecore-drm couldn't drop master to drm device with no permission. (allow to switch session appropriate.)
Reviewers: gwanglim, devilhorns
Subscribers: torori, cedric
Differential Revision: https://phab.enlightenment.org/D1704
Summary:
In the end we should call eina_shutdown, but by mistake eina_init is being called. So have corrected that.
@fix
Signed-off-by: Srivardhan Hebbar <sri.hebbar@samsung.com>
Reviewers: devilhorns
Subscribers: cedric
Differential Revision: https://phab.enlightenment.org/D1751
Summary: This fixes a leak in the xcb engine where the Outbuf_Region
was not being freed.
@fix
Signed-off-by: kabeer khan <kabeer.khan@samsung.com>
Reviewers: devilhorns
Subscribers: cedric
Differential Revision: https://phab.enlightenment.org/D1750
Summary:
I observed that eina_init() was called twice in this function and eina_shutdown() once. So thought this might be a mistake, and so have cleaned it.
Signed-off-by: Srivardhan Hebbar <sri.hebbar@samsung.com>
Reviewers: devilhorns, cedric
Reviewed By: cedric
Subscribers: cedric
Differential Revision: https://phab.enlightenment.org/D1748
Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
If an app calls glDisable(SCISSORS) and uses direct rendering,
then the DR scissors were dropped and so glClear would erase
the contents of the entire canvas, instead of being restricted
to the image object.
Example scenario:
- Create a direct rendered Evas GL 'sfc' 'ctx'
- Create a PBuffer dummy surface, make it current
- Do some stuff
- Make current (NULL, NULL) to go back to no target
- Make current (sfc, ctx)
--> glClear() will not render anything on screen
Reason:
The current FBO binding is still set to the implicit FBO
bound to the PBuffer surface (it could be any surface, really).