This introduces XPixmap usage for indirect rendering.
Of course this works only for the gl_x11 engine... and for
now only when using EGL... and only on some drivers...
damn limitations.
Direct rendering should work on more platforms (eg. some desktop
nvidia cards with the EGL drivers).
Add version param to context_create.
Add support for 1.1 contexts in the GL_X11 engine, and checks
for version in all other engines (return NULL).
Add API wrappers for all OpenGL-ES 1.1 APIs (normal and debug
modes).
This commit adds lots of required definitions (GL_ stuff),
new API entries in the Evas_GL_API struct, and basic new APIs
to create OpenGL-ES 1.1 contexts.
@feature
Welp, glGetString() crashes if called before eglInit... And this
piece of code is now useless because "safe native" mode is not
used anymore (safe_native is never read).
Remove all safe native-related code.
When using EGL, this function should return the properties of
a surface. Limited to a subset of known attributes.
Right now, this function will only work fine with EGL.
GLX support or any other engine is not implemented.
@feature
This should add support for the following EGL extensions:
- EGL_KHR_fence_sync
- EGL_KHR_reusable_sync (eglSignalSyncKHR)
- EGL_KHR_wait_sync (eglWaitSyncKHR)
@feature
evas gl CreateImage function was assuming the current context
should be used to create an image, while the equivalent EGL function
specifically requires the context to be specified.
This also imports some definitions for CreateImage.
And fixes typo in glEGLImageTargetRenderbufferStorageOES.
This adds new functions in Evas_GL_API struct. The version
number will be bumped to 2 in a later commit.
@feature
This is a new feature allowing direct rendering even when
the view is rotated. In that case, the application is responsible
for rotating its view and rendering it properly given the object
geometry.
This implements support for the flag
EVAS_GL_OPTIONS_CLIENT_SIDE_ROTATION
@feature
This will be used to increase the chances of having direct
rendering (no fallback to FBO) even if the window is rotated.
The client is then responsible for handling the view rotation.
@feature
When using direct rendering, glClear() should not do anything
if the ClearColor was (0,0,0,0). The application would indeed
expect a transparent output (so, see the widgets below the view),
but glClear would erase the pixels instead. So add a quick check
to skip glClear entirely in that specific case.
Summary:
add recalculating of image id in edje_edit_image_usage_list_get() to fix wrong behavior of this function when the image has USER compression.
@fix
Reviewers: Hermet, cedric, raster, reutskiy.v.v
Subscribers: cedric
Differential Revision: https://phab.enlightenment.org/D1547
Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
This function returns the base_scale factor set on the
Edje object.
The base_scale can be set in the collection of edc.
If it isn't set, the default value is 1.0.
Summary: edje_edit_data_add doesn't work if loaded EDJ file doesn't contain
any data items. It can't add new data item to emptry (NULL) hash.
Now, if there is no data in EDJ yet (so hash is empty), by adding new data it
will create hash and after that will add new data.
@fix
When using eio_file_stat_ls() (or any other exposing Eio_File *handler),
it will not be possible to use it from the main callback due to eio
freeing data too fast from the thread.
Moved frees from _eio_file_eina_ls_heavy() to eio_async_end() to be
sure that all the calls to main callback are over.
This implied adding the Eina_Iterator from eina_file_stat_ls to
the _Eio_File_Ls structure.
If connect() returns 0, we must send the ECORE_CON_EVENT_SERVER_ADD event
because it wont be given by select(). select() will ONLY notice it if connect
returns -1 with errno set to EINPROGRESS.
This bug is reproductible with 100% chance using ecore_con_telnet_client example
from https://github.com/gfriloux/examples if you connect to 127.0.0.1 instead of
of an external network ip, under FreeBSD (and likely any BSD).
Seems very rare to trigger it under GNU/Linux as it seems that connect()
doesnt want to return 0 when having non blocking sockets (or is too slow),
but it seems i was having this bug too on production servers, without being
ever able to reproduce it.
Summary:
This is a fix of those warnings. Sorry for existence of them.
CC lib/evas/common/lib_evas_libevas_la-evas_alpha_main.lo
../../src/lib/evas/canvas/evas_3d_mesh_loader_eet.c:113:13: warning:
assignment from incompatible pointer type
eet_file = _evas_3d_eet_file_new();
^
CC lib/evas/common/lib_evas_libevas_la-evas_blend_main.lo
CC lib/evas/common/lib_evas_libevas_la-evas_blit_main.lo
CC lib/evas/common/lib_evas_libevas_la-evas_convert_color.lo
../../src/lib/evas/canvas/evas_3d_mesh_saver_eet.c: In function
'evas_3d_mesh_save_eet':
../../src/lib/evas/canvas/evas_3d_mesh_saver_eet.c:159:13: warning:
assignment from incompatible pointer type
eet_file = _evas_3d_eet_file_new();
^
CC lib/evas/common/lib_evas_libevas_la-evas_convert_colorspace.lo
CC lib/evas/common/lib_evas_libevas_la-evas_convert_gry_1.lo
../../src/lib/evas/canvas/evas_3d_eet.c: In function
'_evas_3d_eet_file_new':
../../src/lib/evas/canvas/evas_3d_eet.c:28:4: warning: return discards
'const' qualifier from pointer target type
return creating_file;
Reviewers: cedric, artem.popov
Subscribers: cedric
Differential Revision: https://phab.enlightenment.org/D1527
Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
Summary: Since we have a field inside the engine info structure to
store a reference to the Ecore_Drm_Device, then let's set it.
@fix
Signed-off-by: Chris Michael <cp.michael@samsung.com>
Summary:
On some ARM platforms, the drivers do not list boot_vga as an
attribute, so we cannot do checks for that. This patch fixes finding
drm cards on those platforms by skipping the boot_vga check if we had
to use "platform" to find it.
Thanks to shiin for the report :)
@fix
Signed-off-by: Chris Michael <cp.michael@samsung.com>
Summary:
On some ARM platforms we were failing to find the drm device card.
This was due to those ARM platforms using SUBSYSTEM="platform" as a
udev attribute instead of "pci". This fixes that issue so that those
devices are found again.
Thanks to shiin for the report :)
@fix
Signed-off-by: Chris Michael <cp.michael@samsung.com>
Summary:
When compiling for EGL, GL_LINE_SMOOTH ends up not being defined so
compile breaks. This fix just checks if GL_LINE_SMOOTH is missing and
if so it defines it.
@fix
Signed-off-by: Chris Michael <cp.michael@samsung.com>
this is an unused code path UNLESS you:
export EVAS_RENDER2=1
so this will affect nothing unless you enable this and test it. it's
designe dto be done this way so we can slowly bring it in and bring it
up to speed and peolpe can easily test it and so on.
so now - content is rendered. most content is actually. only thing
that breaks that i can see so far is mapped smart objects.
Summary: The first version of .eet format is added. All changes due to discussion in D1307 are done.
Reviewers: artem.popov, se.osadchy, reutskiy.v.v, Hermet, raster, cedric, Oleksander
@feature
Subscribers: cedric
Differential Revision: https://phab.enlightenment.org/D1477
Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
Summary: Apparently, it's better if we just let this fail rather than
trying to be proactive for the API user.
Signed-off-by: Chris Michael <cp.michael@samsung.com>
Summary: Because this is an exposed API function, we should be
checking that the name parameter is valid, and also verify it's
formatting before we use it. This patch fixes that by comparing the
passed in name and assembling a valid tty name to open
@fix
Signed-off-by: Srivardhan Hebbar <sri.hebbar@samsung.com>
Reviewers: devilhorns
Subscribers: cedric
Differential Revision: https://phab.enlightenment.org/D1521
since ibus 1.5, enabled, disabled signal was deleted.
It affected bug not to show preedit string,
so code has been updated according to the change of the latest ibus 1.5.
It works well with the older ibus version
Autotools was deploying .eo.{c,h} instead of the .eo files to
${E_PREFIX}/share/eolian/include/eo-1. This patch fix Elementary build
and whoever else was using Eolian and Eo.Base.
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.