Summary:
@fix
Segfault in wayland_egl engine is casused by illegal library linking.
Fix this by linking to GLESv2 and EGL libraries.
Test Plan: N/A
Reviewers: devilhorns, raster, cedric, Hermet
Subscribers: cedric
Differential Revision: https://phab.enlightenment.org/D1332
several loaders make too much noise when a file fails to load - almost
all of this is because the file isnt actually an image format file at
all, and an ap is just asking evas to try do a load to see if it is a
loadable image at all. this results in noisy strerr output that simply
shouldnt be there. so silence for loaders. @fix
i found that we are not setting u and v to be smooth (linear
interpolate) for yuv reendering, even when asked. they remain at a
default "nearest". this enables linear for u and v always, meaning
even when smooth is off, we still interpolate u and v (not y), and
even when at 1:1 with no scaling u and v get interpolation for better
quality.
@fix!
this fixes the elipsis changes xmike made by assuming elipsis of 0
whenn text min x is set (which is what we want anyway). this is a
complaint that is all through phab and other places where people
complain about "x..." or something now replacing formerly perfectly
find labels
The reversal makes it possible to merge two #if and unspaghetti the code
a bit.
Since the diff is not very readable, here is the before/after to show
the spirit:
before:
#if cond
if (...)
#endif
do_foo();
#if cond
else
do_bar();
#endif
after:
#if cond
if ( ! ...)
do_bar();
else
#endif
do_foo();
this fixes CID 1039647 - it caught a real bug. we were not skipping
out on an empty + or - push/pop format fomamnt if it had nothing
there. not actually something people do - but possible. fix!
there is a possible deadlock condition where locks are not taken in
the same order (img lock then cancel lock). re-order so this doesn't
happen. this fixes CID 1106339
since colors are hex, 96 bytes of hex would be 32bytes per r, g and b,
and that would be 128 bits per r g and b and that just is never seen
or used. also coverity is right in CID 1193201 that we just can't
shift that many, so go down to max 16 bits per rgb which is sensible
and able to be done. (thats 12 bytes max for hex of color).
[Problem] When obj which has src object(proxy concept) are excluded from render_object,
src object's 'proxy.redraw' isn't change although src obj have not proxies.
because 'proxy.redraw' flag is changed to EINA_FALSE only in obj's subrender() called.
[Resolution] When the count of source obj's proxies is 0, src obj's 'proxy.redraw' is set for EINA_FALSE.
Signed-Off-By: Min Kyoung Kim <mer.kim@samsung.com>
Summary:
When the grid is mirrored, originally code is just changed (x1,y1) to (x2,y2).
I fix calculate logic for the x-axis.
@fix
Test Plan:
1. elementary_test -> grid
2. click UI-MIRRORING toggle
Reviewers: Hermet, woohyun, raster, seoz
Reviewed By: seoz
Subscribers: cedric
Differential Revision: https://phab.enlightenment.org/D1325
Summary:
wrong structure, a Edje_Image_Directory_Set_Entry, used for copy
a set's data to new file.
@fix
Reviewers: raster, seoz, cedric, Hermet
Reviewed By: Hermet
Subscribers: Sachiel, cedric, seoz
Differential Revision: https://phab.enlightenment.org/D1304
We cannot use the texture to find a valid format Before the texture is
actually created. This is invalid, leads to "warning: tex is used
uninitialized' message from the compiler, and just plain wrong.
Instead, use the alpha property of the Evas_GL_Image to find the
proper texture format, Then create the texture.
@fix
Signed-off-by: Chris Michael <cp.michael@samsung.com>
We use conn here for a global Dbus connection variable as well as sometimes
in a local scope. Better rename the global one to avoid confusion and
potential failures when the code would fallback to the global one even if
the local scope should be used and the var was simply forgotten.
i hope this addresses CID 1229131 - don't trust the DISPLAY var
content much at all - limit it to [a-z][A-Z][0-9][-] only. hopefully
coverity is happier.
coverity pointed out a deadlock - CID 1226193. i hope this fixes it
(need to wait days for a coverity re-run). tests pass and real life
usage works, so i assume its ok. in theory i see no problem either.
in looking at CID 1230994 i noticed that eina_unicode_unicode_to_utf8
and eina_unicode_utf8_to_unicode are really dumb. they calloc an array
of bytes then proceed to fill them all in anyway. why? also the
realloc handing in eina_unicode_unicode_to_utf8 wasn't strictly corect
and could leak memory. so this just fixes silly slow code and a leak.
this addresses CID 1230994. as such eina_unicode_unicode_to_utf8()
always returns a nul terminated string. so it's guaranteed. but yes -
if string is 7 bytes or longer it will not put a nul byte on the
destination. as such for a single unicode char this can never happen
as in utf8 it's 6 bytes. but since eina_unicode_unicode_to_utf8()
safely returns a nul terminated string at all times - we can just use
strcpy safely. no need for strncpy. also handle null return from
eina_unicode_unicode_to_utf8()
so in fixing one CID for a format lookup failing and thus invalid mem
access, a possible leak was made in this case. fix that by doing
lookup before any allocation and if lookup fails, return there
this fixes CID 1230999 1230998 1230997
this fixes potential leak due to
ff652084e0 fixing a valgrind access
issue. make sure the server is in the list before handling error
conditions in case a callback sets delete_me (should never though).
gl_generic functions expect the Outbuf to contain the canvas, so we
fixed the eng_window_new function to accept that, And the engine info.
This simplifies the calls to eng_window_new.
@fix
Signed-off-by: Chris Michael <cp.michael@samsung.com>
Since we simplified the eng_window_new function to accept the canvas
and engine info, we need to update calls to that function
@fix
Signed-off-by: Chris Michael <cp.michael@samsung.com>
We need to pass in the canvas and engine info structure as the
gl_generic engine needs the outbuf->canvas to be set.
@fix
Signed-off-by: Chris Michael <cp.michael@samsung.com>
Summary:
Evas wayland_egl engine crashes on startup when it is running with mesa.
Evas is trying to get EGL / GLES extension function addresses where evas_gl_symbols.
It is called before eglGetDisplay. Then mesa considers that current egl platform is
X11 if it has no EGL_PLATFORM env var. This behavior of mesa is bad. But we should
provide workaround until it is fixed. Thus EGL_PLATFORM env var should be defined to
wayland before calling eglGetProcAddress.
@fix
Test Plan: run elementary_test under wayland with wayland_egl engine.
Reviewers: raster, stefan_schmidt, devilhorns
Reviewed By: devilhorns
Subscribers: cedric
Differential Revision: https://phab.enlightenment.org/D1312
this should fix T1508 - my testing seems to indicate so. test suite
succeeds, some manual tests of mine work. so is ay this is a good fix
that could fix critical segvs in apps using ecore-con - eg like
weather module in e
scim has a nasty habit of sitting and hanging if tryng to set up and
no scim daemon is there. since in x11 you may have multiple input
methods, leave it to be manually set up via env var, and if not then
dont work at all.
this fixes ecore-imf to auto-pick scim or wayland vased in DISPLAY and
WALAND_DISPLAY env vars. it's not a perfect/good/correct fix. it
should be picking based on canvas engine type, but that is a far more
invasive effort, so for release, do this simple one that brings back
wayland input panel and keeps x11 input methods going as long as app
is either x11 (DISPLAY) or wayland (WAYLAND_DISPLAY). if both are set,
it'll get it wrong. as i said - that's a more invasive fix.
Seems the newer wayland-egl code was missing the log domain variable
and thus would not load at time of dlsym due to missing symbol. This
fixes that problem by defining the variable.
@fix
Signed-off-by: Chris Michael <cp.michael@samsung.com>
th pending cancel may call callbacks... which can mess with the list
and thus the pending_add we have, sso do our work before calling this
(like set pending_call to NULL).
Also fixed some incorrect @context
Changed the @edcsubsection tags so they live in first line of the doccomment, this way you can read them when the file is folded-closed, improving the code readability.
We are already using the pointer before we check it here. We also don't
check it in the other callbacks so align the handling in this file.
CID: 1039635, 1039636, 1039637, 1039638, 1039639
Summary: If name of program is setted to its current value EINA_TRUE should be returned
Reviewers: cedric, seoz, raster, Hermet
Reviewed By: Hermet
Subscribers: cedric, reutskiy.v.v
Differential Revision: https://phab.enlightenment.org/D1290
there is a kernel oops when using vboxvideo 4.3.14 and one calls
drmWaitVBlank(), then do not init drm when using such driver.
https://www.virtualbox.org/ticket/13265
these were static rect cutouts, so they stayed around on exit and thus
we "lost" them. this nukes them on context free and each new frame.
fixes the "leak"
Summary: Fix not to clean and re-render if the position of an object enabled map is changed.
Reviewers: raster, cedric, Hermet
Reviewed By: Hermet
Subscribers: cedric
Differential Revision: https://phab.enlightenment.org/D1220
The eng_gl_context functions are used for Evas 3D, so let's support
those in the wayland_egl engine.
Signed-off-by: Chris Michael <cp.michael@samsung.com>
Previous (french) changes to evas_gl code broke the wayland egl engine. This
batch of changes fixes that by rewriting to engine to work with new
evas_gl functions.
Fixes Phab ticket T1478
@fix
Signed-off-by: Chris Michael <cp.michael@samsung.com>
Recent changes to evas engines require using evas_gl_generic now, so
let's sort out the headers and include the gl_generic one we need
Signed-off-by: Chris Michael <cp.michael@samsung.com>
Summary:
In items loop of _size_native_calc_line_finalize,
last_it should be replaced with new item according to position.
But, visual_pos is not prepared and it is always zero in the function.
So, we need to update visual_pos.
And when textblock only has LTR text,
we can replace last_it according to item list sequence.
@fix
Test Plan:
It includes test cases using the following test case.
1. "i<b>。</b>"
2. "。<b>i</b>"
Reviewers: seoz, woohyun, sohyun, tasn
Subscribers: raster, herdsman, cedric
Differential Revision: https://phab.enlightenment.org/D859
Before this patch, if you were hooking to any event above
EVAS_OBJECT_EVENT_IMAGE_PRELOADED you will end up receiving another
event instead and be fooled into receiving the right one.
In the mean time I did discover that our table is missing one item, the
equivalent to EVAS_CALLBACK_DEVICE_CHANGED. I don't know how to properly
fix that one for now, so put NULL instead to at least avoid a random
memory access.
This took quite a while to figure out. The two object names for the cxx callback
test and callback.c have been to close. callback.c needs the eolian headers and
the CXX test needs the eolian_cxx headers.
Split it up and set the deps correctly. If you always run check with something
like -j 9 you might have never noticed as it was very likely that the headers
have been generated due to the wrong dep before.
Summary:
This patch fixes following two problems:
1. libevas.so library has a dependency with ecore_drm if '--enable-drm' configure
option is given. This problem is due to 'EFL_INTERNAL_DEPEND_PKG([EVAS], [ecore-drm])'
in m4/evas_check_engine.m4 file. A dependency with ecore_drm should be moved to evas
drm engine not libevas.so. And also this macro makes an error while installation of evas.
$ make uninstall; ./configure --enable-drm; make && make install
2. missing ecore_drm dependency for evas drm engine.
USE_ECORE_DRM_LIBS macro should be used for building evas drm engine with ecore_drm
library. ECORE_DRM_LIBS macro doesn't have 'libecore_drm.la'. It is used for building
ecore_drm library.
@fix
Fixes T1473
Test Plan:
1. Remove EFL libraries in installation path: $ make uninstall
2. Configure with --enable-drm: $ ./autogen.sh --enable-drm
3. $ make && make install
4. Check module.so of evas drm engine whether it has a library dependency with ecore_drm
$ readelf -a $EFL_GIT/src/modules/evas/engines/drm/.libs/module.so | grep NEEDED
$ readelf -a $INSTALL_PATH/lib/evas/modules/engines/drm/v-1.11/module.so | grep NEEDED
Reviewers: stefan_schmidt, devilhorns, raster
Subscribers: cedric, torori
Differential Revision: https://phab.enlightenment.org/D1271
Summary:
We can define a style tag as opener, closer and own closer.
If there is a markup tag that is matched to style tag,
it is reprocessed to format node inside of textblock.
But, when the format node will be converted to markup text,
'/' character can be appended to text at closer and own closer style tag.
Even if original markup tag does not has '/' character,
it will be appended according to format node information.
It makes some issue when compare input text with output text.
@fix
Test Plan: This commit includes test case.
Reviewers: woohyun, raster, sohyun, tasn
Subscribers: herdsman, cedric
Differential Revision: https://phab.enlightenment.org/D1037
This reverts commit 638e72fda4.
After this change the files did not end up in the tarball and failing make distcheck
../../src/tests/eolian_cxx/callback.c:11:25: fatal error: callback.eo.h: No such file or directory
switching
Summary:
When vt is released by SIGUSR1, drm_inputs have to be disabled.
For that this revision includes,
1. Unrefer udev monitor
2. Remove fd handler for udev monitor
3. Release dbus device
Reviewers: stefan_schmidt, devilhorns, gwanglim
Subscribers: cedric
Differential Revision: https://phab.enlightenment.org/D1268
Summary:
Word start/end works incorrectly when it goes to new line or line begins with spaces.
Ex: In elementary_test/Entry, place cursor at the end of line, press ctrl + right arrow keys: cursor moves to begin of next line. In this case, cursor should move to end of 1st word in next line.
Ex2: In elementary_test/Entry, add some spaces to begin of 2nd line (" uses markup"), place cursor at the first word ("uses"), press ctrl + left arrow keys twice, cursor moves to begin of 2nd line. In this case, cursor should move to begin of last word in 1st line.
This patch provides a fix by considerring next/previous text node to move cursor to correct place.
@fix
Reviewers: woohyun, raster, tasn
Subscribers: cedric
Differential Revision: https://phab.enlightenment.org/D1140
It seems that when things go wrong it does happen that we start with i == 0. It
will then have been walking into info[-1] 'happily'. Changing the test, to first
decrement and then compare should stop that issue.
This should @fix T1467.
Summary:
All eina_xxx.h are expored headers.
Using system path to search eina headers seems to be better.
Reviewers: raster, stefan_schmidt, stefan, cedric
Subscribers: stefan_schmidt, cedric
Differential Revision: https://phab.enlightenment.org/D1079
this fixes a nasty bug where ecore-evas forces mainloop spins all the
time due to trying to align rendraws to animator boundaries. this
requires an extra evas feature to work that i just put in.
@fix
this uses a thread to collect vsync input events and filter them
before forwarding them to the mainloop (as a double timestamp). this
means wakeups only happen for the actual vsync and thus animator and
not for other screens we are filtering out anyway. this should fix the
continual animator wakeups that happen if you have a dri/drm based
driver and > 1 screen.
@fix
this fixes a long standing issue where a suspended animator still is
waking up as originally suspended animators were expected to hang out
for a small time. as e's comp uses a suspended animator, this is a
problem as it causes continual wakupes every single frame (60hz or so)
with this suspended animator. this fixes that and accounts for
suspended animators with tick begin/end