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>