Added callbacks to the event EO_EV_DEL for deleting heap-allocated
function objects. This will enforce that the allocated memory,
necessary for maintaining these callable objects alive, is freed at
least when the underlaying Eo object is destroyed.
Functions and constructor methods are now able to have multiple
callback types.
Removed some unused generators, since they become inconsistent now that
functions are required to handle multiple callback types.
Allocating callback objects in the constructor methods instead of
delaying it until the final constructor is called.
Created some generators to avoid code repetition.
Now the generator parameters_forward_to_c replicate the behavior of the
generator parameters_list. The generator parameters_list was, then,
removed since it have a less intuitive name.
Added a TODO comment regarding the behaviour of simple not translating
callbacks that are not followed by a user data pointer.
The generator parameter_type was moved from "parameters_generator.hh" to
"type_generator.hh" for more consistency and convenience.
In convert.cc: Reading functions instead of implements to convert the
Eolian_Class. It avoids creation of methods that do not belong to the
class, in special it avoids calling the default constructor twice in the
generated code.
No longer generating one constructor in the C++ wrapper for each eolian
class constructor, since the correct behavior demands that all constructor
should be called. Now the wrappers have "constructor methods" that
must be called when creating a new object.
Updated test cases and examples to match the new interface. Some class
constructors and some test cases have to be removed since they were based
on the wrong assumption that constructors are mutually exclusive.
Created new generators for forwarding parameters and for looping over
the relevant parameters to the C++ wrapper executing a generic lambda.
Added a TODO comment regarding the call of constructor methods of all
base classes. Currently there is no base type with constructors, so this
situation should be discussed more.
Added a TODO comment regarding the way callback parameters are being
processed.
Added static assertion in the generated header to ensure that the wrapper
have the same size of Eo*, thus grating compatibility between these types.
Added static assertion in the generated header to ensure that the wrapper
have standard layout. This should ensure correct type sizes when dealing
with inheritance.
Created a test to ensure that eo::base and the eolian wrappers have the
same size of a Eo*.
Added eolian_cxx_test_wrapper.cc to the list of test source files in
Makefile_Eolian_Cxx.am.
Removed the eina_init call from the test suite main function to enforce
that each test case creates an instance of the eina::eina_init object.
Added an eina::eina_init object instanciation for each test case that
were lacking this code.
Created a specialization of the eina::accessor for C++ Eo wrappers.
Created an override of the "accessor" methods in the eina::list specialization
for Eo wrappers (in eina_list.hh). It is necessary to create accessors with the
correct type.
Created specializations of std::is_base_of to avoid compilation errors related
with _Eo_Opaque type.
Added new test cases in "eina_cxx_test_accessor.cc" to test the accessor
specialization.
Added efl::eina::eina_init to the existing test cases to correctly do the
on demand initialization required by the tests.
@fix
Argument count limit is now supported. The source has been cleaned up and
unified so that less code repeating is done. The module is now environment
safe, not depending on specific metatable being set on strings. More callbacks
have been added and error messages are now more descriptive.
Summary: Add new function for replacing string with using eina_stringshare_replace() and change _edje_if_string_free() to setup passed string to NULL.
@fix
Reviewers: raster, Hermet, seoz, cedric
Reviewed By: cedric
Subscribers: reutskiy.v.v
Projects: #efl
Differential Revision: https://phab.enlightenment.org/D1835
Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
Summary: Refine odd lines to delete _edje_timer
Test Plan: Run example using edc programs to change state
Reviewers: raster, cedric, woohyun, jaehwan, Hermet
Reviewed By: Hermet
Subscribers: cedric, seoz
Differential Revision: https://phab.enlightenment.org/D1838
"Eina_Stringshare *" type is interchangeable with "const char *".
The "stealing" constructor from efl::eina::stringshare was incorrectly
using "char *" instead "const char *", preventing it from being used.
curl is dumb. it needs to poll its own fd for data, it gets confused with its own timeouts, and sometimes it forgets that it's supposed to be doing anything.
this fixes:
* connection timeout processing
* connection data processing order
also curl_multi_timeout calls are now done from a single function to handle all of this stupidness in one place
maybe backport after more testing...
Summary:
Without EGL_PLATFORM environment variable, eglInitialize() can be
failed because egl tried to load DRM platform instead of X11 platform and it
tried to handle XDisplay pointer as a gbm_device pointer as well.
The failure seems to be occured especially if the egl was built
with DRM platform as native platform.
This revision can prevent the failure by indicating proper egl platform using
EGL_PLATFORM environment variable.
@fix
Reviewers: gwanglim, jaehwan, seoz
Reviewed By: seoz
Subscribers: cedric
Differential Revision: https://phab.enlightenment.org/D1828
Summary:
Include sound samples, that uses in programs of this group in collections block.
@fix
Reviewers: cedric, Hermet, raster, reutskiy.v.v
Projects: #efl
Differential Revision: https://phab.enlightenment.org/D1824
Summary:
Memory allocated to dir was not freed. so added code to free dir struct
@fix
Signed-off-by: vivek <vivek.ellur@samsung.com>
Reviewers: devilhorns
Subscribers: cedric
Differential Revision: https://phab.enlightenment.org/D1814
Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
Summary:
eina_inarray_free was not called. So calling it to fix the memory leak.
@fix
Signed-off-by: Srivardhan Hebbar <sri.hebbar@samsung.com>
Reviewers: devilhorns
Subscribers: cedric
Differential Revision: https://phab.enlightenment.org/D1808
Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
Summary:
eina_inarray_new returns NULL if malloc fails. This check was not performed. So have added the check for the error case and returning NULL if any of it fails.
@fix
Signed-off-by: Srivardhan Hebbar <sri.hebbar@samsung.com>
Reviewers: devilhorns
Subscribers: cedric
Differential Revision: https://phab.enlightenment.org/D1807
Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
Summary:
While going through eina for understanding, wrote a program to understand
he differences between different eina inarray functions. Thought, this might
be useful for others too, so adding the same.
Signed-off-by: Srivardhan Hebbar <sri.hebbar@samsung.com>
Reviewers: devilhorns
Subscribers: cedric
Differential Revision: https://phab.enlightenment.org/D1803
Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
If MSAA was requested, it is very likely that no config was
found (depending on the driver), so we'll try again without
MSAA. Yeah, this might not look very smooth but it should be
better that failing at eglMakeCurrent.
We should use GLESv1 functions in a GLESv1 context to scan for
GLESv1 extensions. Makes sense yeah?
This should expose the proper list... especially enabling FBO
extension when it's supported by the driver.
Summary:
Variable include_defaults can be allocated and
go out of scope without freeing it.
Reviewers: cedric, seoz, woohyun, Hermet
Reviewed By: Hermet
Differential Revision: https://phab.enlightenment.org/D1784
If user try to remove the last reference of proxy, object, connection
or eldbus(lib) inside of message callback it was causing the
eldbus_pending_dispatch() being called 2 times, one because of the
eldbus_cancel() that is triggered when the last reference of the
message parent is removed and another after the return of the user
callback.
==6545== Invalid read of size 8
==6545== at 0x52F784E: eldbus_cbs_free_dispatch (eldbus_core.c:266)
==6545== by 0x53064AA: eldbus_pending_dispatch (eldbus_pending.c:227)
==6545== by 0x5305961: cb_pending (eldbus_pending.c:74)
==6545== by 0x6B29DB1: ??? (in /usr/lib/libdbus-1.so.3.8.9)
==6545== by 0x6B2D280: dbus_connection_dispatch (in /usr/lib/libdbus-1.so.3.8.9)
==6545== by 0x52F93B4: eldbus_idler (eldbus_core.c:773)
==6545== by 0x4E4B300: _ecore_call_task_cb (ecore_private.h:305)
==6545== by 0x4E4B78F: _ecore_idler_all_call (ecore_idler.c:143)
==6545== by 0x4E4EA73: _ecore_main_loop_spin_core (ecore_main.c:1768)
==6545== by 0x4E4EAF1: _ecore_main_loop_spin_timers (ecore_main.c:1802)
==6545== by 0x4E4ED01: _ecore_main_loop_iterate_internal (ecore_main.c:1925)
==6545== by 0x4E4D03B: ecore_main_loop_begin (ecore_main.c:983)
==6545== Address 0x701aa78 is 104 bytes inside a block of size 128 free'd
==6545== at 0x4C2B200: free (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
==6545== by 0x530655B: eldbus_pending_dispatch (eldbus_pending.c:241)
==6545== by 0x5306763: eldbus_pending_cancel (eldbus_pending.c:259)
==6545== by 0x52F29DB: _eldbus_proxy_clear (eldbus_proxy.c:146)
==6545== by 0x52F3057: _eldbus_proxy_unref (eldbus_proxy.c:244)
==6545== by 0x52F3393: eldbus_proxy_unref (eldbus_proxy.c:264)
==6545== by 0x401039: on_get_playlists (banshee.c:53)
==6545== by 0x5306493: eldbus_pending_dispatch (eldbus_pending.c:225)
==6545== by 0x5305961: cb_pending (eldbus_pending.c:74)
==6545== by 0x6B29DB1: ??? (in /usr/lib/libdbus-1.so.3.8.9)
==6545== by 0x6B2D280: dbus_connection_dispatch (in /usr/lib/libdbus-1.so.3.8.9)
==6545== by 0x52F93B4: eldbus_idler (eldbus_core.c:773)
Now we will remove the pending from parent pending list before
call the user callback, this way only the pending messages will
be canceled.
Also we need increase the eldbus reference before call
dbus_connection_dispatch() or user could remove the last reference of
eldbus inside of a message callback when we still are
holding one reference of the connection.
@fix
ref T1908
Summary:
fix possible string overflow on decoders.
this commit is based on commit 3c5412f728
that fixes CID 1039580.
Reviewers: raster
Reviewed By: raster
Subscribers: cedric
Differential Revision: https://phab.enlightenment.org/D1783
Summary: need to restore vt to text mode, when failed to setup.
@fix
Reviewers: devilhorns
Subscribers: cedric
Differential Revision: https://phab.enlightenment.org/D1777
Summary: It is removed because it was a deadcode case zero is never reached and executed.
Reviewers: singh.amitesh, seoz, raster
Reviewed By: raster
Subscribers: raster, cedric
Differential Revision: https://phab.enlightenment.org/D1432
Summary:
From UPower 0.99.0, a property "OnLowBattery" was removed and
upower have recommended to use "WarningLevel" instead.
This revision provides "WarningLevel" using the property "DaemonVersion"
and it keeps dealing with "OnLowBattery" as well for old system.
Fixes T1909
Reviewers: gwanglim, barbieri, zmike, stefan_schmidt
Reviewed By: barbieri
Subscribers: zmike, stefan_schmidt, cedric
Differential Revision: https://phab.enlightenment.org/D1717
Summary:
While going through the code, I found this. Thought this was just a redundant and fixed it.
@fix
Signed-off-by: Srivardhan Hebbar <sri.hebbar@samsung.com>
Reviewers: devilhorns
Subscribers: cedric
Differential Revision: https://phab.enlightenment.org/D1774
Summary: The allocated memory is not released before return.
Lost track of the CID.
Test Plan: Run static analysis tool such as prevent
Reviewers: raster, cedric
Reviewed By: cedric
Subscribers: cedric, seoz
Differential Revision: https://phab.enlightenment.org/D1746
Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
This reverts commit df3958bb89.
This is getting reverted because it broke building of Enlightenment. E
requires the Evas_Engine_Buffer header file for drawing mouse cursor
using the buffer engine.
Those really are internals shared between ecore and evas.
Considering ecore & evas are just part of EFL, and expedite
now doesn't even rely on these headers anymore, we can safely
remove them from the dist packages.
This will allow us to break this seemingly internal API/ABI.
Summary: When destroying evdev devices, we make calls to
libinput_device_unref ... but we cannot Make that call if the libinput
context has been destroyed already (as happens when we free input). So
to fix, don't release the libinput context until all devices have been
released.
@fix
Signed-off-by: Chris Michael <cp.michael@samsung.com>
Summary: This fixes Coverity CID1257606 and CID1257607: Dereferencing
null return value. _evgl_tls_resource_get Can return NULL so we should
be checking that returned value before trying to use it
@fix
Signed-off-by: Chris Michael <cp.michael@samsung.com>
Summary: Fix Coverity CID1256952: reports a null derefence here due to
eldbus_message_new returning NULL, thus causing a null dereference
when trying to set reply->dbus_msg
@fix
Signed-off-by: Chris Michael <cp.michael@samsung.com>
some formatting.
Summary: This commit saves from declaring variable for
Ecore_Drm_Sprite unless we are going inactive and need to iterate
sprites. (and also fixes some formatting)
@fix
Signed-off-by: Chris Michael <cp.michael@samsung.com>
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.
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:
- 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).
Previous beizer cubic finds t value approximately.
In this sequence, there were 2 problems.
1. Previous guess_t value should be passed to differential equation to get the more accurate t value.
2. Guessing time count is not enough. I found 6 is enough time to get the t value experimentally. Previously it just tried 4 times on the other hand.
@fix
Summary: Adds focal and zplane perspective to the part when generating an EDC.
Reviewers: Hermet, raster, cedric
Reviewed By: cedric
Subscribers: cedric, reutskiy.v.v
Differential Revision: https://phab.enlightenment.org/D1742
Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
This should ensure that the difference between the original
pixel value and the rle4 encoded one is <= 8.
The previous fix was a bit stupid as it was not taking into
account the conversion a4 to a8 (which is a8 = (a4 << 4) | a4).
src/Makefile_Elocation.am:32: warning: variable 'tests_elocation_elocation_suite_SOURCES' is defined but no program or
src/Makefile_Elocation.am:32: library has 'tests_elocation_elocation_suite' as canonical name (possible typo)
src/Makefile.am:82: 'src/Makefile_Elocation.am' included from here
src/Makefile_Elocation.am:41: warning: variable 'tests_elocation_elocation_suite_LDADD' is defined but no program or
src/Makefile_Elocation.am:41: library has 'tests_elocation_elocation_suite' as canonical name (possible typo)
src/Makefile.am:82: 'src/Makefile_Elocation.am' included from here
src/Makefile_Elocation.am:42: warning: variable 'tests_elocation_elocation_suite_DEPENDENCIES' is defined but no program or
src/Makefile_Elocation.am:42: library has 'tests_elocation_elocation_suite' as canonical name (possible typo)
src/Makefile.am:82: 'src/Makefile_Elocation.am' included from here
0.99.0 removed the OnLowBattery property and added the per-device WarningLevel property. this requires what will effectively be a full rewrite of the module to track all the power levels of all the attached batteries and set the ecore power level somehow based on a combination of their levels
since I have no desire to spend any more hours working on and debugging this module which is based on a known-unstable api, I'm making it disable itself if it detects a version >= 0.99.0. hopefully someone will decide to maintain both this and eldbus in the future so that we can more accurately track upstream when they make changes to these things
ref T1908
ref T1909
Because of Bob and other things, it is required to separate the functionality currently
provided by the elua binary into a library. This library will then be used by the elua
binary as well as any other project.
Summary:
ecore_hash_destroy function return nothing, still in the documentation of the function, it was mentioned that it would return true or false. So corrected the documentation.
Signed-off-by: Srivardhan Hebbar <sri.hebbar@samsung.com>
Reviewers: devilhorns, cedric
Reviewed By: cedric
Subscribers: cedric
Differential Revision: https://phab.enlightenment.org/D1738
Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
Summary:
Since xdg-shell is not yet supported officialy by wayland
It makes sense to have it disabled by default
and enable it on purpose.
Using env variable : EFL_WAYLAND_DONT_USE_XDG_SHELL
(name is inspired from Qt implementation of xdg-shell
but in the opposite way)
There is no EFL_WAYLAND_USE_XDG_SHELL in efl,
please use EFL_WAYLAND_DONT_USE_XDG_SHELL instead.
By default xdg-shell is enabled since it's supported by efl
Since there is only one shell supported at runtime
it's easier to switch to wl-shell (wayland's fallback shell)
by change this env variable.
Note, this patch can be reverted once xdg-shell replaces wl-shell
in wayland which is not the case in weston-1.6
but could integrated into upcoming wayland-1.7
(to be confirmed on release)
Change-Id: Id3732492397df9abe4a7c9e6e92a8f2c993c8395
Bug: https://phab.enlightenment.org/T1901
Bug-Tizen: TC-1353/part
Forwarded: https://phab.enlightenment.org/T1901
Signed-off-by: Philippe Coval <philippe.coval@open.eurogiciel.org>
Tizen Test Plan: echo 'export EFL_WAYLAND_DONT_USE_XDG_SHELL=defined' > /etc/profile.d/ecore.sh
Reviewers: seoz, devilhorns
Reviewed By: devilhorns
Subscribers: cedric
Differential Revision: https://phab.enlightenment.org/D1734
showing up correctly.
Summary: If elm config profile is set to Mobile, then the
auto_norender_withdrawn is set to 1, which was causing Elm windows to
not draw properly due to the ee->withdrawn property not being updated.
It was not getting updated due to these checks for override.
NB: Tested this with all elm profiles, tested in weston, and tested in
Enlightenment (Wayland).
@fix
Signed-off-by: Chris Michael <cp.michael@samsung.com>
Some problems with the actual implementation:
- the reply should not be writable, as it can only be read.
- if an error happen dbus_connection_send_with_reply_and_block()
will return NULL so we need check before use it
- all other send calls remove one reference of the message
Now also it is creating a error message, so the caller can know why it fail.
@fix
Signed-off-by: Chris Michael <cp.michael@samsung.com>
The previous compuation is totally wrong.
Even it doesn't work correctly.
(I have no idea what the orignal author was thinking?)
Here we just need a simple and clear fomular to get the current progress frame.
If i'm wrong, please ping me.
@fix
Before this fix, when a deletion was invoked twice on an object, a
wrong message ("...You wrongly call eo_unref() within a destructor...")
was printed. This was caused by the del_triggered flag that was not
resetted when the destruction finished.
This patch fixes this behavior by printing the right message on a double
deletion.
Summary: This adds the actual code to send a dbus message and block
while waiting for a reply.
@feature
Signed-off-by: Chris Michael <cp.michael@samsung.com>
Summary: This function will send a message to dbus and block while
waiting for a reply
NB: This is needed for our 'port to libinput', and for our 'opening up the
drm card without systemd' efforts
Signed-off-by: Chris Michael <cp.michael@samsung.com>
Summary: This adds a public facing API function to make dbus calls
which will block and wait for a reply. This is needed for a couple of
use cases in our Wayland efforts (libinput, etc).
@feature
Signed-off-by: Chris Michael <cp.michael@samsung.com>
Summary: This just adds the function prototype into the eldbus private
header. It will be used in the new proxy function
"eldbus_proxy_send_and_block"
Signed-off-by: Chris Michael <cp.michael@samsung.com>
Summary: This commit adds the actual code to the function, which
returns the 'in_main_loop' variable so that we can detect if the
ecore_main_loop is actually running.
NB: Will be needed for new eldbus API function (yet to add).
@feature
Signed-off-by: Chris Michael <cp.michael@samsung.com>
Summary: This commit adds a new function 'ecore_main_loop_nested_get'
so that we can detect if the ecore_main_loop is running.
NB: This is going to be needed for a new eldbus function that we have
to add in order to handle a use-case on the Wayland side. Spoke with
cedric for a while wrt to all this, and he gave it his 'ok' ;)
@feature
Signed-off-by: Chris Michael <cp.michael@samsung.com>