If we failed to create an evdev device for an input, we should also be
closing the fd before we return
@fix
Signed-off-by: Chris Michael <cp.michael@samsung.com>
Summary:
Because vt mode of tty is set to VT_PROCESS,
ecore-drm is responsible for managing switch-to or switch-from other vt.
For that, ecore-drm has to handshake with kernel(tty driver).
On switch-from side(A):
1. Listen key event to satisfy vt switch key binding.
2. ioctl(fd, VT_ACTIVE, switch-to-vt) for activating switch-to vt.
3. Receive SIGUSR1(relsig) from kernel.
4. Prepare releasing vt, and ioctl(fd, VT_RELDISP, 1).
On switch-to side(B):
0. Kernel receive VT_RELDISP with value 1(ok) from switch-from vt.
1. Receive SIGUSR2(acqsig) from kernel.
2. ioctl(fd, VT_RELDISP, VT_ACKACQ), and start to setup vt.
This revision added A-1 step on above.
Test Plan:
On booted PC with systemd.
1. launch enlightenment_start with drm and wayland
ex) ECORE_DRM_TTY=/dev/tty1 \
E_WL_FORCE=drm \
ELM_ENGINE=wayland_shm enlightenment_start
2. try to switch vt by pressing "Ctrl + Alt + (F1 ~ F8)"
Reviewers: gwanglim, stefan_schmidt, devilhorns
Subscribers: cedric
Differential Revision: https://phab.enlightenment.org/D1280
This implements ecore_evas_pointer_xy_get for the drm engine, However
this is simply using evas_pointer_output_xy_get for the moment because
I need to add ecore_drm functions for getting pointer position.
@fix
Signed-off-by: Chris Michael <cp.michael@samsung.com>
Summary:
The pointer used is not freed at the end of the function which
results resource leak.
@fix
Test Plan: Not Available
Reviewers: seoz, raster, cedric
Reviewed By: cedric
Subscribers: raster, seoz, cedric
Differential Revision: https://phab.enlightenment.org/D1438
Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
Summary:
Set parts into intermediate state of programs transition.
0.0 represents the start state, 1.0 - the final state. Other values will set
parts to an intermediate state taking into account programs transition type.
Reviewers: seoz, Hermet, cedric
Reviewed By: cedric
Subscribers: cedric, reutskiy.v.v
Differential Revision: https://phab.enlightenment.org/D1435
Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
Summary:
Stops all running programs. If any program has "after" field its value
will be ignored.
Reviewers: cedric, seoz, Hermet
Subscribers: cedric, reutskiy.v.v
Differential Revision: https://phab.enlightenment.org/D1433
Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
This patch adds a list of strings called 'ctor_of' to
_Eolian_Function. This list will contain all classes in which this
function is a constructing function.
ctor_of is filled in two moments:
* When filling the constructors of a class, class->full_name is inserted
in the 'ctor_of' of each constructor's function.
* When filling the implements of a class, if the function is a
constructor of its superclass it also becomes a constructor of the
current class, so class->full_name is also inserted in the 'ctor_of'
of each implement's function.
eolian_function_is_constructor gets a func and klass arguments. It goes
through ctor_of of func and returns EINA_TRUE if klass->full_name is
found, otherwise it returns EINA_FALSE.
This flag allows one to compile Eina++ replacing C++ exceptions with a
call to abort().
Please use EFL_CXX_THROW() macro instead of C++ throw() from now on.