Summary: It is counting here, so we can avoid using glsl functions dFdx, dFdy.
Reviewers: cedric, raster, Hermet
Subscribers: Oleksander, cedric, artem.popov
Differential Revision: https://phab.enlightenment.org/D2923
The code have been ifdef'ed out for a along time. I checked back until
the merge of our libs before the 1.8 release. Maybe even before that.
If you have a use case for this code fell free to revert but also enable
the code and make sure it works when doing so.
This fails on nightly_efl_gcc_x86 (32bit) for over a week now blocking all other
nightly builds and tests. Inside the test case there is already something
disabled which meantions problems with rounding. MAybe the same problem here.
Reported as T2701 to keep track of it an enable again once fixed.
ref T2701
this pulls yuv in line with yuy2 textures and dobule buffers them.
this is a workaround some driver bugs where either the driver doesnt
block and wait for the gpu to finish with a texture when updating OR
it does wait, and when it does it blocks and spins using cpu.
Summary:
IFD offset of jpeg is not fixed.
But emile support only 0x8 on now
Reviewers: jypark, cedric, Hermet
Reviewed By: Hermet
Subscribers: cedric
Differential Revision: https://phab.enlightenment.org/D3000
Summary:
Change recalculation coordinate for pick to depend on size of viewport, not from
scene data.
Due to not correct working pick in case resize view window.
@fix
Reviewers: cedric, Hermet
Reviewed By: Hermet
Subscribers: cedric
Differential Revision: https://phab.enlightenment.org/D2950
Summary:
Check for valid rectangle
If any dst or src rectangle has zero width or height,
intersection should not return true.
@fix
Test Plan: Added test cases
Reviewers: cedric, herdsman, Hermet
Reviewed By: Hermet
Subscribers: shilpasingh, cedric
Differential Revision: https://phab.enlightenment.org/D2990
this forces data when written to be aligned to 8 bytes. this makes
mapping keys directly far better as from now on you can assume all
data is aligned to 8 bytes allowing you, if you want, to use eet files
as caches for raw binary data you mmap directly and just use (not
portable though).
@feat
Looks like it was assumed that an fnode->orig_format always ends with a
'/' character if the fnode is an own_closer.
The problem is that a paragraph separator ("ps" and "br" - the latter in
legacy newline mode) is also an own_closer, but might not have '/' at the
end, so decrementing the length is wrong.
This fixes T2654. The example markup had "br" read as "b", which led to
a mismatch with the "font_weight=Bold" tag. Coincidentally, "ps" was not
affected as there was no matching "p" in the style.
@fix
Summary:
The result of evas_object_textblock_cursor_content_get() API has to be cleaned
by outside. _edje_entry_cursor_content_get() is calling free() inside of the
function for handle the result using static pointer. But, the caller of
_edje_entry_cursor_content_get() is already handling the result using free().
It can cause double free problem.
The bigger issue is in elementary. See elm_entry_cursor_content_get() API's
document. The document advice developers to free the result when it is done.
@fix
Test Plan: N/A
Reviewers: tasn, raster, woohyun
Subscribers: cedric
Differential Revision: https://phab.enlightenment.org/D2991
This was missing from the initial session recovery support patches. Bind
the interface so we can actually work with it on the client side and destroy
it at the end.
@fix
This should not happen. Objects with parents must have their parents
unset before they reach refcount == 0. That's because the parent is the
one holding the refcount. This means that if we get to the destructor
(object is deleted) while a parent is still set, we have an error
scenario.
After this change, parent_set assigns a ref, so for example:
obj = eo_add(CLASS, parent); /* Ref is 1 */
eo_do(obj, eo_parent_set(parent2)); /* Ref is 1 */
eo_ref(obj); /* Ref is 2 */
eo_do(obj, eo_parent_set(NULL)); /* Ref is 1, giving the ref to NULL */
eo_do(obj, eo_parent_set(parent)); /* Ref is 1 */
This is following a discussion on the ML about commit
8689d54471.
@feature
On Windows, PATH_MAX is 260 and PATH_MAX is used as string buffer
size in edje_cc compile. This causes edje_cc compile error when the edc
file contains "script" keyword and the length of file paths is
relatively long.
To resolve this problem, change the string buffer size in edje_cc
compile.
@fix
This reverts commit 3ce8860dab.
Apply only to mouse wheel case. Button press/release wans't problem actually.
If I correct, this is caused because of different nature of window systems.
Anyway our Ecore_Event_Mouse values should keep consistency among the various systems.
Summary:
since all the libs got merged into libsystemd in 209, we can just check
for libsystemd
Reviewers: cedric
Subscribers: stefan_schmidt, morlenxus
Differential Revision: https://phab.enlightenment.org/D2984
Ecore_Event_Mouse_* x, y values are relative to the current window position
as well as the root x, y, values are relative to the root window.
previously, x,y is started from the root window and root x, y values are invalid.
fix them
@fix
Summary:
evas_3d: removed unnessecary defines
Evas_Real was allready defined.
The typedefs of the Eo types can be avoided by fixing the include order
Reviewers: cedric, stefan_schmidt, tasn
Reviewed By: stefan_schmidt, tasn
Subscribers: stefan_schmidt, cedric
Projects: #efl
Maniphest Tasks: T2658
Differential Revision: https://phab.enlightenment.org/D2974
so... if you load a non-jp2k file using openjpeg, you can get an abort
deep inside the openjpeg library that we can't do anything about. we
set all error handlers but literally the openjpeg code has ab assert
there that causes this bug. it shouldn't and newer opengjpeg libs have
it removed, but 1.5.2 has it and this causes an untrappable crash.
this is simply bad behavior in openjpeg not allowing it to be used
safely to loade image files. the relevant backtrace:
w=w@entry=0x7fffffffb548, h=h@entry=0x7fffffffb54c,
alpha=alpha@entry=0x7fffffffb556 "", map=map@entry=0x7fff29ac2000,
length=<optimized out>, error=error@entry=0x7fffffffb5bc,
opts=<optimized out>)
at modules/evas/image_loaders/jp2k/evas_image_load_jp2k.c:111
the relevant code in openjpeg:
int cio_numbytesleft(opj_cio_t *cio) {
assert((cio->end - cio->bp) >= 0);
return cio->end - cio->bp;
}
so that assert is triggered. and nothing can be done about it which is
pretty poor.
so an upgrade of openjpeg should fix this as in newer versions have
dropped the assert line in that function, but until poeople have that from
their distro, this adds magic number checks for file headers that avoids
using openjpeg if it's not "apparently" a jp2k file. this does not
stop a corrupt file or a maliciously designed file still causing this
problem, but it does just result in an abort() and isnn't seemingly an
overflow isse that can be exploted, so if you still suffer, find a way to
upgrade openjpeg to 2.x. until then... this reduces inadvertent damage.
@fix
eina_str_join() is used a lot to contatenate paths, but the
separator should be '\' on Windows. So add 2 API and 2 defines for
more cross platform code
@feature
Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
localtime_s is not defined in msvcrt.dll but rather is defined in
Microsoft libc when Visual Studio or other stuff is installed.
Issue introduced in:024812c1a76286991f292c3191936778ec219ff8
Fixes T2681
@fix
Async rendering doesn't have a main loop cleanup function. The only one
being called is in the rendering thread. I wrongly assumed in my previous
patch that render_post on an object was called after the async render was
done which is obviously not the case as pointed by Subhransu. This patch
now wait for the async rendering to be done.
optimization
xrefs keep lists of objects references. children are already in a list.
why keep both? lots of extra memory used for no value when debug is on
(pretty much most of the time).
this follows on from cbc1a217bf as this
code was correct, but was then causing bugs due to children staying in
their parent lists. this should never have happened and this is really
bad. this fixes this and ensures children on destruction are gone from
their parent lists.
@fix
Summary:
change position of the main textblock cursor
in depends of the selection is present. Change cursor position to
the start or end of selection only when selection is present.
@fix
Test Plan:
Press "Up" and "Down" arrow keys on selected and normal text.
For selected text: the entry cursor should be placed one line
above or below selection block (in depends from pressed button).
For normal text: the entry cursor should be placed one line
above or below of the current cursor position.
Reviewers: tasn, Hermet, herdsman
Subscribers: cedric
Differential Revision: https://phab.enlightenment.org/D2948
For script runs that start with an UNKNOWN character, the whole
run was mistakenly identified as script type UNKNOWN.
Also, refactored code a bit for readability.
Fixes T2670.
@fix
Summary:
When Evas GL apis are called outside of on pixels callback,
evas gl backend context may have been made current, and Evas GL will
render into a wrong context.
So here we provide context restore mechanism of keeping track of
currently bound context and calling make current when needed.
@feature
Test Plan: Run Evas GL test cases
Reviewers: jpeg, cedric
Subscribers: mythri, mer.kim, wonsik, cedric
Differential Revision: https://phab.enlightenment.org/D2956
In order to do that, avoid creating multiple Buffer instances
when pointing to the same proxy source. This fixes buffer.width
and buffer.height in Lua.
it is possible that a destructor/parent_set override or function could
go modifying the children list of objects in a parent, this the
EINA_LIST_FREE may actually miss objects in the process since within
the "free" func the list may have been altered etc.
@fix
We mostly use in our code base ERR in conjunction with system related error. This
doesn't require any information from who did call that function to get debugged and
is creating way to much noise with little value.
if you kill efreetd ANd delete all the caches, the restart of efreetd
will lose all icons until an app re-registeres icon extensions and it
can scan all icons .. and then app has to actually get the right
upodate events and do the update properly when this happens. this
fixes that scenario
@fix
ok. i found this once-ever-seen thing where
Edje_Signal_Callback_Matches has ALL fields NULL/0 except refcount was
huge (like 13834275 or something like that). i can't see why at the
moment, but defend against it to avoid crashes here by handling these
being null
Summary: if EGL_KHR_partial_update extension is implemented in the
driver, set damage region. This is done before the draw calls.
Signed-off-by: Chris Michael <cp.michael@samsung.com>
Summary:
After the commit D2904
this commented code and comments are not required
Test Plan: NA
Reviewers: tasn
Subscribers: cedric
Differential Revision: https://phab.enlightenment.org/D2938
Some files were still including SDL-1 headers even though we only link
against SDL2 libs.
URL: https://bugs.gentoo.org/551882
Reported-by: Barnaby <badbit@me.com>
Reported-by: Romain Naour <romain.naour@openwide.fr>
Summary:
Fix type in edje_container_align_set,
it was originally named as edje_contain(t)er_align_set.
Reviewers: Hermet
Subscribers: cedric, Hermet
Differential Revision: https://phab.enlightenment.org/D2927
ecore_evas_first only can be set first render even though there are several windows.
because of this, second or third ecore_evas loses chance to render first frame.
@fix
NOTE: it would be nicer to setup a specific context for each snapshot
and walk all the child below. If any of them did change, only trigger the
full redraw in that case (and of course only if a filter with blurr does
use it somewhere).
This should theorically work, need some test. Design is easy to understand. Render
every part of a snapshot object by rendering the content below it, before rendering
the stack above it using that object content.
Summary:
Fix to delete selection when preedit status has not ended
In preedit mode when selection is made and input any letter,
there is duplicate character appeared because the selection
is cleared when commit happens so delete the selection in
preedit last stage.
@fix
Test Plan: Test in Tizen devices.
Reviewers: woohyun, id213sin, shilpasingh, tasn
Subscribers: rajeshps, cedric, govi
Differential Revision: https://phab.enlightenment.org/D2837