This marks all EOAPI functions with GCC weak attribute.
This allows two things:
- replace functions
- link at runtime and check if functions exist
The purpose of this patch is to exploit these two features
of weak symbols. The first goal is to allow applications
to build binaries against later versions and run on earlier
versions of EFL without any run-time link error. Those errors
simply prevent applications to even start if they were using
any function that's not present in the old version of EFL.
Now all that needs to be done on the application side is to
do either of:
- if (efl_version > xx) { call_weak_symbol() }
- if (call_weak_symbol) { call_weak_symbol() }
In the future, we can also imagine providing a compatibility
library that would replace EFL's internal APIs with a newer
version. This would let apps use new EFLs on platforms that
don't update fast enough.
I am now pushing this patch as an experiment to see what breaks,
but I expect no problem.
@feature
Summary:
Evas Image should be independent of render engine.
So remove native.func.data member of RGBA_Image, Evas_GL_Image struct.
And remove data argument,too.
Test Plan: Local test, Tizen3.0 mobile, Desktop englitenment
Reviewers: jpeg, spacegrapher, wonsik
Subscribers: cedric, dkdk
Differential Revision: https://phab.enlightenment.org/D3850
this fixes the fix 4d6a8a7fce to be
portable to platfomrs that do not support __thread - seemingly openbsd
does not (argh!) and maybe others. so on these platforms then they
dont get the optimization of keeping a cutout rect pool to avoid
re-allocation.
this also every 4096 draws "resets" the cutout cache so it doesnt
expand and stay expanded forever.
@fix
ssometimes the evas render updates are a list of Render_Updates
structs ... sometimes Eina_Rectangles. this is horrible and i think a
bug turns up (but its not reproducable on linux - just bsd) with an
invalid free ... likely because we free() a ptr from the mem pool
eina_rectangle gets rects from. thats most likely the cause of
https://phab.enlightenment.org/T3226 - but as i can't know for sure,
this is a guess, but readiong the code i see posible vectors of
problemss here ... maybe.
so this redoes the update rects to ALWAYS be Render_Updates struct
and appropriately returns correct structures etc. etc. in api which
demand a list of Eina_Rectangles there.
pending testing on foreign sysstems to confirm this by @netstar
@fix
The edje_external module from elementary is not integrated into the build
system yet and having these files enabled here confuses our po rules.
Cedric will enable these again when he enables them in the build.
We have been putting the generated eo files and BUILT_SOURCES into CLEANFILES
several times. So far this have not been a real problem but with the elm merge
and more and more eo files showing up this did explode recently.
During make distcheck a lot of files kept being around and make complained about
them. It took some digging to find the arguments list to long error. If you want
details on this great limitation have a look here:
http://www.linuxjournal.com/article/6060
In our case we have been lucky enough that we just appened many files over and
over again. Not doing that solves the issue for now. My testing showed no
problems but if I missed something let me know.
Fixes T3386
Strange enough, if I still try to update po files, half of their content
disapear as if we are unable to find the text to translate in the .c files
when it is still there and the file is processed...
This reverts commit aaf8b86179.
it turns out that this was irrelevant and there was some less-than-competent
engine code trying to manhandle surface sizes
content_box is useless and also it make recursive calcuation by
adding win resize object which was already set by parent box.
this patch removing useless content_box object and make Check Cursor
works properly as it intended.
Summary:
native_xx_cbs must be independent to evas render engine.
This was applied to only gl_x11 backend.
Propagate to others.
Test Plan: Tizen3.0 Mobile
Reviewers: wonsik, spacegrapher, jpeg
Reviewed By: jpeg
Subscribers: cedric, dkdk
Differential Revision: https://phab.enlightenment.org/D3840
The current eo_add uses a (very useful) gcc extension that is only
available in gcc compatible compilers (e.g clang). Until this commit we
just temporarily ignored this fact. This adds a fallback implementation that
can be used interchangeably with the non portable one. This means that the
same binary can call either at any point in time and the code will work.
Breaks ABI.
Summary:
There are calls of elm_progressbar_pulse (start/stop pulsing), but they have
no effect because progressbar is not in pulse mode
@fix
Test Plan:
open elementary_test fileselector and navigate through folders
Wheel progressbar in right up corner should have pulse animation
Reviewers: cedric, raster, reutskiy.v.v
Subscribers: jpeg
Differential Revision: https://phab.enlightenment.org/D3843
adds the hold flag when the keystroke is used.
If this is not done a backspace is used for reducing the search-string
AND for going into the top level directory.
Despite the previous patches, no-render objects could be
partially visible. Eg a fileselector marked as no-render
would have its file list visible. All other children were not
shown.
I think this is not the last fix for this feature, but
eventually source_visible will have to die internally
and be replaced by no-render.
Thanks @yakov-g for the report.