This cleans up a lot of the build system. This makes everything
consistent, clean, less redundant and also fixes the issue of make clean
not cleaning up generated files.
Summary:
Currently, in cursor geometry get function, the text direction is not
returned if cursor is under cursor.
This patch fixs it by returning text direction for under cursor.
@fix
Reviewers: tasn
Subscribers: herdsman, cedric
Differential Revision: https://phab.enlightenment.org/D1505
In case application window locates in top left position,
The candidate word window provided by scim could overlap the position of entry widget when typing Chinese and Japanese.
In case application window locates in top left position,
The candidate word window provided by ibus could overlap the position of entry widget when typing Chinese and Japanese.
Summary: This adds a private function to call when a surface gets
deleted so we can cleanup properly.
@fix
Signed-off-by: Chris Michael <cp.michael@samsung.com>
Summary:
We had some duplication happening here when the IVI shell code got
added. This cleans up the surface creation code (parts of it were
being duplicated)
@fix
Signed-off-by: Chris Michael <cp.michael@samsung.com>
xdg_shell protocol supports minimizing surfaces. When elm apps request
iconification, they will call ecore_evas_iconified_set which in turn
will make use of the newly added ecore_wl_window_iconified_set function.
Signed-off-by: Chris Michael <cp.michael@samsung.com>
xdg_shell protocol provides functions to minimize a surface. This is
now implemented via ecore_wl_window_iconified_set.
NB: This Does Not work for wl_shell surfaces because wl_shell provides
no method to minimize.
Signed-off-by: Chris Michael <cp.michael@samsung.com>
These API functions will be called from ecore_evas to iconify an
Ecore_Wl_Window. This is implemented in the xdg_shell protocol
@feature
Signed-off-by: Chris Michael <cp.michael@samsung.com>
Wayland 1.6 is due in 2 weeks. The existing xdg_shell code here will
not function with current wayland (from git) unless we bump the xdg
version number.
@fix
Signed-off-by: Chris Michael <cp.michael@samsung.com>
xdg_shell supports setting a "class name" on a window by using
xdg_surface_set_app_id. This commit implements that.
@fix
Signed-off-by: Chris Michael <cp.michael@samsung.com>
We could have either wl_shell OR xdg_shell, so check if we have either
one before dispatching the interfaces_bound event.
@fix
Signed-off-by: Chris Michael <cp.michael@samsung.com>
places
Some paramaters here were being used, while others were not. This
fixes the various usage of EINA_UNUSED here to be proper.
Signed-off-by: Chris Michael <cp.michael@samsung.com>
Calloc 'can' fail so lets check the return and make sure 'global' is
valid else we will segfault.
@fix
Signed-off-by: Chris Michael <cp.michael@samsung.com>
Summary:
This fixes an issue that causes BiDi text to get wrapped even when
resizing the textblock to its native size.
The way we find the last visual item in the native line is wrong. The
'visual_pos' describes the visual position in the formatted layout, in
which wrapping may occur. So, this is really bad to use it for native
width calculations as well.
Also, there's no need to actually reorder the line - we just need the
last visual item.
This adds and uses a function very similar to _layout_line_reorder, in
which we retrieve the last visual item in the native line. This
function does not do any actual reordering, as the native layout is
disposed of after calculation is done.
Also, added GET_ITEM_LEN macro for convenience.
Fixes T1532
@fix
Test Plan: Added to evas textblock test suite in this patch
Reviewers: tasn
Subscribers: id213sin, JackDanielZ, cedric
Maniphest Tasks: T1532
Differential Revision: https://phab.enlightenment.org/D1353
this was bad - we never had eeze sensor events declared inside eeze
so they were only in the .h - they could be diff symbols and thus
valuses may not match. big @fix - it worked by luck, not design.
The C++ examples were being added twice. So the make distclean was tried after the Makefile was already removed.
Removes the EXAMPLES_SUBDIRS redundancy for the C++ examples.
This was affecting use of GL backend when having a transparent window. It
is actually a fix for a bug reported by Thanatermesis. It has been inspired
by D1229.
To reproduce the issue just do ELM_ACCEL=gl elementary_test -to "Icon transparent".
Now it's more clear and consistent. This commit complements the previous
eo_add commit (a7560dbc61).
Now eo_add should be matched with eo_del
eo_ref with eo_unref
eo_add_ref with eo_unref + eo_del
Essentially, the change is that if you have the ref to an object, you
need to unref it. Thus making ref/unref unneeded for most people who use
things (carefully) in c. If however, you would like to delete an object
previously created by you, you should eo_del (counter-part to eo_add).
It's still recommended you ref/unref when dealing with objects in
scopes, as you can't know when an object might just get deleted as a
by-product of another call.
This fixes an issue found by JackDanielZ.
Summary: This adds an ifdef trap for older versions of libudev which
do not provide udev_device_set_sysattr_value function. This fixes
broken EFL compile with older versions of udev.
@fix
Signed-off-by: Chris Michael <cp.michael@samsung.com>
Summary:
if (cmp == 0) - in false branch, cmp can not be equal to 0
else if (cmp < 0) - in false branch, cmp is atleast 1.
else if (cmp > 0) - it is abvious that cmp > 0.
Reviewers: cedric, seoz, raster
Subscribers: cedric, seoz
Differential Revision: https://phab.enlightenment.org/D1502
Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
Summary:
Added _ecore_drm_output_backlight_shutdown function to clean up
the resources related to backlight structure and initialized backlight structure
in _ecore_drm_output_create.
Signed-off-by: vivek <vivek.ellur@samsung.com>
Reviewers: devilhorns
Subscribers: cedric
Differential Revision: https://phab.enlightenment.org/D1501
Summary:
Created test suit for ecore_wayland and added test case for ecore_wl_init and ecore_wl_shutdown.
Signed-off-by: Srivardhan Hebbar <sri.hebbar@samsung.com>
Reviewers: devilhorns
Subscribers: cedric
Differential Revision: https://phab.enlightenment.org/D1498
this fixes drm vsync discovery when you have both drm and nvidia
drivers seemingly present in /dev but the intel drivers are the dri
ones and nvidiactl is there (who knows if it's used). keep the nvidia
drivers working too with a name/desc check on drm driver as the drm
driver is in fact nvidia's own and set flags appropriately
@fix
Summary:
Add condition to check if input is NULL in _device_add function
@fix
Signed-off-by: vivek <vivek.ellur@samsung.com>
Reviewers: devilhorns
Subscribers: cedric
Differential Revision: https://phab.enlightenment.org/D1493
Summary:
Added eeze_udev_syspath_get_sysattr_list API to get
list of sysattr of a device. It returns Eina list containing list
of system attributes.
Signed-off-by: vivek <vivek.ellur@samsung.com>
Reviewers: devilhorns
Subscribers: cedric
Differential Revision: https://phab.enlightenment.org/D1492
Summary:
In some cases of char or word wrapping, an empty line might be
accidentally added at the end of the paragraph. That line contains
no items. Of course, this line should not exist.
One outcome of this is that it causes wrong height values of the
paragraph, when the finalizing code uses the
_layout_last_line_max_descent_adjust_calc, which in turn
looks at that empty line to calculate the descent values.
@fix
Test Plan: Char-wrap and word-wrap tests to test suite included in this revision.
Reviewers: tasn
Subscribers: JackDanielZ, cedric
Projects: #efl
Differential Revision: https://phab.enlightenment.org/D1444
Summary:
Added eeze_udev_set_sysattr API to set value of various
system attributes of a device
Signed-off-by: vivek <vivek.ellur@samsung.com>
Reviewers: devilhorns
Subscribers: cedric
Differential Revision: https://phab.enlightenment.org/D1491
Summary:
Added cursor_name to Ecore_Wl_Window so that we can compare with input cursor name and avoid unnecessary cursor set calls to wayland.
Signed-off-by: Srivardhan Hebbar <sri.hebbar@samsung.com>
Reviewers: devilhorns
Subscribers: cedric
Differential Revision: https://phab.enlightenment.org/D1481
Before this change eo_add() used to create an object with 1 ref, and if
the object had a parent, a second ref.
Now, eo_add() always returns an object with 1 ref, and eo_add_ref()
preserves the old behaviour (for bindings).
eo_unref now un-parents if refcount is 0, and eo_del() is an alias for
eo_unref (will change to be a way to ensure an object is dead and goes
to zombie-land even if still refed).
Summary: During a device remove event, we should check that Eeze has
returned us a devpath to remove else we segfault when trying to strcmp
the device path later during actual remove.
@fix
Signed-off-by: Chris Michael <cp.michael@samsung.com>
Summary: This is mainly for debugging, but lets print out a bit more
information if a device fails to open.
@fix
Signed-off-by: Chris Michael <cp.michael@samsung.com>
from Eeze.
Summary: If we fail to get a devpath from Eeze for an input device,
then we need to error out gracefully and not add a failed input device.
@fix
Signed-off-by: Chris Michael <cp.michael@samsung.com>
When doing efreet_desktop_command_append_multiple we add all files from
command, whilst still looping command->files. So the command was created
with all files for all files.
Set l to NULL, since we parse all elements in command->files in
efreet_desktop_command_append_multiple to break the loop.
Summary: This commit has no functional changes, just
cosmetic/formatting to make the code easier to read.
@fix
Signed-off-by: Chris Michael <cp.michael@samsung.com>
Summary:
Added private internal functions to get various brightness levels
1) Added _ecore_drm_actual_brightness_get to get Actual brightness
2) Added _ecore_drm_max_brightness_get to get Max brightness
3) Added _ecore_drm_brightness_get to get Brightness
These functions will eventually be exposed with an API for ecore-drm
to get/set the backlight level for an output.
@feature
Signed-off-by: vivek <vivek.ellur@samsung.com>
Reviewers: devilhorns
Subscribers: cedric
Differential Revision: https://phab.enlightenment.org/D1482
Summary: This commit just modifies the internal code to remove the
need for an extra variable. There really is no need to store the
device twice. We already have it in the list of returned devices.
@fix
Signed-off-by: Chris Michael <cp.michael@samsung.com>
Summary:
removed check that disallows exact modifiers set.
I.e. if we need Ctrl+s without any other modifiers:
mask = evas_key_modifier_mask_get(obj, "Control");
evas_object_key_grab(obj, "o", mask, ~mask, false);
This works with keydown, but was broken with keyup.
Reviewers: cedric, seoz, Hermet, raster
Subscribers: cedric, reutskiy.v.v
Differential Revision: https://phab.enlightenment.org/D1474
Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
Signed-off-by: Carsten Haitzler (Rasterman) <raster@rasterman.com>
Summary: This ports the current backlight_init code to use Eeze
library instead of udev functions directly.
@fix
Signed-off-by: Chris Michael <cp.michael@samsung.com>
Summary: This changes all of our internal ecore-drm input code to use
Eeze library instead of udev directly.
@feature
Signed-off-by: Chris Michael <cp.michael@samsung.com>
for Ecore_Drm_Input
Summary: This commit removes all references to 'udev' in the private
header, and replaces udev_monitor (in Ecore_Drm_Input structure) with
an Eeze_Udev_Watch.
@fix
Signed-off-by: Chris Michael <cp.michael@samsung.com>
Summary: This converts the internal code of ecore_drm_device_find
function to use Eeze function calls instead of udev in order to locate
the drm card.
@fix
Signed-off-by: Chris Michael <cp.michael@samsung.com>
startup
Summary: This removes the variable & function calls to udev and adds
code to initialize/shutdown Eeze.
@fix
Signed-off-by: Chris Michael <cp.michael@samsung.com>
Summary: This adds support for backlight and leds devices for use with
an Eeze_Udev_Watch
@feature
Signed-off-by: Chris Michael <cp.michael@samsung.com>
Summary: Add code to find backlight and led devices inside
eeze_udev_find_by_type function. This will be used in Ecore-Drm to
find the backlight of an output.
@feature
Signed-off-by: Chris Michael <cp.michael@samsung.com>
Summary: Add additional types to Eeze udev device types for backlight
and leds. Ecore-Drm will use these types to locate the backlight in
order to support setting/getting the backlight level on an output.
@feature
Signed-off-by: Chris Michael <cp.michael@samsung.com>
Summary: If no device name was passed in to ecore_drm_device_find
function, then if we fail to find the default drm device on the first
call, there is No point in calling the same function again to get the
same result.
@fix
Signed-off-by: Chris Michael <cp.michael@samsung.com>
name is NULL.
Summary: This was totally wrong !! eeze_udev_find_by_type can be
passed EEZE_UDEV_TYPE_NONE to list all devices and it can also be
passed name == NULL to find All devices listed of a certain type. To
check for !etype && !name is just plain Wrong !! We have checks below
for a valid name (and then do a comparison).
@fix
Signed-off-by: Chris Michael <cp.michael@samsung.com>
merged from maelstrom/azy. commonly used functionality for eina_value with _util_ namespace to make them easier to find in the value header nightmare
@feature
Summary: oopsie !! Big fat copy/paste error :( This fixes the return
value for the eeze_udev_syspath_get_sysnum function
@fix
Signed-off-by: Chris Michael <cp.michael@samsung.com>
Summary: This adds an API function to return the sysnum of a device
based on syspath. This is needed in ecore-drm to return the id
(sysnum) of a drm device.
@feature
Signed-off-by: Chris Michael <cp.michael@samsung.com>
Summary: This adds an API declaration for getting the sysnum of a
device from the syspath. This is needed in the ecore-drm code to fetch
the id of a device.
@feature
Signed-off-by: Chris Michael <cp.michael@samsung.com>
Someone fixed a CID without looking of the full use path a data, resulting
in a value being used after free and stored in edje file. Leading to a garbage
string with no meaning for those poor externals.
umask() sets the permissions of the file to read-only on Windows
(see umask documentation on MSDN).
This breaks the creation of .edj file (epp needs to modify the
created file).
Anyway, on Windows, permissions should be given to anybody.
@fix
Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
This moves the mainloop check inside the function. There was never need
for it to be in client code (i.e a header/macro).
This is better suited inside eo_do_start because this is a macro some
bindings have to re-implement, and we definitely don't want it to be any
more complicated than it has to be.
This breaks ABI and makes elm 1.12 depend on efl 1.11. This is not an issue
as because of eolian and interfaces it's already the case.
Summary:
Added initial support for backlight in drm by adding various structures
and provided api for initializing the backlight struct.
Signed-off-by: vivek <vivek.ellur@samsung.com>
Reviewers: devilhorns, stefan_schmidt
Subscribers: stefan_schmidt, cedric
Differential Revision: https://phab.enlightenment.org/D1448
Summary:
This reverts commit f6eb1f17a1.
This will result into failure of edc compilation with recursive use of include.
Reviewers: cedric, raster, seoz
Reviewed By: seoz
Subscribers: chinmaya061, cedric, seoz
Differential Revision: https://phab.enlightenment.org/D1475
Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
Summary: This changes all of our internal dbus code for ecore-drm to
work with async Eldbus calls. This adds a potential delay to startup
in that input devices may not be immediately available for use, but is
unavoidable due to Eldbus not having a dbus function call to block for
a reply.
@fix
Signed-off-by: Chris Michael <cp.michael@samsung.com>
Summary: Eldbus runs async so we needed to rework the internal input
code to function with it. This commit changes the iternal code to
issue a device open, and then wait for Eldbus to return us a callback
from the proxy that the device open is finished. This Does add a delay
during startup (which means devices will not always be immediately
ready for use) but thus is the nature of Eldbus.
@fix
Signed-off-by: Chris Michael <cp.michael@samsung.com>
Summary: In porting Ecore_Drm to use Eldbus, I had to change some
internal functions to work with the async nature of Eldbus. As a
result, I had to modify some private local functions.
@fix
Signed-off-by: Chris Michael <cp.michael@samsung.com>
NB: This reintroduces the Coverity Resouce Leak detected with CID1039276
Summary:
When ecore_x_window_prop_property_get returns 0, data is already NULL hence
no need to free NULL value. This fault was introduced in 45a2296218
while fixing coverity defects.
Reviewers: seoz, cedric, raster, devilhorns
Subscribers: cedric, seoz
Differential Revision: https://phab.enlightenment.org/D1473
Summary:
add opportunity get the buffer with sound data for certain sound
from the given edje object. It is needed to play some sound with logic API.
@feature
Reviewers: Hermet, raster, seoz, reutskiy.v.v, NikaWhite, cedric
Subscribers: cedric
Differential Revision: https://phab.enlightenment.org/D1422
Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
Summary:
evas_gl_symbols() (introduced in commit 9a9d78d) was not dlsym()ed
which led to unloaded symbols, so NULL function pointers which were happily
dereferenced, leading to an early segfault, and therefore to a broken engine.
@fix
Reviewers: cedric, raoulh
Subscribers: cedric
Differential Revision: https://phab.enlightenment.org/D1440
Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
Summary:
As mentioned in TODO in eina_bench.c I added the code to loop through _modules array and delete each item.:
Signed-off-by: kabeer khan <kabeer.khan@samsung.com>
Reviewers: cedric, raster
Subscribers: cedric
Differential Revision: https://phab.enlightenment.org/D1446
Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
Summary:
New test case for Eina_Trash was added
Signed-off-by: kabeer khan <kabeer.khan@samsung.com>
Reviewers: raster, cedric
Subscribers: cedric
Differential Revision: https://phab.enlightenment.org/D1460
Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
Summary:
edje_edit_state_text_source_set shouldn't replace existing text.
edje_edit_state_text_set should update text in other parts, that are using given part as text.text_source
Reviewers: seoz, Hermet, cedric
Reviewed By: cedric
Subscribers: cedric, reutskiy.v.v
Differential Revision: https://phab.enlightenment.org/D1463
Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
Summary:
1) Created a event struct for data source cancel event
2) Raise a event when data source is cancelled
Signed-off-by: vivek <vivek.ellur@samsung.com>
Reviewers: devilhorns
Subscribers: cedric
Differential Revision: https://phab.enlightenment.org/D1465
Make check would even fail on 32bit machines because of that:
Lua tables are not arrays and lua_next doesn't ensure the order
of the elements as I wrongly assumed.
@fix
Fixes T1615
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
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.
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.
Instead using $TMPDIR and falling back to /tmp we now try $XDG_RUNTIME_DIR
first.
"$XDG_RUNTIME_DIR defines the base directory relative to which user-specific
non-essential runtime files and other file objects (such as sockets, named
pipes, ...) should be stored. The directory MUST be owned by the user, and
he MUST be the only one having read and write access to it. Its Unix access
mode MUST be 0700."
While improving our security by isolating these files from other users this
has the potential to break things. I have not seen any breakage in testing
but keep this commit in mind if something strange happens on your system.
While some docs have been added for these nobody added them to the
main ecore page. Which in turn makes them invisible for people reading
our docs.
I found three ecore family members to not even having a brief group
description: cocoa, pslight and sdl.
Would be good to get some basic docs in for them.
Summary: Variable palpriv is going out of scope and leaks the storage it points to,
if we do not free it before exiting.
Test Plan: NA
Reviewers: seoz, raster, cedric
Subscribers: cedric, seoz
Differential Revision: https://phab.enlightenment.org/D1429
Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
even if not necessary in this particular case,
do as in eet_mmap() and eet_open(),
lock the cache before altering Eet_File struct.
fix CID 1039366 1039367 1039368 1039369
While it is bad that the given device is not found we fall back here
to the default one. Still good to mention it in the error message as
it can be confusing when we read that the device could not be found
be it still works.
From now on, there are 5 builtin complex types, particularly accessor, array,
iterator, hash and list. All other types are simple - they can't have a complex
part. Also, the <> now binds to the type itself, not the pointer. More builtin
complex types will be added as needed.
When the application exits, an event cancels the DnD, that invokes the
Wayland release of data source but this was not setting an internal
pointer to NULL. ecore_wl_shutdown was then trying to use the same
Wayland API on the non-set internal pointer (via _ecore_wl_input_del),
that was leading to a segmentation fault.
This bug never occurred because some bug in Copy&Paste was preventing it
to reach this part of code.
Summary:
This is a fix to one of the FIXME in the code, evas_object_textblock.c
Signed-off-by: Srivardhan Hebbar <sri.hebbar@samsung.com>
Reviewers: herdsman, tasn
Subscribers: cedric
Differential Revision: https://phab.enlightenment.org/D1383
Local and base class functions are supported.
When @empty is provided, dummy functions (initializing the parameters with default
values if needed) are generated.
When @auto is provided on properties, access to internal data variables is done. On
set, it will assign parameters values to private data members. On get,
parameters are set with private data members values.
See the supplied tests as examples.
@feature
This is a critical performance issue that was introduced during our move
to eo2. This code was still eo1 style so I guess it was just forgotten.
The result is that canvas with large numbers of widget were slower after
the migration.
@fix
before trying to use it
eo_data_scope_get Could return NULL if it does not find valid
ecore_timer_data on this object. We should check that return before
just Assuming that timer data is valid.
@fix
Signed-off-by: Chris Michael <cp.michael@samsung.com>
Now they're registered correctly. Also, add new API, eolian_implement_is_virtual.
Also, deal with get/set properly (when filling in additional implements)
Summary:
evas_font_dir_cache_free() is called twice in evas_shutdown().
evas_common_shutdown() will call evas_font_dir_cache_free().
Test Plan: NONE
Reviewers: tasn, woohyun
Subscribers: herdsman, cedric
Differential Revision: https://phab.enlightenment.org/D1417
eina_tls_get is really slow, having a fast path for the main loop does really
help us right now. It is also unlikely that slowing down a little bit the use
of eo in thread is going to have any impact on application speed any time soon.
I win a +10% on expedite benchmark compared to without.
Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
This fixes an issue where we had to hard-code the resolution in the
wl_drm module. Instead, we now properly get the current screen
resolution/mode from the drm library and use that.
NB: This is needed to fix wl_drm module in Enlightenment to setup the
proper resolution.
@fix
Signed-off-by: Chris Michael <cp.michael@samsung.com>
This adds the ecore_evas function pointer for
ecore_evas_screen_geometry_get. This will be used from the drm
compositor to return the current screen geometry.
@feature
Signed-off-by: Chris Michael <cp.michael@samsung.com>
This adds an API function that we can call to return the screen
geometry. This will be used from ecore_evas to get the screen_geometry.
@feature
Signed-off-by: Chris Michael <cp.michael@samsung.com>
As the implements list will soon contain all methods and properties,
do some preparations. The Eolian library now fills in class field in
implements early on when the implement is local. The Eolian C generator
now checks for local implements and skips them (so that things don't break).
Summary:
Now, evas gl-drm engine is using ecore_drm instead of its own code to handle tty.
This patch has removed obsolete tty handling codes from engine. It is almost the same as what
Stefan Schmidt did to evas drm engine.
Test Plan: N/A
Reviewers: devilhorns, cedric, raster, stefan_schmidt
Subscribers: cedric
Differential Revision: https://phab.enlightenment.org/D1409
Summary:
No need to check tty fd again as we just did that.
Remove this and adjust indent.
Test Plan: N/A
Reviewers: devilhorns, stefan_schmidt, raster
Subscribers: cedric
Differential Revision: https://phab.enlightenment.org/D1407
Summary:
Add code to generate edc source for all transition types used in program block.
_edje_generate_source_of_program() api generates program source code from the edje object.
Very few transition types are handled in the function. Added code to generate edc source
code for all the transition types.
Reviewers: govi, raster, jpeg, zmike, cedric
@feature
Subscribers: cedric
Differential Revision: https://phab.enlightenment.org/D1367
Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
Summary: Get rid of the old NSApplicationLoad() which was aimed to be use with Carbon. Unless the NSRunLoop is strictly integrated to the ecore_main_loop() (where cocoa events would be checked when entering the ecore_main_loop) I think the poller is the only option left.
Reviewers: raster, naguirre, raoulh, stefan_schmidt, cedric
@feature
Subscribers: cedric
Differential Revision: https://phab.enlightenment.org/D1222
Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
Summary:
Without compilation will fail on :
error: unknown type name 'pix_type'
error: expected identifier or '(' before 'else'
Applies to efl-1.11.0 and later
Bug: https://phab.enlightenment.org/T1620
Bug-Tizen: PTREL-737/part
Change-Id: Idbcb442803ed6559698b2a371d1d6c584ec053e0
Signed-off-by: Philippe Coval <philippe.coval@open.eurogiciel.org>
Test Plan:
gbs build -P "profile.tizen_common_armv7l" --arch armv7l --include-all
@fix
Reviewers: cedric
Subscribers: cedric
Differential Revision: https://phab.enlightenment.org/D1399
Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
This is needed when get properties or methods have to return a
value in case of failure or to initialize parameters.
The way used is to generate an intermediate function that will
initialize the parameters and then invoke the "user" function.
This adds a few new APIs to retrieve the type of an expression, operators
for binary and unary expressions, lhs/rhs for binary expressions, expr for
unary expressions and value for other expressions.
Summary:
Evas Textblock ellipsis is handled in a item.
When the ellipsis item is added in the text, some characters are cut off
considering width of ellipsis character.
But, it is handled in only one text item.
If there are many short text item, the ellipsis item can be cut off visually.
And there was a bug in the patch when text is displayed in two lines or more.
The bug is also fixed.
Fixes Phab ticket T1213
@fix
Test Plan: This commit includes test case.
Reviewers: woohyun, seoz, sohyun, tasn, raster
Subscribers: cedric, herdsman
Differential Revision: https://phab.enlightenment.org/D1360
Summary: The first version of .eet format is added.
Reviewers: Hermet, raster, cedric
Subscribers: cedric
Differential Revision: https://phab.enlightenment.org/D1307
this fixes gst and gst1 modules to leave volume be on start. generic
can't really query easily, so just set to 0.8 by default, and xine is
already just fine. do this because back-ends seems to have a habit of
setting master volume, not per-app volume.
@fix
This enables checking if an object is being created, or has already been
finalized. This is useful in functions that you want to allow
only during the creation phase (i.e inside the eo_add()).
This #ifdef does not belong here. The interface_new functions Is Still
Used for normal drm ecore_evas.
Bad Gwanglim, no cookie ;)
@fix
Signed-off-by: Chris Michael <cp.michael@samsung.com>
create, call it
Basically, this will fix a potential leak (and a potential case of a
false output getting added) IF during creation of outputs, something
fails.
@fix
Signed-off-by: Chris Michael <cp.michael@samsung.com>
@fix
Summary:
This fixes following build script problems for ecore_evas_drm engine module.
1. Missing link to gbm for ecore_evas_drm if '--enable-gl-drm' option is given.
ecore_evas_drm engine is using gbm function if it builds with that config option.
To be more exact, ecore_evas_gl_drm_new_internal function needs gbm.
Thus we need to add gbm library linking '-lgbm' to ecore_evas_drm engine module
if '--enable-gl-drm' option is given. I've added this build script to
m4/ecore_check_module.m4 file.
2. Wrong gbm dependency check code in configure.ac
EFL_OPTIONAL_INTERNAL_DEPEND_PKG m4 macro function is designed for checking
dependency of efl internal libraries. Thus we should remove gbm pkg name when
configuring ecore_evas_drm engine module. It would be better to move dependency
check for gbm to m4/ecore_check_module.m4 file. And one more thing want_drm
value has to be changed to want_gl_drm in ECORE_EVAS_MODULE([gl-drm]...).
3. BUILD_ECORE_EVAS_OPENGL_DRM macro is always defined in configure.ac.
This kind of macro, BUILD_EFL_MODULE_NAME, has to be defined only if given module
is enabled. But this macro value was just defined with no test.
And it is even useless, we can use BUILD_ECORE_EVAS_GL_DRM macro which is defined
by ECORE_EVAS_MODULE([gl-drm], [${want_gl_drm}],...) function.
So I've removed that from configure.ac.
Test Plan:
1. Configure with --enable-gl-drm:
$ ./autogen.sh --enable-drm --enable-gl-drm
2. Build:
$ make && make install
3. Check module.so of ecore_evas_drm engine whether it has a library dependency with gbm:
$ readelf -a $EFL_GIT/src/modules/ecore_evas/engines/drm/.libs/module.so | grep NEEDED
Reviewers: raster, stefan_schmidt, devilhorns
Reviewed By: devilhorns
Subscribers: cedric
Differential Revision: https://phab.enlightenment.org/D1379
Summary: The '-e' option does not exist in BSD-echo, nevertheless it behaves by default like the "echo -e" of the GNU-echo.
Reviewers: raster, cedric
Subscribers: cedric
Differential Revision: https://phab.enlightenment.org/D1376
Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>