| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
|
|
| |
@fix
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Summary:
Eolian generator must have a parameter so it can generate the correct
symbol export/import macro for the API generated.
This makes it possible to define the symbols as being local to a
single DSO without the need to guard the generated headers or
generated source files with #define and #undef preprocessor
statements.
= The Rationale =
This patch is from a series of patches to rename EAPI symbols to
specific library DSOs.
EAPI was designed to be able to pass
`__attribute__ ((visibility ("default")))` for symbols with
GCC, which would mean that even if -fvisibility=hidden was used
when compiling the library, the needed symbols would get exported.
MSVC __almost__ works like GCC (or mingw) in which you can
declare everything as export and it will just work (slower, but
it will work). But there's a caveat: global variables will not
work the same way for MSVC, but works for mingw and GCC.
For global variables (as opposed to functions), MSVC requires
correct DSO visibility for MSVC: instead of declaring a symbol as
export for everything, you need to declare it as import when
importing from another DSO and export when defining it locally.
With current EAPI definitions, we get the following example
working in mingw and MSVC (observe it doesn't define any global
variables as exported symbols).
Example 1:
dll1:
```
EAPI void foo(void);
EAPI void bar()
{
foo();
}
```
dll2:
```
EAPI void foo()
{
printf ("foo\n");
}
```
This works fine with API defined as __declspec(dllexport) in both
cases and for gcc defining as
`__atttribute__((visibility("default")))`.
However, the following:
Example 2:
dll1:
```
EAPI extern int foo;
EAPI void foobar(void);
EAPI void bar()
{
foo = 5;
foobar();
}
```
dll2:
```
EAPI int foo = 0;
EAPI void foobar()
{
printf ("foo %d\n", foo);
}
```
This will work on mingw but will not work for MSVC. And that's why
LIBAPI is the only solution that works for MSVC.
Co-authored-by: Joรฃo Paulo Taylor Ienczak Zanette <jpaulotiz@gmail.com>
Co-authored-by: Lucas Cavalcante de Sousa <lucks.sousa@gmail.com>
Co-authored-by: Ricardo Campos <ricardo.campos@expertise.dev>
Reviewers: q66, vtorri, woohyun, jptiz, lucas
Reviewed By: vtorri, lucas
Subscribers: cedric, #reviewers, #committers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D12197
|
|
|
|
|
|
| |
simplify down to having a single srand() in eina_init and use urandom
if it works and is there - if not, time(NULL) will do. it's the best
we can...
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Summary:
in bin/
ecore_evas.c : remove useless ecore_init
eetpack.c : remove use eina_init and evas_init
eet_main.c : reorder eet_init
efl_debug.c : remove useless eina_init
efl_debugd : reorder log domain
ethumbd.c : remove eina_init
ethumbd_client.c : remove ecore_init (which was anyway misplaced)
Test Plan: compilation
Reviewers: raster
Reviewed By: raster
Subscribers: cedric, #reviewers, #committers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D12162
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
ecore_init/shutdown as it is already managed by edje_init/shutdown
Reviewers: raster
Reviewed By: raster
Subscribers: raster, cedric, #reviewers, #committers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D12160
|
|
|
|
| |
Thios allows to mark edje file supported for specific versions.
|
|
|
|
| |
fix CID 1402612
|
|
|
|
| |
fix CID 1402628
|
|
|
|
| |
fix CID 1402631
|
|
|
|
| |
fix CID 1402633
|
|
|
|
| |
fix CID 1402646
|
|
|
|
|
| |
this was a bit messy, and we might have caused a bug on the ML with
that.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Summary:
mo_path can using for fprintf in using_file function without initialize.
fix coverity.
Reviewers: Hermet, raster
Reviewed By: Hermet
Subscribers: cedric, #reviewers, #committers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D12120
|
|
|
|
|
| |
Reviewed-by: Stefan Schmidt <stefan@datenfreihafen.org>
Differential Revision: https://phab.enlightenment.org/D12123
|
|
|
|
| |
didn't account for null bytes... fix.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Summary:
This patch is increasing safty code by handling following case.
sc_compile > OH!! there is uninitialized loacal variable "outfname"!! >
setopt > about > longjmp > setjmp returns 3 > goto cleanup >
then uninitialized data is read from local variable "outfname".
Reviewers: raster, Hermet, jsuya, herb
Reviewed By: jsuya
Subscribers: cedric, #reviewers, #committers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D12074
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Summary:
The most of functions for embryo based on cell(int) types.
addvariable(), defsymbol(), modstk() and etc.
Because of this, if embryo script has a really big(INT_MAX / 4) stack variable,
integer overflow problem has been happened.
@fix
Test Plan:
Put a script in your EDC like the following code.
Build it and try to access the variable.
Or check the writen HEX value by embryo_cc.
script {
// It's size is 1,000,000,000.
// Remember, INT_MAX is 2,147,483,647.
new my_big_variable[1000000000];
...
}
Reviewers: cedric, woohyun, raster, eunue, SanghyeonLee
Reviewed By: eunue, SanghyeonLee
Subscribers: cedric, #reviewers, #committers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D12081
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
reviewers_: #reviewers, raster, cedric, netstar, bu5hm4n
Reviewed By: bu5hm4n
Subscribers: bu5hm4n, cedric, #reviewers, #committers
Tags: #efl
Reviewed-by: Marcel Hollerbach <mail@marcel-hollerbach.de>
Differential Revision: https://phab.enlightenment.org/D12060
|
|
|
|
|
|
|
|
| |
This fix Coverty Issue CID: 1430579
Reviewed-by: Vincent Torri <vincent.torri@gmail.com>
Reviewed-by: Stefan Schmidt <stefan@datenfreihafen.org>
Differential Revision: https://phab.enlightenment.org/D12065
|
| |
|
| |
|
|
|
|
| |
better not to use the same symbol...
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Summary:
Introduce two public APIS
```
#define EVAS_FONT_DATA_CACHE_TEXTURE 0x01
/**
* Set the limit in bytes for memory allocated by font glyphs in evas.
* @param[in] bytes cache size in bytes, pass negative value to ignore the limit.
* @param[in] options for caching, pass 0x1 to set the texture cache (in case of accelerated rendering).
*
* @since 1.24
*/
EAPI void evas_font_data_cache_set(signed long long int byte, int options);
/**
* @}
*/
/**
* Get the limit in bytes for memory allocated by font glyphs in evas.
* @param[in] options for caching, pass 0x1 to get the texture cache (in case of accelerated rendering).
* @return Returns font allocated memory cache limit, if value is negative this means no limit.
* @since 1.24
*/
EAPI signed long long int evas_font_data_cache_get(int options);
```
Test Plan:
elementary_test => Text Memory
You need a tool to observe Video memory allocation.
1- If you have detected Graphics card then use **radiontop** or **nvidia-smi** ).
2- If you have Integrated Graphics card, then you can detect memory allocation on RAM use.
----------------------------------------------
this example allows only 50 MByte Video memory texture allocated by font glyphs
```
#include <Elementary.h>
typedef struct _APP
{
Evas_Object *tb1;
Evas_Object *btnLoad;
} APP;
char *text = "<align=center><color=#4DE0FFFF underline=on underline_color=#4DE0FFFF><a href='tel:1234567890'>1234567890</a></color>๐๐๐๐คฃ๐๐๐
๐๐๐๐๐๐๐๐๐๐โบ๐๐ค๐ค๐๐๐ถ๐๐๐ฃ๐ฅ๐ฎ๐ค๐ฏ๐ช๐ซ๐ด๐๐ค๐๐๐๐คค๐๐๐๐๐๐ค๐ฒโน๐๐๐๐๐ค๐ข๐ญ๐ฆ๐ง๐จ๐ฉ๐ฌ๐ฐ๐ฑ๐ณ๐ต๐ก๐ ๐๐ค ๐คก๐คฅ๐ท๐ค๐ค๐คข๐คงโป๐๐ฟ๐น๐บ๐โ ๐ป๐ฝ๐พ๐ค๐ฉ๐บ๐ธ๐น๐ป๐ผ๐ฝ๐๐ฟ๐พ๐๐๐๐ฆ๐ง๐จ๐ฉ๐ต๐ถ๐ผ๐จโโ๏ธ๐ฉโโ๏ธ๐จโ๐๐ฉโ๐๐จโ๐ซ๐ฉโ๐ซ๐จโโ๐ฉโโ๐จโ๐พ๐ฉโ๐พ๐จโ๐ณ๐ฉโ๐ณ๐จโ๐ง๐ฉโ๐ง๐จโ๐ญ๐ฉโ๐ญ๐จโ๐ผ๐ฉโ๐ผ๐จโ๐ฌ๐ฉโ๐ฌ๐จโ๐ป๐ฉโ๐ป๐จโ๐ค๐ฉโ๐ค๐จโ๐จ๐ฉโ๐จ๐จโโ๏ธ๐ฉโโ๏ธ๐จโ๐๐ฉโ๐๐จโ๐๐ฉโ๐๐ฎโโ๏ธ๐ฎโโ๏ธ๐ต๏ธโโ๏ธ๐ต๏ธโโ๏ธ๐โโ๏ธ๐โโ๏ธ๐ทโโ๏ธ๐ทโโ๏ธ๐ณโโ๏ธ๐ณโโ๏ธ๐ฑโโ๏ธ๐ฑโโ๏ธ๐
๐คถ๐ธ๐คด๐ฐ๐คต๐คฐ๐ฒ๐โโ๏ธ๐โโ๏ธ๐โโ๏ธ๐โโ๏ธ๐
โโ๏ธ๐
โโ๏ธ๐โโ๏ธ๐โโ๏ธ๐โโ๏ธ๐โโ๏ธ๐โโ๏ธ๐โโ๏ธ๐โโ๏ธ๐โโ๏ธ๐คฆโโ๏ธ๐คฆโโ๏ธ๐คทโโ๏ธ๐คทโโ๏ธ๐โโ๏ธ๐โโ๏ธ๐โโ๏ธ๐โโ๏ธ๐ถโโ๏ธ๐ถโโ๏ธ๐โโ๏ธ๐โโ๏ธ๐๐บ๐ฏโโ๏ธ๐ฏโโ๏ธ๐ด๐ฃ๐ค๐ฅ๐ซ๐ฌ๐ญ๐๐๐ช๐จโ๐ฉโ๐ง๐จโ๐ฉโ๐งโ๐ฆ๐จโ๐ฉโ๐ฆโ๐ฆ๐จโ๐ฉโ๐งโ๐ง๐จโ๐ฆ๐จโ๐ฆโ๐ฆ๐จโ๐ง๐จโ๐งโ๐ฆ๐จโ๐งโ๐ง๐ฉโ๐ฆ๐ฉโ๐ฆโ๐ฆ๐ฉโ๐ง๐ฉโ๐งโ๐ฆ๐ฉโ๐งโ๐ง๐ช๐คณ๐๐โ๏ธ๐๐๐โ๐ค๐๐ค๐๐โ๐๐๐โ๐๐ค๐ค๐ค๐๐โ๐๐๐๐ค๐
๐๐๐ฃ๐๐๐
๐๐๐โค๐๐๐๐๐๐๐๐๐๐ค๐๐๐โฃ๐๐ค๐ข๐ฃ๐ฅ๐ฆ๐จ๐ซ๐ฌ๐จ๐ฏ๐ญ๐ณ๐๐ถ๐๐๐๐๐๐๐๐๐๐๐๐๐๐๐ ๐ก๐ข๐๐๐ฉ๐โ๐ฟ๐๐๐๐ต๐๐ฆ๐ถ๐๐ฉ๐บ๐ฆ๐ฑ๐๐ฆ๐ฏ๐
๐๐ด๐๐ฆ๐ฆ๐ฎ๐๐๐๐ท๐๐๐ฝ๐๐๐๐ช๐ซ๐๐ฆ๐ญ๐๐๐น๐ฐ๐๐ฟ๐ฆ๐ป๐จ๐ผ๐พ๐ฆ๐๐๐ฃ๐ค๐ฅ๐ฆ๐ง๐๐ฆ
๐ฆ๐ฆ๐ธ๐๐ข๐ฆ๐๐ฒ๐๐ณ๐๐ฌ๐๐ ๐ก๐ฆ๐๐๐ฆ๐ฆ๐ฆ๐ฆ๐๐๐๐๐๐ท๐ธ๐ฆ๐๐ธ๐ฎ๐ต๐น๐ฅ๐บ๐ป๐ผ๐ทโ๐ฑ๐ฒ๐ณ๐ด๐ต๐พ๐ฟโ๐๐๐๐๐๐๐๐๐๐๐๐๐๐๐๐๐๐
๐ฅ๐ฅ๐๐ฅ๐ฅ๐ฝ๐ถ๐ฅ๐๐ฅ๐ฐ๐๐ฅ๐ฅ๐ฅ๐ง๐๐๐ฅ๐๐๐๐ญ๐ฎ๐ฏ๐ฅ๐ฅ๐ณ๐ฅ๐ฒ๐ฅ๐ฟ๐ฑ๐๐๐๐๐๐๐ ๐ข๐ฃ๐ค๐ฅ๐ก๐ฆ๐ง๐จ๐ฉ๐ช๐๐ฐ๐ซ๐ฌ๐ญ๐ฎ๐ฏ๐ผ๐ฅโ๐ต๐ถ๐พ๐ท๐ธ๐น๐บ๐ป๐ฅ๐ฝ๐ด๐ฅ๐ช๐บ๐๐๐๐โจ๐๐๐๐๐๐๐๐๐๐๐๐๐๐ซ๐๐๐
๐ฅ๐ฅ๐ฅโฝ๏ธโพ๏ธ๐๐๐๐๐พ๐ฑ๐ณ๐๐๐๐๐ธ๐ฅ๐ฅ๐ฅ
๐ฏโณ๐๏ธโโ๏ธ๐๏ธโโ๏ธโธ๐ฃ๐ฝ๐ฟโท๐๐โโ๏ธ๐โโ๏ธ๐๐โโ๏ธ๐โโ๏ธโน๏ธโโ๏ธโน๏ธโโ๏ธ๐๏ธโโ๏ธ๐๏ธโโ๏ธ๐ดโโ๏ธ๐ดโโ๏ธ๐ตโโ๏ธ๐ตโโ๏ธ๐๐๐คธโโ๏ธ๐คธโโ๏ธ๐คผโโ๏ธ๐คผโโ๏ธ๐คฝโโ๏ธ๐คฝโโ๏ธ๐คพโโ๏ธ๐คพโโ๏ธ๐คบ๐คนโโ๏ธ๐คนโโ๏ธ๐ฎ๐น๐ฒโ ๏ธโฅ๏ธโฆ๏ธโฃ๏ธ๐๐๐ด๐๐๐๐๐บ๐โฐ๐๐ป๐๐๐๐๐๐๐๐๐๐๐๐ ๐ก๐ข๐ฃ๐ค๐ฅ๐ฆ๐จ๐ฉ๐ช๐ซ๐ฌ๐ญ๐ฏ๐ฐ๐๐ผ๐ฝโช๐๐โฉ๐โฒโบ๐๐๐๐
๐๐๐โผโจ๏ธ๐๐ ๐ก๐ข๐๐ช๐ญ๐ผ๐จ๐ฐ๐๐๐๐
๐๐๐๐๐๐๐๐๐๐๐๐๐๐๐๐๐๐๐๐๐๐๐โ๐๐ฒ๐ด๐ต๐๐ฃ๐คโฝ๐จ๐ฅ๐ฆ๐ง๐โโต๐ฃโโ๏ธ๐ฃโโ๏ธ๐ถ๐ค๐ณโด๐ฅ๐ขโ๐ฉ๐ซ๐ฌ๐บ๐๐๐ ๐ก๐๐ฐ๐๐ช๐๐๐๐ฝ๐ฟ๐๐โโณโโฐโฑโฒ๐ฐ๐๐ง๐๐๐๐๐๐๐๐๐๐ ๐๐ก๐๐ข๐๐ฃ๐๐ค๐๐ฅ๐๐ฆ๐๐๐๐๐๐๐๐๐๐๐๐๐กโ๏ธ๐๐โญ๐๐ โ๏ธโ
โ๐ค๐ฅ๐ฆ๐ง๐จ๐ฉ๐ช๐ซ๐ฌ๐๐๐โ๏ธโโฑโกโโ๏ธโโ๐ฅ๐ง๐๐๐๐๐๐ข๐ฃ๐ฏ๐๐๐ผ๐ต๐ถ๐๐๐๐ค๐ง๐ป๐ท๐ธ๐น๐บ๐ป๐ฅ๐ฑ๐ฒโ๏ธ๐๐๐ ๐๐๐ป๐ฅ๐จโจ๐ฑ๐ฒ๐ฝ๐พ๐ฟ๐๐ฅ๐๐ฝ๐ฌ๐บ๐ท๐ธ๐น๐ผ๐๐๐ฌ๐ญ๐ก๐ฏ๐ก๐ฆ๐ฎ๐๐๐๐๐๐๐๐๐๐๐๐๐ฐ๐๐๐๐ท๐ฐ๐ด๐ต๐ถ๐ท๐ธ๐ณ๐ฑ๐ฒโ๐ง๐จ๐ฉ๐ค๐ฅ๐ฆ๐ซ๐ช๐ฌ๐ญ๐ฎ๐ณโโ๐๐๐๐๐๐ผ๐๐๐๐
๐๐๐๐๐๐๐๐๐๐๐๐๐๐โ๏ธ๐๐๐๐๐๐๐๐๐๐จโโ๐ ๐กโ๐ซ๐น๐ก๐ง๐ฉโ๐โโ๐โ๐๐๐ฌโฐโฑ๐ฟ๐ข๐ฎ๐ฎ๐ง๐ฎ๐ฐโฟ๐น๐บ๐ป๐ผ๐พ๐๐๐๐
โ ๏ธ๐ธโ๐ซ๐ณ๐ญ๐ฏ๐ฑ๐ท๐ต๐โขโฃโฌ๏ธโ๏ธโก๏ธโ๏ธโฌ๏ธโ๏ธโฌ
๏ธโ๏ธโ๏ธโ๏ธโฉโชโคด๏ธโคต๏ธ๐๐๐๐๐๐๐๐โ๐โกโธโฏ๏ธโฆโฎ๐๐ฏโโโโโโโโโโโโโ๐๐๐โถ๏ธโฉโญโฏโ๏ธโชโฎ๐ผโซ๐ฝโฌโธโนโบโ๐ฆ๐
๐๐ถ๐ณ๐ดโป๏ธ๐โ๐ฐ๐ฑโญโ
โโโโโโโ๏ธโ๏ธโโโโฐโฟใฝโณโดโโ๏ธโโโโใฐ๐๐ฏ๐ ๐ก๐ข๐ฃ๐ค๐
ฐ๏ธ๐๏ธ๐
ฑ๏ธ๐๏ธ๐๏ธ๐๏ธโน๐๏ธโ๏ธ๐๏ธ๐๏ธ๐
พ๏ธ๐๏ธ๐
ฟ๏ธ๐๏ธ๐๏ธ๐๏ธ๐๐๐ท๐ถ๐ฏ๐๐น๐๐ฒ๐๐ธ๐ด๐ณใใ๐บ๐ตโซ๏ธโปโผโฝโพโฌโฌ๐ถ๏ธ๐ท๏ธ๐ธ๏ธ๐น๏ธ๐บ๏ธ๐ป๐ ๐๐ฒ๐ณโชโซ๐ด๐ต๐๐ฉ๐ด๐ณ๐ณ๏ธโ๐โโโโโโ
โพโพ๐ฆ๐จ๐ฆ๐ฉ๐ฆ๐ช๐ฆ๐ซ๐ฆ๐ฌ๐ฆ๐ฎ๐ฆ๐ฑ๐ฆ๐ฒ๐ฆ๐ด๐ฆ๐ถ๐ฆ๐ท๐ฆ๐ธ๐ฆ๐น๐ฆ๐บ๐ฆ๐ผ๐ฆ๐ฝ๐ฆ๐ฟ๐ง๐ฆ๐ง๐ง๐ง๐ฉ๐ง๐ช๐ง๐ซ๐ง๐ฌ๐ง๐ญ๐ง๐ฎ๐ง๐ฏ๐ง๐ฑ๐ง๐ฒ๐ง๐ณ๐ง๐ด๐ง๐ถ๐ง๐ท๐ง๐ธ๐ง๐น๐ง๐ผ๐ง๐พ๐ง๐ฟ๐จ๐ฆ๐จ๐จ๐จ๐ฉ๐จ๐ซ๐จ๐ฌ๐จ๐ญ๐จ๐ฎ๐จ๐ฐ๐จ๐ฑ๐จ๐ฒ๐จ๐ณ๐จ๐ด๐จ๐ท๐จ๐บ๐จ๐ป๐จ๐ผ๐จ๐ฝ๐จ๐พ๐จ๐ฟ๐ฉ๐ช๐ฉ๐ฏ๐ฉ๐ฐ๐ฉ๐ฒ๐ฉ๐ด๐ฉ๐ฟ๐ช๐จ๐ช๐ช๐ช๐ฌ๐ช๐ญ๐ช๐ท๐ช๐ธ๐ช๐น๐ช๐บ๐ซ๐ฎ๐ซ๐ฏ๐ซ๐ฐ๐ซ๐ฒ๐ซ๐ด๐ซ๐ท๐ฌ๐ฆ๐ฌ๐ง๐ฌ๐ฉ๐ฌ๐ช๐ฌ๐ซ๐ฌ๐ฌ๐ฌ๐ญ๐ฌ๐ฎ๐ฌ๐ฑ๐ฌ๐ฒ๐ฌ๐ณ๐ฌ๐ต๐ฌ๐ถ๐ฌ๐ท๐ฌ๐ธ๐ฌ๐น๐ฌ๐บ๐ฌ๐ผ๐ฌ๐พ๐ญ๐ฐ๐ญ๐ฒ๐ญ๐ณ๐ญ๐ท๐ญ๐น๐ญ๐บ๐ฎ๐จ๐ฎ๐ฉ๐ฎ๐ช๐ฎ๐ฑ๐ฎ๐ฒ๐ฎ๐ณ๐ฎ๐ด๐ฎ๐ถ๐ฎ๐ท๐ฎ๐ธ๐ฎ๐น๐ฏ๐ช๐ฏ๐ฒ๐ฏ๐ด๐ฏ๐ต๐ฐ๐ช๐ฐ๐ฌ๐ฐ๐ญ๐ฐ๐ฎ๐ฐ๐ฒ๐ฐ๐ณ๐ฐ๐ต๐ฐ๐ท๐ฐ๐ผ๐ฐ๐พ๐ฐ๐ฟ๐ฑ๐ฆ๐ฑ๐ง๐ฑ๐จ๐ฑ๐ฎ๐ฑ๐ฐ๐ฑ๐ท๐ฑ๐ธ๐ฑ๐น๐ฑ๐บ๐ฑ๐ป๐ฑ๐พ๐ฒ๐ฆ๐ฒ๐จ๐ฒ๐ฉ๐ฒ๐ช๐ฒ๐ฌ๐ฒ๐ญ๐ฒ๐ฐ๐ฒ๐ฑ๐ฒ๐ฒ๐ฒ๐ณ๐ฒ๐ด๐ฒ๐ต๐ฒ๐ถ๐ฒ๐ท๐ฒ๐ธ๐ฒ๐น๐ฒ๐บ๐ฒ๐ป๐ฒ๐ผ๐ฒ๐ฝ๐ฒ๐พ๐ฒ๐ฟ๐ณ๐ฆ๐ณ๐จ๐ณ๐ช๐ณ๐ซ๐ณ๐ฌ๐ณ๐ฎ๐ณ๐ฑ๐ณ๐ด๐ณ๐ต๐ณ๐ท๐ณ๐บ๐ณ๐ฟ๐ด๐ฒ๐ต๐ฆ๐ต๐ช๐ต๐ซ๐ต๐ฌ๐ต๐ญ๐ต๐ฐ๐ต๐ฑ๐ต๐ฒ๐ต๐ณ๐ต๐ท๐ต๐ธ๐ต๐น๐ต๐ผ๐ต๐พ๐ถ๐ฆ๐ท๐ช๐ท๐ด๐ท๐ธ๐ท๐บ๐ท๐ผ๐ธ๐ฆ๐ธ๐ง๐ธ๐จ๐ธ๐ฉ๐ธ๐ช๐ธ๐ฌ๐ธ๐ญ๐ธ๐ฎ๐ธ๐ฐ๐ธ๐ฑ๐ธ๐ฒ๐ธ๐ณ๐ธ๐ด๐ธ๐ท๐ธ๐ธ๐ธ๐น๐ธ๐ป๐ธ๐ฝ๐ธ๐พ๐ธ๐ฟ๐น๐ฆ๐น๐จ๐น๐ฉ๐น๐ซ๐น๐ฌ๐น๐ญ๐น๐ฏ๐น๐ฐ๐น๐ฑ๐น๐ฒ๐น๐ณ๐น๐ด๐น๐ท๐น๐น๐น๐ป๐น๐ผ๐น๐ฟ๐บ๐ฆ๐บ๐ฌ๐บ๐ณ๐บ๐ธ๐บ๐พ๐บ๐ฟ๐ป๐ฆ๐ป๐จ๐ป๐ช๐ป๐ฌ๐ป๐ฎ๐ป๐ณ๐ป๐บ๐ผ๐ซ๐ผ๐ธ๐ฝ๐ฐ๐พ๐ช๐พ๐น๐ฟ๐ฆ๐ฟ๐ฒ๐ฟ๐ผ8<br/><br/><br/><br/>Sent from my Samsung Galaxy smartphone.</align>";
int font_size = 200;
int counter = 0;
void _button_clicked(void *data, Evas_Object *obj, void *event_info)
{
APP *app = data;
font_size -= 5;
Evas_Textblock_Style *style = evas_textblock_style_new();
char buffer[100] = {0};
sprintf(buffer, "DEFAULT='font=NotoColorEmoji font_size=%i color=red ellipsis=-1.0 wrap=mixed'", font_size);
evas_textblock_style_set(style, buffer);
evas_object_textblock_style_set(app->tb1, style);
evas_textblock_style_free(style);
style = NULL;
}
EAPI_MAIN int
elm_main(int argc EINA_UNUSED, char **argv EINA_UNUSED)
{
APP *app = calloc(1, sizeof(APP));
Evas_Object *win, *scroller1, *scroller2, *box;
elm_policy_set(ELM_POLICY_QUIT, ELM_POLICY_QUIT_LAST_WINDOW_CLOSED);
win = elm_win_util_standard_add("", "");
elm_win_autodel_set(win, EINA_TRUE);
box = elm_box_add(win);
evas_object_size_hint_weight_set(box, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
evas_object_size_hint_align_set(box, EVAS_HINT_FILL, EVAS_HINT_FILL);
scroller1 = elm_scroller_add(win);
evas_object_size_hint_weight_set(scroller1, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
evas_object_size_hint_align_set(scroller1, EVAS_HINT_FILL, EVAS_HINT_FILL);
evas_font_data_cache_set(50 * 1024* 1024, EVAS_FONT_DATA_CACHE_TEXTURE );
app->tb1 = evas_object_textblock_add(win);
Evas_Textblock_Style *style = evas_textblock_style_new();
char buffer[100] = {0};
sprintf(buffer, "DEFAULT='font=NotoColorEmoji font_size=%i color=red ellipsis=-1.0 wrap=mixed'", font_size);
evas_textblock_style_set(style, buffer);
evas_object_textblock_style_set(app->tb1, style);
evas_textblock_style_free(style);
style = NULL;
evas_font_cache_set(evas_object_evas_get(app->tb1), 0);
int w,h;
evas_object_textblock_text_markup_set(app->tb1, "");
evas_object_size_hint_min_set(app->tb1, 400, 400);
elm_object_content_set(scroller1, app->tb1);
elm_box_pack_end(box, scroller1);
elm_object_content_set(win, box);
app->btnLoad = elm_button_add(win);
elm_object_text_set(app->btnLoad, "Scale Font");
evas_object_smart_callback_add(app->btnLoad, "clicked", _button_clicked, app);
evas_object_show(app->btnLoad);
evas_object_move(app->btnLoad, 0, 20);
evas_object_resize(app->btnLoad, 150, 20);
evas_object_textblock_text_markup_set(app->tb1, text);
evas_object_textblock_size_formatted_get(app->tb1, &w, &h);
evas_object_size_hint_min_set(app->tb1, 400, w/400 + h + 150);
evas_object_resize(win, 400, 400);
evas_object_show(box);
evas_object_show(scroller1);
evas_object_show(scroller2);
evas_object_show(win);
elm_run();
return 0;
}
ELM_MAIN()
```
Reviewers: raster, woohyun, zmike, cedric, bu5hm4n, Hermet
Subscribers: cedric, #reviewers, #committers
Tags: #efl
Maniphest Tasks: T8737
Differential Revision: https://phab.enlightenment.org/D11943
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
please note, not the return type, but the function.
When appending __attribute__((const)) to a function, the compiler is
told that its enough to call this function once in a function.
This is quite often happening when we are efl_data_scope_get and
efl_super in a function that is different from a implemented function.
The compiler now starts to remove the calls that aggressivly that we
need to ensure that these calls are not removed, which means, the static
function calls, and the eo init are now checking the return value of
these functions, to ensure that they are called.
Please note that you now have to be carefull when your app calls
eo_shutdown, if it does so, you *must* call it at the end of a function,
or never call class_get after that anymore.
Overall this improves elm test runs 0.1s which is fair i guess, the main
thing that is faster is textrendering, where is also the point where
this is the most beneficial.
Please note, this replaces 42 occurences of double _class_get() ... THAT
is a sign!
Reviewed-by: Stefan Schmidt <stefan@datenfreihafen.org>
Reviewed-by: Daniel Kolesa <daniel@octaforge.org>
Differential Revision: https://phab.enlightenment.org/D12057
|
|
|
|
|
|
|
|
|
|
|
|
| |
Reviewers: raster
Reviewed By: raster
Subscribers: cedric, #reviewers, #committers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D12054
|
|
|
|
|
| |
Found while working on exactness scenarios. Better get this fixed here
before we use it in tools like exactness and make it harder to change.
|
|
|
|
|
|
|
|
| |
wanr of unused images so it's properly fixed too... always warn to
stdout so devs know to cleanup their theme. by not removing image sets
this fixes the mis-id'ing too.
@fix
|
|
|
|
|
|
|
| |
This was put here due to a miscommunication. It was for resolving
an issue with one of our applications. It wasn't meant to be in
this part of testing anyway. Remove as the popup in the application
itself was broken.
|
|
|
|
|
|
|
| |
Fix some typos
Reviewed-by: Stefan Schmidt <stefan@datenfreihafen.org>
Differential Revision: https://phab.enlightenment.org/D12015
|
|
|
|
|
| |
Remove trailing whitespace
Differential Revision: https://phab.enlightenment.org/D11999
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Summary: remove created style after being set in textblock
Reviewers: woohyun, smohanty
Subscribers: cedric, #reviewers, #committers
Tags: #efl
Maniphest Tasks: T8742
Differential Revision: https://phab.enlightenment.org/D11944
|
|
|
|
| |
fix CID 1429935
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Summary: Add Solaris support for meson
Test Plan: test on OpenIndiana
Reviewers: raster, bu5hm4n, stefan_schmidt
Reviewed By: raster, stefan_schmidt
Subscribers: alarcher, stefan_schmidt, bu5hm4n, cedric, #reviewers, #committers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D11973
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
some distros 9notably in this case nixos) want to do reproducible
builds. to them this means going around setting mtime for all files to
0. this means efreetd not only thinks mtime is invalid/stupid (0 is
generally just that as midnight on jan 1 1970 is not exactly a
sensible dare for a modified timestamp of a file as no filesystem with
any sanity will have not been modified since that time), but it keeps
mtime at 0 even when things update. this totally breaks efreetd that
expects to find mtime increases over time as things change. it's
necessary because it has to perform a "are mu caches up to date" scan
of all file data it caches and it needs to know if it should rebuild
something based on this.
so this does a few things:
1. it makes mtime have to be an exact match to the cache, not cache
mtime >= file mtime. so any change forward or back is an inavlidation.
2. it now also uses ctime, mode, size, uid, gid, block count and if a
symlink, the sha1 of the symlink path in addition and any change to
these == invalid.
this adds a lot of code and changes how dirs get scanned a bit but it
means it can pick up changes on these 0 mtime distros.
interestingly the policy of mtime being 0 is to have a reprodcible fs
... but ctime still changes and is > 0, as does inode info, so it's
not actually possible to have it totally work... but they try still,
so this is a fix for that problem.
whilst i was doing thisi also noticed efreetd re-red dirs many times
due to icon theme inhritance. i also fixed that to do a LOT less
syscalls by only scanning a dir once as i was rejigging the scanning
code at the time anyway. this should optimize thr scan costs at
efreetd startup too.
@fix
@opt
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Summary:
Since "fixed" does not affect the group size by the part's min size, the
documentation is updated to be clearer.
Reviewers: woohyun, raster
Reviewed By: woohyun
Subscribers: cedric, #reviewers, #committers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D11934
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
applying the user text style
Summary:
For the text style customizing, added the new API to apply user text style.
The following example is the user style sample.
DEFAULT='font_size=16 color=#F00 underline=on underline_color=#00ffff'";
{F3899541}
Test Plan:
1. run elementary_text (textpath)
2. toggle user style check box
3. see the result
Reviewers: Hermet, kimcinoo, jsuya, bu5hm4n
Reviewed By: Hermet
Subscribers: cedric, #reviewers, #committers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D11953
|
|
|
|
|
|
|
| |
In C# we already have Efl.Object.parent as an implicit constructor. Ignore it if it is marked as a constructor.
Reviewed-by: Marcel Hollerbach <mail@marcel-hollerbach.de>
Differential Revision: https://phab.enlightenment.org/D11951
|
|
|
|
|
|
|
|
|
|
|
|
| |
Reviewers: Hermet, SanghyeonLee
Reviewed By: Hermet, SanghyeonLee
Subscribers: cedric, #reviewers, #committers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D11928
|
|
|
|
|
|
|
| |
Having the runtime of a test is interesting for debugging and
optimization. Printing them only on success for now.
Differential Revision: https://phab.enlightenment.org/D11935
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
We now longer need this workaround. Exactness is now pre-loaded and we
can run it with any executable without this trick. Remove to simplify
our build.
This reverts commit 78ad088dd73a18fb4cfcfedcc18a6bf03e28080b.
Reviewed-by: Marcel Hollerbach <mail@marcel-hollerbach.de>
Differential Revision: https://phab.enlightenment.org/D11919
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Summary:
This option will enable writing tools which will automate running the
elementary test cases.
Reviewers: Hermet
Subscribers: cedric, #reviewers, #committers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D11910
|
|
|
|
|
|
|
|
|
|
|
|
| |
This doesn't fully work yet as e.g. Eolian bindings require
the bitop module only present in luajit for now.
In order to build, you will need to install
https://github.com/q66/cffi-lua
in order to provide the FFI. It needs to be built for the Lua
version you are building EFL with.
|
|
|
|
|
| |
vector part has been used since 2014, now it's widely used in many cases.
let's remove the beta tag, it's mature using in svg.
|
|
|
|
|
|
|
|
|
|
| |
libraries are split into deps, external deps, and pub deps.
Evas engines are refactored to use the predefined engine deps.
this is preparation work for efl-one.
Reviewed-by: Stefan Schmidt <stefan@datenfreihafen.org>
Differential Revision: https://phab.enlightenment.org/D11806
|
|
|
|
|
|
|
|
|
|
| |
As we run some intermediate binary like edje_cc during efl build , and due to
those binary has some memory leaks the address sanitizer build of efl fails.
This Patch runs those binary with 'ASAN_OPTIONS=detect_leak=false' to disable the
memory leak check for those binaries.
Reviewed-by: Stefan Schmidt <stefan@datenfreihafen.org>
Differential Revision: https://phab.enlightenment.org/D11137
|
|
|
|
|
|
|
|
|
|
| |
Summary: Depends on D11796
Subscribers: cedric, #reviewers, #committers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D11797
|
|
|
|
|
|
|
|
|
|
| |
Summary: Depends on D11789
Subscribers: cedric, #reviewers, #committers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D11790
|