Summary:
If the function jumpes to the error, the scope data is freed, this is
wrong, just the object should be destroyed, so not free, just eo_unref
the object. Cause the object is just added above the object ref count
should get 0 and obj will get removed
Test Plan: Use the ecore_con_server_client_limit_set function and set the max count to 1, at the connect of a second client the server will fail at this free.
Reviewers: tasn
Subscribers: cedric
Differential Revision: https://phab.enlightenment.org/D1459
Summary:
Instead of repeating the clean-up code if any initialization fails in the init function, I've moved those to one location and added goto.
Signed-off-by: Srivardhan Hebbar <sri.hebbar@samsung.com>
Reviewers: devilhorns
Subscribers: cedric
Differential Revision: https://phab.enlightenment.org/D1461
Summary:
1. Added cursor_theme_name to Ecore_Wl_Input struct.
2. Made it configurable through environment variable ECORE_WL_INPUT_CURSOR_THEME_NAME.
3. Added a API ecore_wl_cursor_theme_name_set for user to set manually.
Signed-off-by: Srivardhan Hebbar <sri.hebbar@samsung.com>
Reviewers: devilhorns
Subscribers: cedric
Differential Revision: https://phab.enlightenment.org/D1458
Summary: C++ takes the second typedef as redefinition and yields errors.
Reviewers: zmike, tasn
Reviewed By: tasn
Subscribers: larry, cedric, felipealmeida
Differential Revision: https://phab.enlightenment.org/D1455
Summary:
1. Added cursor_size to Ecore_Wl_Input struct.
2. Made it configurable through environment variable ECORE_WL_INPUT_CURSOR_SIZE.
3. Added a API ecore_wl_input_cursor_size_set for user to set manually.
Signed-off-by: Srivardhan Hebbar <sri.hebbar@samsung.com>
Reviewers: devilhorns
Subscribers: cedric
Differential Revision: https://phab.enlightenment.org/D1456
Conflicts:
src/lib/ecore_wayland/ecore_wl_private.h
This commit moves the typedef struct to just above the structure, and
moves the external variable below the structure definition. No real
functional changes, just some cleanup.
Signed-off-by: Chris Michael <cp.michael@samsung.com>
Summary:
This adds opengl_drm to the list of ecore-evas available engines.
Now, we can test opengl_drm engine using expedite.
Test Plan: run expedite with opengl_drm option
Reviewers: devilhorns, stefan_schmidt, cedric, raster
Subscribers: cedric
Differential Revision: https://phab.enlightenment.org/D1453
Summary:
These are obsolete codes because evas engines no longer
has a use case for handling the drm file descriptor. And also it
is the same change as what Stefan Schmidt did to evas_drm.
Test Plan: N/A
Reviewers: devilhorns, stefan_schmidt, cedric, raster
Subscribers: cedric
Differential Revision: https://phab.enlightenment.org/D1452
Added eet into internal dependencies for ethumb_client
I got below errors for ethumb_client
CCLD bin/ethumb_client/ethumbd
lib/edje/.libs/libedje.so: undefined reference to `ecore_imf_context_input_hint_set'
lib/edje/.libs/libedje.so: undefined reference to `ecore_imf_context_input_hint_get'
collect2: error: ld returned 1 exit status
This commit fixes VT switching in the ecore_drm library code to work
again. Previously we were not dup'ing the stdin fd which lead to
inappropriate ioctls for that fd. Fix that by adding the missing dup
call. This also adds more error messages during ioctl function calls,
and cleans up the switching handler code (for keyboard events).
@fix
Signed-off-by: Chris Michael <cp.michael@samsung.com>
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.