Mike Blumenkrantz [Thu, 28 Mar 2019 15:25:21 +0000 (11:25 -0400)]
build: improve autotools generation of elm config
- don't generate and re-link on every make rule
- fix distcheck
Reviewed-by: Marcel Hollerbach <mail@marcel-hollerbach.de>
Reviewed-by: YeongJong Lee <yj34.lee@samsung.com>
Differential Revision: https://phab.enlightenment.org/D8506
Boris Faure [Fri, 29 Mar 2019 19:21:55 +0000 (20:21 +0100)]
README.meson: fix typo + rewrap
Mike Blumenkrantz [Fri, 29 Mar 2019 17:58:14 +0000 (18:58 +0100)]
tests: abort on errors during genlist expand test, not warnings
Summary:
log level=2 is the warning level, which is not super useful since
there's currently billions of eo warnings occuring in every function
call
Reviewers: cedric, segfaultxavi
Reviewed By: cedric, segfaultxavi
Subscribers: segfaultxavi, cedric, #reviewers, #committers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D8515
Mike Blumenkrantz [Fri, 29 Mar 2019 17:50:30 +0000 (18:50 +0100)]
eina_log: reset logging callback to default when null is set as the callback
Summary:
passing null here causes any log message to crash the app and is probably not
the intended result
Reviewers: cedric, segfaultxavi
Reviewed By: cedric, segfaultxavi
Subscribers: cedric, #reviewers, #committers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D8513
Ali Alzyod [Fri, 29 Mar 2019 13:52:51 +0000 (09:52 -0400)]
elm_entry: Speedup finding new line, prevent readind invalid memory
Summary:
1- Speed up detecting new lines.
```
if (!strncmp(text, "<br", 3) || !strncmp(text, "<ps", 3))
```
This will cause 6 comparisons (if one of conditions did not meet), or at least 3 comparisons.
this is changed to
```
if (!strncmp(text, "<", 1))
```
2- Speedup detecting lines
If this condition is true, we should increment the string for next iteration 3 times, not just one
```
if (!strncmp(text, "<br", 3) || !strncmp(text, "<ps", 3))
```
if '<' founded then 'pr' or 'br', we will skip 3 characters for next iteration.
```
if (!strncmp(text, "<", 1))
{
text++;
len--;
if (!strncmp(text, "br", 2) || !strncmp(text, "ps", 2))
{
text += 2;
len -= 2;
```
3- Prevent reading invalid memory out of the string
```
if (text[3] == '>' || ((text[3] == '/') && (text[4] == '>')))
```
string could reach last char in string (original string ends with "<br")
but now we will check if remaining string length allow comparison :
```
if (text[0] == '>' || (len > 1 && ((text[0] == '/') && (text[1] == '>'))))
```
Test Plan:
```
static int
oldFunc(const char *text)
{
if (!text)
return 0;
while (*text)
{
if (!strncmp(text, "<br", 3) || !strncmp(text, "<ps", 3))
{
if (text[3] == '>' || ((text[3] == '/') && (text[4] == '>')))
{
return 1;
}
}
text++;
}
return 0;
}
static int
newFunc(const char *text)
{
if (!text)
return 0;
char *pTemp = (char *)text;
while (pTemp = strchr(pTemp, '<'))
{
pTemp++;
if (!strncmp(pTemp, "br", 2) || !strncmp(pTemp, "ps", 2))
{
pTemp += 2;
if (pTemp[0] != '\0' && (pTemp[0] == '>' || (pTemp[0] == '/' && pTemp[1] == '>')))
{
return 1;
}
}
}
return 0;
}
int main()
{
int counter = 1000;
srand(time(NULL));
char pStr[50001] = {0};
char AllChars[] = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789<>";
int AllCharsLen = strlen(AllChars);
for (int i = 0; i < 50000; i++)
pStr[i] = AllChars[rand() % AllCharsLen];
clock_t start, end;
double total_Time1 = 0;
int i;
for (int j = 0; j < 3; j++)
{
if (j == 0)
{
printf("random String\n");
}
else if (j == 1)
{
printf("With Random <br/>\n");
int location = rand()%(5000 - 5);
pStr[location++] = '<';
pStr[location++] = 'b';
pStr[location++] = 'r';
pStr[location++] = '/';
pStr[location++] = '>';
}
else if (j == 2)
{
printf("With Random <ps>\n");
int location = rand()%(5000 - 4);
pStr[location++] = '<';
pStr[location++] = 'p';
pStr[location++] = 's';
pStr[location++] = '>';
}
start = clock();
for (i = 0; i < counter; i++)
oldFunc(pStr);
end = clock();
total_Time1 = ((double)(end - start)) / CLOCKS_PER_SEC;
printf("original = %f has new Line = %i\n", total_Time1, oldFunc(pStr));
start = clock();
for (i = 0; i < counter; i++)
newFunc(pStr);
end = clock();
total_Time1 = ((double)(end - start)) / CLOCKS_PER_SEC;
printf("modified = %f has new line = %i\n\n", total_Time1, newFunc(pStr));
}
}
```
output:
random String
original = 2.523000 has new Line = 0
modified = 0.090000 has new line = 0
With Random <br/>
original = 0.081000 has new Line = 1
modified = 0.003000 has new line = 1
With Random <ps>
original = 0.016000 has new Line = 1
modified = 0.001000 has new line = 1
Reviewers: zmike, woohyun, bowonryu
Reviewed By: zmike
Subscribers: bu5hm4n, segfaultxavi, zmike, cedric, #reviewers, #committers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D8497
Xavi Artigas [Fri, 29 Mar 2019 13:12:37 +0000 (14:12 +0100)]
docs: Fix build break because of missed EO import
Xavi Artigas [Fri, 29 Mar 2019 13:08:22 +0000 (14:08 +0100)]
docs: Use Eina.Value references en efl_ui_format docs
Marcel Hollerbach [Fri, 29 Mar 2019 12:25:54 +0000 (13:25 +0100)]
efl_ui_layout: ensure that resize_obj is present before emitting signals
otherwise there will be warnings because of calling api on NULL objects.
Differential Revision: https://phab.enlightenment.org/D8512
Marcel Hollerbach [Tue, 26 Mar 2019 09:15:15 +0000 (10:15 +0100)]
efl_ui_widget: move from elm_widget_top_get to provider_find
this resolves a lot of cases where focus_highlight API was called on a
object, which is not a efl_ui_win object. With this patch we ensure that
the object is always a window.
Reviewed-by: Xavi Artigas <xavierartigas@yahoo.es>
Differential Revision: https://phab.enlightenment.org/D8476
Marcel Hollerbach [Tue, 26 Mar 2019 08:59:16 +0000 (09:59 +0100)]
efl_ui_widget: add implementation for finding the window
the problem with the previous implementation (just redirect the calls to
the widget_parent then to the efl_parent is that after invalidate its
impossible to find the window where the widget is in. However, there are
cases where we want to have access to the window of the widget, for
example, to invalidate focus highlight etc..
The window of a widget is always constant, and cannot be changed (as the
evas object cannot hop accross different evas)
Reviewed-by: Jaehyun Cho <jae_hyun.cho@samsung.com>
Differential Revision: https://phab.enlightenment.org/D8475
Xavi Artigas [Thu, 28 Mar 2019 16:12:27 +0000 (16:12 +0000)]
docs: Efl.Ui.Layout_Base update theme docs
If docs are present at property and set/get levels only one is used.
Ref T7717
Reviewed-by: Marcel Hollerbach <mail@marcel-hollerbach.de>
Differential Revision: https://phab.enlightenment.org/D8494
Xavi Artigas [Fri, 29 Mar 2019 09:30:44 +0000 (09:30 +0000)]
docs: Clarify Efl.Ui.Win exit_on_close methods
exit_on_close and exit_on_all_windows_closed deserve a bit of clarification
since they have very similar meanings.
Also, add proper Eina.Value doc references.
Ref T7717
Reviewed-by: Marcel Hollerbach <mail@marcel-hollerbach.de>
Differential Revision: https://phab.enlightenment.org/D8511
Xavi Artigas [Fri, 29 Mar 2019 09:25:02 +0000 (09:25 +0000)]
docs: Add Eina.Value extern to eina_types.eot
Eina.Values are built-in eolian types, accessed through any_value and
any_value_ptr. However, these types cannot be used in doc references.
Adding a placeholder extern struct Eina.Value causes no harm, and will allow
referencing the type from EO docs later on.
In C#, Eina.Value is defined in the manual binding code so the doc reference
resolves to a valid type.
Reviewed-by: Marcel Hollerbach <mail@marcel-hollerbach.de>
Differential Revision: https://phab.enlightenment.org/D8510
Mike Blumenkrantz [Thu, 28 Mar 2019 22:04:55 +0000 (18:04 -0400)]
ci: check correct test log for meson build
Reviewed-by: Marcel Hollerbach <mail@marcel-hollerbach.de>
Differential Revision: https://phab.enlightenment.org/D8504
Mike Blumenkrantz [Thu, 28 Mar 2019 15:26:55 +0000 (11:26 -0400)]
ci: use meson test runner with ninja build and use dbus in tests
this fixes dbus usage in tests
Reviewed-by: Marcel Hollerbach <mail@marcel-hollerbach.de>
Differential Revision: https://phab.enlightenment.org/D8503
Jaeun Choi [Fri, 29 Mar 2019 11:03:16 +0000 (20:03 +0900)]
test/efl_ui_pager: fix demo
- use unpack_at function than unpack function
- add CLEAR option
Jaeun Choi [Tue, 19 Feb 2019 09:42:31 +0000 (18:42 +0900)]
test/efl_ui_pager_scroll: fix demo
- use radio than check for loop mode
- use unpack_at function than unpack function
- add CLEAR option
Jaeun Choi [Fri, 29 Mar 2019 10:48:58 +0000 (19:48 +0900)]
efl_ui_pager: implement unpack_all/clear function
Jaeun Choi [Fri, 29 Mar 2019 10:23:20 +0000 (19:23 +0900)]
efl_ui_pager: return mouse_down function if cnt equals zero
Jaeun Choi [Thu, 28 Mar 2019 10:26:01 +0000 (19:26 +0900)]
efl_ui_pager: implement unpack_at function
Jaeun Choi [Thu, 28 Mar 2019 10:21:21 +0000 (19:21 +0900)]
efl_ui_pager: refactor unpack function
Jaeun Choi [Fri, 22 Mar 2019 08:51:17 +0000 (17:51 +0900)]
efl_ui_pager: add a missing condition
Jaeun Choi [Fri, 22 Mar 2019 02:30:34 +0000 (11:30 +0900)]
efl_ui_pager: fix pack function
Jaeun Choi [Tue, 19 Mar 2019 05:32:18 +0000 (14:32 +0900)]
elm_priv.h: remove unnecesary line
Jaeun Choi [Tue, 19 Feb 2019 09:44:26 +0000 (18:44 +0900)]
efl_ui_pager: disable loop if items are not enough after unpacking
Xavi Artigas [Fri, 29 Mar 2019 08:51:56 +0000 (09:51 +0100)]
mono-docs: Minor ammendments to Eina.Value
Marcel Hollerbach [Sun, 24 Mar 2019 17:58:50 +0000 (18:58 +0100)]
efl_ui_widget: reintroduce legacy behaviour
before the refactoring of the disabled property, there was no way to
enable a widget which has a disabled tree. This here however enables
this to work again like this. The user will be told with an error
message. The integraty of the property is maintained accross reparents.
Reviewed-by: Jaehyun Cho <jae_hyun.cho@samsung.com>
Differential Revision: https://phab.enlightenment.org/D8459
Marcel Hollerbach [Sun, 24 Mar 2019 17:22:15 +0000 (18:22 +0100)]
efl_ui_widget: add tests for parent and disalbed property
this just adds more coverage over the behaviour of efl_ui_widget
properties.
Reviewed-by: Jaehyun Cho <jae_hyun.cho@samsung.com>
Differential Revision: https://phab.enlightenment.org/D8458
Marcel Hollerbach [Sun, 24 Mar 2019 17:22:03 +0000 (18:22 +0100)]
efl_ui_test_widget: ensures tests do not error
Reviewed-by: Jaehyun Cho <jae_hyun.cho@samsung.com>
Differential Revision: https://phab.enlightenment.org/D8457
Carsten Haitzler (Rasterman) [Fri, 29 Mar 2019 00:16:22 +0000 (00:16 +0000)]
Revert "evas gl engines - avoid getting context if possible"
This reverts commit
e7771438a25382a2e4fabe33753456dcde8cab40.
This should fix T7764
zmike - you're right. thanks for narrowing down the commit... revert
time.
Vincent Torri [Thu, 28 Mar 2019 13:23:20 +0000 (09:23 -0400)]
remove the definition of HAVE_WASAPI as it is never used
Summary: HAVE_WASAPI is never used
Test Plan: compilation
Reviewers: zmike, cedric, raster
Reviewed By: zmike
Subscribers: #reviewers, #committers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D8493
Taehyub Kim [Thu, 28 Mar 2019 09:48:03 +0000 (18:48 +0900)]
efl_ui_alert_popup: add new feature for applying side button style of alert popup
Summary: This feature will apply side button style for each left and right button of alert popup
Reviewers: Jaehyun_Cho, cedric
Reviewed By: Jaehyun_Cho
Subscribers: #reviewers, #committers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D8492
Mike Blumenkrantz [Wed, 27 Mar 2019 15:25:28 +0000 (11:25 -0400)]
elm_entry: CRI if efl_file methods are called directly on this object
eo methods should not be called on legacy objects
Reviewed-by: Marcel Hollerbach <mail@marcel-hollerbach.de>
Differential Revision: https://phab.enlightenment.org/D8487
Xavi Artigas [Wed, 27 Mar 2019 15:10:57 +0000 (15:10 +0000)]
docs: Document event info calling convention
Both at the emitter (efl_event_callback_call) and the receiver
(info field in the Efl.Event structure).
The Events tutorial should repeat this.
Fixes T7760
Reviewed-by: Marcel Hollerbach <mail@marcel-hollerbach.de>
Differential Revision: https://phab.enlightenment.org/D8486
Marcel Hollerbach [Sun, 24 Mar 2019 12:24:47 +0000 (13:24 +0100)]
efl_ui_slider: block scrolling when on slider
when a mouse cursor is over a slider, the mouse wheel should be used to
affect the state of the slider, not also the one of the slider.
ref T2529
Reviewed-by: Bowon Ryu <bowon.ryu@samsung.com>
Reviewed-by: Jaehyun Cho <jae_hyun.cho@samsung.com>
Differential Revision: https://phab.enlightenment.org/D8455
Cedric BAIL [Wed, 27 Mar 2019 22:19:32 +0000 (15:19 -0700)]
elementary: remove some asynchronous behavior from the fileselector.
Marcel notted that when using the LIST view of the fileselector on a
big directory, we end up having to wait for the entire genlist to be
populated to be able to switch to another directory. This is actually
a side effect of the populate code being triggered through an idler.
This idler was useful when the list was populated directly, but now
that we rely on Efl.Io.Model, we should be asynchronous enough that
it shouldn't be a problem to actually not be asynchronous here. By
removing the reliance on the idler, we are not queued after all the
idler and can properly short circuit all of that.
Reviewed-by: Marcel Hollerbach <mail@marcel-hollerbach.de>
Differential Revision: https://phab.enlightenment.org/D8491
Cedric BAIL [Wed, 27 Mar 2019 21:24:57 +0000 (14:24 -0700)]
elementary: restore quick exit from wait loop in fileselector test.
The test was not expecting both callback to be set when the wait loop
was started. By moving them around, it fixes the test case to only have
one relevant callback set at a time.
Reviewed-by: Marcel Hollerbach <mail@marcel-hollerbach.de>
Differential Revision: https://phab.enlightenment.org/D8490
Marcel Hollerbach [Wed, 27 Mar 2019 20:15:53 +0000 (21:15 +0100)]
elc_filselector: solve the mysterium of sometimes failing tests
so after a phone call, two days of debugging, tears, crying etc. etc. we
finally came to a point of enlightenment! *Someone* (bu5hm4n) moved
gengrid and genlist events from eo back to smart events, so we can work
arround legacy borks and event-name collisions, at this point he did not
knew that some widgets (fileselector) already relied on those *lovely*
events. Hence this broke theoretically the testsuite, however, the
fileselector testsuite is ultimatily buggy, and the wait function does
not return false when it timeouts, (i don't know why not). So this break
was never discovered.
Additionally there is a second issue. it appears, that when we
immidiatly quit the mainloop after we have got the selected callback,
that then genlist decides to forget about the sd->selected pointer, and
NULLs that one out. Which then results in the fact that
elm_fileselector_selected_get ends up returning invalid paths.
Reviewed-by: Cedric BAIL <cedric.bail@free.fr>
Differential Revision: https://phab.enlightenment.org/D8488
Cedric BAIL [Fri, 22 Mar 2019 18:20:51 +0000 (11:20 -0700)]
elementary: make sure that the model parent being used is always the fileselector.
Model provided by an item selection would have there parent being the current
model of the fileselector. Once that one is replaced by the item model, it would
automatically invalidate the model and break any further request. This lead to
a bug where you could only get into one directory before everything else
being empty.
Reviewed-by: Marcel Hollerbach <mail@marcel-hollerbach.de>
Differential Revision: https://phab.enlightenment.org/D8450
Cedric BAIL [Fri, 22 Mar 2019 17:31:52 +0000 (10:31 -0700)]
elementary: prevent asynchronous properties change to believe target is ready when it is not in fileselector.
In some case, the properties changed event would be triggered first on the object model
instead of the target model. This now enforce that the target will be the first model
to handle and react on the information.
Reviewed-by: Marcel Hollerbach <mail@marcel-hollerbach.de>
Differential Revision: https://phab.enlightenment.org/D8449
Cedric BAIL [Thu, 21 Mar 2019 22:04:46 +0000 (15:04 -0700)]
elementary: fix fileselector entry support to define path manually.
There was no need in the first place to do all this asynchronous work here.
It is more robust to do it in sync.
Reviewed-by: Marcel Hollerbach <mail@marcel-hollerbach.de>
Differential Revision: https://phab.enlightenment.org/D8448
Cedric BAIL [Fri, 15 Mar 2019 21:38:24 +0000 (14:38 -0700)]
eio: work around the lack of integration between Ecore_Thread and Eina_Future.
Ecore_Thread excpect resolution of the error and done case to be instantaneous,
while Eina_Future default scheduler linked with Ecore main loop is build around
asynchronous answer. This create a lot of potential. A better patch would be
to provide an Ecore_Thread helper that does the integration properly. Sadly
we are in release now, so this is basically what an helper would do, but
contained inside Efl_Io_Manager.
This also solve the same problem as D7970 and D8053, but it should avoid its
side effect.
Reviewed-by: YeongJong Lee <yj34.lee@samsung.com>
Differential Revision: https://phab.enlightenment.org/D8371
Yeongjong Lee [Fri, 15 Mar 2019 21:51:54 +0000 (14:51 -0700)]
eio: add test to ensure proper lifecycle of Efl_Io object and futures.
Reviewed-by: Marcel Hollerbach <mail@marcel-hollerbach.de>
Differential Revision: https://phab.enlightenment.org/D8372
Cedric BAIL [Fri, 15 Mar 2019 22:54:26 +0000 (15:54 -0700)]
eio: Efl.Io.Model should not make request when the object is invalidating itself.
Reviewed-by: Marcel Hollerbach <mail@marcel-hollerbach.de>
Differential Revision: https://phab.enlightenment.org/D8373
Cedric BAIL [Fri, 15 Mar 2019 23:55:07 +0000 (16:55 -0700)]
eio: remove unecessary use of weak reference.
There is no point in keeping a pointer to the main loop now that we
are using efl_future_then. This resolve potential bug with leftover
dangling weak reference as efl_future_then do require a free case
otherwise.
Reviewed-by: Marcel Hollerbach <mail@marcel-hollerbach.de>
Differential Revision: https://phab.enlightenment.org/D8374
Cedric BAIL [Fri, 15 Mar 2019 23:56:33 +0000 (16:56 -0700)]
elementary: destroy fileselector children when they are not itemized yet.
As we now do everything asynchronously, we do have model representing child
of the main model that don't provide enough information to be displayed yet.
This are not tracked by a genlist item, nor are they a child of the
fileselector. To properly handle their lifecycle, it is necessary to unref
them manually explicitely.
Reviewed-by: Marcel Hollerbach <mail@marcel-hollerbach.de>
Differential Revision: https://phab.enlightenment.org/D8375
Cedric BAIL [Thu, 21 Mar 2019 20:33:30 +0000 (13:33 -0700)]
eio: guarantee that we will at least process one request per loop iteration for very slow system.
Reviewed-by: Marcel Hollerbach <mail@marcel-hollerbach.de>
Differential Revision: https://phab.enlightenment.org/D8447
Cedric BAIL [Wed, 13 Mar 2019 21:54:39 +0000 (14:54 -0700)]
elementary: improve lifecycle of model object in the fileselector widget.
This is a minimal change and it would be best to refactor the code completely
using all the infrastructure we have now instead of the organically grown code,
but I am afraid of doing such a big change at this point of our release cycle.
Part of the improvement are use of efl_replace to make sure Eo object reference
are set to NULL once reference are dropped. Handling the case when a processed
child is actually pointing to an error. Also it is not supported by model to
get their parent stolen, so this has been fixed too. Finally setting the path
asynchronously was creating more trouble than needed, when it could be done in
a synchronous way.
Reviewed-by: Marcel Hollerbach <mail@marcel-hollerbach.de>
Differential Revision: https://phab.enlightenment.org/D8336
Cedric BAIL [Thu, 14 Mar 2019 21:14:53 +0000 (14:14 -0700)]
eo: refactor auto_unref logic used by efl_part.
This bring no functional change to Eo and efl_part.
Reviewed-by: Marcel Hollerbach <mail@marcel-hollerbach.de>
Differential Revision: https://phab.enlightenment.org/D8357
Cedric BAIL [Thu, 14 Mar 2019 21:15:28 +0000 (14:15 -0700)]
eo: enforce auto_unref logic at the end of efl_unref execution.
This allow for the safe use of efl_ref/efl_unref around an efl_part
without calling any function on that part.
Reviewed-by: Marcel Hollerbach <mail@marcel-hollerbach.de>
Differential Revision: https://phab.enlightenment.org/D8358
Cedric BAIL [Wed, 20 Mar 2019 17:55:29 +0000 (10:55 -0700)]
Revert "efl_ui_layout: call efl_del instead of efl_unref when text part does not exist"
This reverts commit
cced5487c83c8f75e2ca40969f5749d5e6570228.
This patch was pushed just to silence warning without fixing the problem and doing
something that was incorrect (coupling an efl_del with an efl_ref).
Reviewed-by: Marcel Hollerbach <mail@marcel-hollerbach.de>
Differential Revision: https://phab.enlightenment.org/D8429
Cedric BAIL [Thu, 14 Mar 2019 21:16:50 +0000 (14:16 -0700)]
elementary: only apply text when the object is not invalidated and dying.
Reviewed-by: Marcel Hollerbach <mail@marcel-hollerbach.de>
Differential Revision: https://phab.enlightenment.org/D8359
Cedric BAIL [Wed, 13 Mar 2019 17:39:49 +0000 (10:39 -0700)]
elementary: split the smart callback event name from the Eo name when needed.
This fix the borkage of the "selected" smart event not being triggered.
Reviewed-by: Marcel Hollerbach <mail@marcel-hollerbach.de>
Differential Revision: https://phab.enlightenment.org/D8332
Cedric BAIL [Wed, 13 Mar 2019 21:49:50 +0000 (14:49 -0700)]
eina: prevent double cancel of ongoing dispatched future.
Reviewed-by: Marcel Hollerbach <mail@marcel-hollerbach.de>
Differential Revision: https://phab.enlightenment.org/D8333
Cedric BAIL [Wed, 13 Mar 2019 21:50:48 +0000 (14:50 -0700)]
eio: rely on efl_future_then to properly protect Eo object during the lifecycle of the future callback.
Reviewed-by: Marcel Hollerbach <mail@marcel-hollerbach.de>
Differential Revision: https://phab.enlightenment.org/D8334
Cedric BAIL [Wed, 13 Mar 2019 21:51:20 +0000 (14:51 -0700)]
eio: path and filename property should always remind accessible even in case of error.
Reviewed-by: Marcel Hollerbach <mail@marcel-hollerbach.de>
Differential Revision: https://phab.enlightenment.org/D8335
Mike Blumenkrantz [Wed, 27 Mar 2019 21:23:19 +0000 (17:23 -0400)]
build: add autotools for elm config embedding
Summary: Depends on D8481
Reviewers: bu5hm4n, devilhorns
Reviewed By: bu5hm4n
Subscribers: cedric, #reviewers, #committers
Tags: #efl_build
Differential Revision: https://phab.enlightenment.org/D8489
Marcel Hollerbach [Wed, 27 Mar 2019 21:23:13 +0000 (17:23 -0400)]
elementary: embed standard config as fallback
Summary:
as you can see in T7620, there is quite some critics about how we are
handling configs in elm. This patch enables the compile-time standard
config to be used instead of some weak-wrong-usage hardcoded structure
defines somewhere in elm.
This means, that every update to the default theme will be also in the
next build embedded, without any config files installed at all, the
standard config for desktops will work, and a error will be printed, so
the user does have the possibility to interact with elm as he wishes,
while he sees this error.
fixes T7620
Reviewers: zmike, cedric, segfaultxavi, devilhorns
Reviewed By: zmike
Subscribers: devilhorns, #reviewers, #committers
Tags: #efl
Maniphest Tasks: T7620
Differential Revision: https://phab.enlightenment.org/D8481
Mike Blumenkrantz [Wed, 27 Mar 2019 18:34:48 +0000 (14:34 -0400)]
build: fix meson vnc-server option text
Summary: thx @vtorri for reporting
Reviewers: devilhorns, vtorri
Reviewed By: vtorri
Subscribers: cedric, #reviewers, vtorri, #committers
Tags: #efl_build
Differential Revision: https://phab.enlightenment.org/D8480
Mike Blumenkrantz [Wed, 27 Mar 2019 18:34:43 +0000 (14:34 -0400)]
build: fix meson pixman dependency name
Summary: thx @vtorri for reporting
Reviewers: devilhorns, vtorri
Reviewed By: vtorri
Subscribers: cedric, #reviewers, vtorri, #committers
Tags: #efl_build
Differential Revision: https://phab.enlightenment.org/D8479
Vincent Torri [Wed, 27 Mar 2019 14:59:31 +0000 (10:59 -0400)]
eina benchmark: fix warnings on Windows 64 bits
Summary: long is always a 32 bits type on Windows
Test Plan: compilation
Reviewers: raster, zmike, cedric
Reviewed By: zmike
Subscribers: #reviewers, #committers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D8482
Wonki Kim [Wed, 27 Mar 2019 14:18:41 +0000 (10:18 -0400)]
test: add a test case for elm_entry
Summary:
behaviors of elm_entry has been changed
so that this patch provides usages to keep as a test case.
Reviewers: zmike, Hermet, YOhoho
Reviewed By: zmike
Subscribers: cedric, #reviewers, #committers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D8483
Wonki Kim [Wed, 27 Mar 2019 14:18:33 +0000 (10:18 -0400)]
entry: move a point to do 'auto_save' to another place
Summary:
By reworking on efl_file, logic flow for entry has been changed.
and it causes autosave making a file that is passed to elm_entry_file_set empty.
Test Plan:
1. call elm_entry_file_set for a file.
2. check the file is not empty after calling the function.
Reviewers: zmike, bu5hm4n
Reviewed By: zmike
Subscribers: cedric, #reviewers, #committers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D8362
Change-Id: Icb8202fb9cf55401c26c628358fa39e2947b2f7b
Woochanlee [Wed, 27 Mar 2019 04:11:15 +0000 (13:11 +0900)]
evas_render: Process deferred callback in the sync render case.
Summary:
The EVAS_CALLBACK_RENDER_POST callback has been deferred when the callback is registered during the render(inside_post_render flag on).
In the sync render case, the logic to call deferred callbacks is missing, and callbacks are not being called in certain cases.
@fix
Reviewers: ManMower, Hermet
Reviewed By: Hermet
Subscribers: zmike, cedric, #reviewers, #committers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D8478
Yeongjong Lee [Wed, 27 Mar 2019 07:37:03 +0000 (16:37 +0900)]
efl.spec : add --enable-install-eo-files option
Becuase tizen use eo beta apis, it is needed to install eo files.
Change-Id: Ie6729733ae3fe96e0a4542775dfe6c9266c9222a
Yeongjong Lee [Wed, 27 Mar 2019 07:35:58 +0000 (16:35 +0900)]
Elementary : fix migration build errors
@tizen_fix
Change-Id: Iad251f98ec2706deb69262ef721d526b9fcbe4b1
Yeongjong Lee [Wed, 27 Mar 2019 07:33:56 +0000 (16:33 +0900)]
migration: remove beta tags.
It will fix build error
@tizen_fix
Change-Id: I87a3905bd0f81af5f6182f8f96f29a71679169d3
Vitor Sousa [Mon, 25 Mar 2019 20:14:32 +0000 (17:14 -0300)]
eolian_csharp: hide struct native representation inside the managed struct
Summary:
Rework the struct binding generator to declare the native struct nested inside
the managed one.
This way native structs are less likely to cause confusion; for example
with an IDE that supports automatic completion.
Get rid of struct conversion class methods in favor of using (the already
generated) implicit conversion operators.
Depends on D8469
Reviewers: segfaultxavi, lauromoura, felipealmeida
Reviewed By: lauromoura
Subscribers: cedric, #reviewers, #committers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D8470
Vitor Sousa [Fri, 22 Mar 2019 21:47:27 +0000 (18:47 -0300)]
eolian_csharp: make struct generator use indentation level from context
Summary:
Make the struct generator (the first one to) extract indentation information
from the context, an effort for a future overall consistency in white space
generation.
Depends on D8468
Reviewers: lauromoura, segfaultxavi, felipealmeida
Reviewed By: lauromoura
Subscribers: cedric, #reviewers, #committers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D8469
Vitor Sousa [Fri, 22 Mar 2019 21:37:50 +0000 (18:37 -0300)]
eolian_csharp: add indentation context
Summary:
Also, use new context class for cleaner constructs.
Also, make functions receive context objects by reference to avoid
unnecessary object copies (since context objects are bigger now).
This commit contains preparation structures for a future overhaul of
white space generation.
Depends on D8467
Test Plan: ninja test
Reviewers: felipealmeida, lauromoura
Reviewed By: lauromoura
Subscribers: cedric, #reviewers, #committers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D8468
Vitor Sousa [Fri, 22 Mar 2019 21:34:29 +0000 (18:34 -0300)]
eolian_cxx: rework context code, also more flexible scope indentation generator
Summary:
Context management classes now store constant copies of the tags they
are supposed to hold. So, they are immutable objects now.
Functions that manipulate context create new object copies as needed.
`constexpr` was added for class constructor and functions.
Indentation generator now used four space by default.
Also, the amount of desired spaces can now be specified at call site.
Added helper methods to return 'indented' and 'unindented' version of a
given indentation generator object.
Test Plan: ninja test
Reviewers: felipealmeida, lauromoura
Reviewed By: lauromoura
Subscribers: cedric, #reviewers, #committers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D8467
Lauro Moura [Tue, 26 Mar 2019 17:45:18 +0000 (14:45 -0300)]
efl-csharp: Remove spaces from type strings in generator.
Summary:
Previously, the type_impl and marshall_type_impl generators relied on a
type mismatch in the match table to fallback to the else branch in the
match check to actually print the type string. This was achieved by
adding the " " prefix to the type.
This commit changes this behavior to invoke a proper visitor just to
print and makes both generators return trimmed type strings.
This will help conforming to the C# coding conventions.
Test Plan: run test suite
Reviewers: felipealmeida, vitor.sousa
Reviewed By: felipealmeida, vitor.sousa
Subscribers: cedric, #reviewers, #committers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D8441
Cedric BAIL [Tue, 26 Mar 2019 16:05:40 +0000 (12:05 -0400)]
elementary: fix ATSPI reflection API warning.
Summary: Depends on D8451
Reviewers: zmike, bu5hm4n, stefan_schmidt, devilhorns
Reviewed By: devilhorns
Subscribers: #reviewers, #committers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D8452
Cedric BAIL [Tue, 26 Mar 2019 16:05:02 +0000 (12:05 -0400)]
eina: always initialize i.
Reviewers: zmike, bu5hm4n, stefan_schmidt, devilhorns
Reviewed By: devilhorns
Subscribers: #reviewers, #committers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D8451
Vincent Torri [Tue, 26 Mar 2019 14:10:54 +0000 (10:10 -0400)]
evil : remove mkstemp, which is already defined in mingw-w64
Summary: mkstemp is already defined in mingw-w64
Test Plan: compilation
Reviewers: zmike
Reviewed By: zmike
Subscribers: cedric, #reviewers, #committers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D8454
Marcel Hollerbach [Tue, 26 Mar 2019 14:09:42 +0000 (10:09 -0400)]
evas_3d: stop just segfaulting straight away
Summary:
there have been wrong function calls, that did not work at all, since
the function pointer had the wrong type. This fixes the segfaulting
examples of evas3d. However, they still do not render, at least, they
don't crash anymore.
Depends on D8381
Reviewers: cedric, segfaultxavi, zmike, stefan_schmidt
Reviewed By: zmike
Subscribers: #reviewers, #committers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D8382
Bowon Ryu [Tue, 26 Mar 2019 05:20:27 +0000 (14:20 +0900)]
efl_ui_tab_pager: fixed issue where tab_pager does not work
Summary:
I fixed the tab_pager behavior problem caused by changing efl interface.
and I have also fixed some sample code errors.
- using efl_file_load for efl_file_set
- using efl_del for unpacked tab_page
- disable unimplemented features
Test Plan: elementary_test -to efl.ui.tab_pager
Reviewers: Jaehyun_Cho
Reviewed By: Jaehyun_Cho
Subscribers: cedric, #reviewers, #committers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D8471
Mike Blumenkrantz [Thu, 21 Mar 2019 17:24:47 +0000 (13:24 -0400)]
tests: add function to do "real" timers
in very specific cases it's necessary to match the exact timing of
internal functionality, so add a function to provide that capability
Reviewed-by: Marcel Hollerbach <mail@marcel-hollerbach.de>
Differential Revision: https://phab.enlightenment.org/D8439
Mike Blumenkrantz [Thu, 21 Mar 2019 17:08:56 +0000 (13:08 -0400)]
tests: make elm_win visible during tests
elm_win has some internal locking to avoid doing sizing and visibility
changes until pre-render to save some calculations. this makes triggering
ui events on objects impossible, as they will not be visible.
Reviewed-by: Marcel Hollerbach <mail@marcel-hollerbach.de>
Differential Revision: https://phab.enlightenment.org/D8438
Vincent Torri [Mon, 25 Mar 2019 14:10:47 +0000 (10:10 -0400)]
meson build : remove duplicate check of dirent.h
Reviewers: zmike
Reviewed By: zmike
Subscribers: cedric, #reviewers, #committers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D8460
Vincent Torri [Mon, 25 Mar 2019 14:10:37 +0000 (10:10 -0400)]
meson build : remove duplicate check of strerror_r
Summary: strerror_r is checked twice in headers_check
Reviewers: zmike
Reviewed By: zmike
Subscribers: cedric, #reviewers, #committers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D8453
WooHyun Jung [Mon, 25 Mar 2019 12:52:10 +0000 (08:52 -0400)]
elm_entry: fix a bug in moving the magnifier
Summary:
When moving the magnifier in elm_entry, _magnifier_move
function occured infinite loop problem by calling
evas_object_move twice with different positions.
So, I changed it to call evas_object_move once.
ref T7202
Test Plan:
1. Set profile to "mobile"
2. elementary_test
3. entry
4. long press mouse button on elm_entry
5. when the magnifier is shown, try to move it
Reviewers: zmike, bu5hm4n, bowonryu, id213sin
Reviewed By: zmike
Subscribers: cedric, #reviewers, #committers
Tags: #efl
Maniphest Tasks: T7202
Differential Revision: https://phab.enlightenment.org/D8462
Hermet Park [Mon, 25 Mar 2019 10:46:24 +0000 (19:46 +0900)]
efl_ui_image: remove job in sizing calc.
Originally, this job task was introduced for trick optimization to avoid
unnecessary duplicated compuation.
But this introduced a regression bug as well, image geometry updation was
delayed by this.
So, we remove the job here.
@fix T7360
Change-Id: I6a11744777186b486e81b87ea5293fa564c732ed
Jaehyun Cho [Mon, 25 Mar 2019 09:58:03 +0000 (18:58 +0900)]
efl_mono: remove unnecessary external function import
ecore_init, ecore_shutdown, elm_init, elm_policy_set, elm_shutdown,
elm_exit are imported in efl_all.cs.
Moreover, efl_csharp_application.cs is using Efl.UnsafeNativeMethods.
Therefore, the unnecessary external function import is removed in
efl_all.cs.
Yeongjong Lee [Mon, 25 Mar 2019 09:56:41 +0000 (09:56 +0000)]
efl_ui_container_layout: use correct property
The `if` condition check whether horizontal, vertical aspect are greater than 0.
`aspect` is correct here.
this patch fixes T7756
Reviewed-by: Marcel Hollerbach <mail@marcel-hollerbach.de>
Differential Revision: https://phab.enlightenment.org/D8461
Marcel Hollerbach [Fri, 15 Mar 2019 13:12:04 +0000 (14:12 +0100)]
elm_gengrid: speed up update order calls
update order can be quite expensive, so this here tries to skip it as
often as possible.
ref T7384
Reviewed-by: SangHyeon Jade Lee <sh10233.lee@samsung.com>
Differential Revision: https://phab.enlightenment.org/D8367
Change-Id: I750d4ac6ebbb03f43a6727786316dd313021a87c
Marcel Hollerbach [Fri, 15 Mar 2019 12:37:33 +0000 (13:37 +0100)]
elm_gengrid: rework focus registration
before just everything has been registered, now only the realized items
are registered.
ref T7384
Reviewed-by: Cedric BAIL <cedric.bail@free.fr>
Differential Revision: https://phab.enlightenment.org/D8366
Change-Id: I15fe4b231ba5660c4edffceaadd199d7c31ba96f
Shilpa Singh [Thu, 21 Mar 2019 06:16:52 +0000 (06:16 +0000)]
efl_access: add test cases for reading_info_type_set/get API
Add test cases for efl_access_object_reading_info_type_set and efl_access_object_reading_info_type_get
APIs
Reviewed-by: Marcel Hollerbach <mail@marcel-hollerbach.de>
Differential Revision: https://phab.enlightenment.org/D8427
Shilpa Singh [Mon, 25 Mar 2019 01:11:39 +0000 (10:11 +0900)]
efl_access: if 0 is set as reading_info_type, remove existing reading_info
Summary:
if 0 is set as reading_info_type, remove existing reading_info and
allow default reading info types (name, role, state and description)
to be read.
Do not set reading info again in reading_info_type_set API if new
value matches the old value.
Test Plan:
If application does not set reading_info_type or set 0 reading_info_type,
All four reading info types of an accessible object should be read on highlight.
Signed-off-by: Shilpa Singh <shilpa.singh@samsung.com>
Reviewers: kimcinoo, jsuya, bu5hm4n, lukasz.stanislawski
Subscribers: prasoonsingh16, rajeev.jnnce, #reviewers, cedric, #committers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D8435
Change-Id: I5258ad5c6a1210c4880aa822ed1c504cf838b8ca
Mike Blumenkrantz [Fri, 22 Mar 2019 13:50:57 +0000 (09:50 -0400)]
evas_clip: check for object validity before adding fallback damage rect
this path should not be triggered for objects which are being deleted,
which was the case in all of the referenced bug reportst
fix T4904, T7100, T7421
Reviewed-by: Cedric BAIL <cedric.bail@free.fr>
Differential Revision: https://phab.enlightenment.org/D8445
Christopher Michael [Thu, 21 Mar 2019 18:14:57 +0000 (14:14 -0400)]
evas drm: Implement support for outbuf_idle_flush
Christopher Michael [Fri, 22 Mar 2019 16:41:47 +0000 (12:41 -0400)]
evas drm: Implement support for damage_region_set
Summary:
This patch implements engine support for outbuf_damage_region_set that
we can use to mark a framebuffer as being dirty, and to set the dirty
regions on that framebuffer.
ref T7690
Depends on D8403
Reviewers: raster, cedric, zmike
Subscribers: #reviewers, #committers
Tags: #efl
Maniphest Tasks: T7690
Differential Revision: https://phab.enlightenment.org/D8404
Christopher Michael [Fri, 22 Mar 2019 16:41:43 +0000 (12:41 -0400)]
evas drm: Fix software output rotation
Summary:
Don't use redraws_clear to handle buffer swapping. Buffer swapping
should be done on outbuf_flush. This patch fixes evas drm software
output rotation (along with other patches in the series).
ref T7690
@fix
Depends on D8402
Reviewers: raster, cedric, zmike
Subscribers: #reviewers, #committers
Tags: #efl
Maniphest Tasks: T7690
Differential Revision: https://phab.enlightenment.org/D8403
Christopher Michael [Fri, 22 Mar 2019 16:41:38 +0000 (12:41 -0400)]
evas drm: Don't use eng_output_resize or redraws clear
Summary:
We don't need to use eng_output_resize in this engine as
eng_output_update will take care of that. Also, don't use
redraws_clear to handle buffer swapping. This is part one of software
rotation fixes.
ref T7690
@fix
Depends on D8116
Reviewers: raster, cedric, zmike
Subscribers: #reviewers, #committers
Tags: #efl
Maniphest Tasks: T7690
Differential Revision: https://phab.enlightenment.org/D8402
Christopher Michael [Fri, 22 Mar 2019 16:41:28 +0000 (12:41 -0400)]
ecore-evas-drm: Enable rotation to work again
Summary:
This patch removes the ability to do hardware rotation (it's broken
anyway), and refactors the _drm_rotation_do function to just use
software (ecore_evas & evas) rotation.
ref T7690
Depends on D8115
Reviewers: raster, cedric, zmike
Subscribers: cedric
Tags: #efl, #do_not_merge
Maniphest Tasks: T7690
Differential Revision: https://phab.enlightenment.org/D8116
Christopher Michael [Fri, 22 Mar 2019 16:41:25 +0000 (12:41 -0400)]
ecore-drm2: Factor in output rotation when getting output info
Summary:
Enlightenment uses this function to get information about a given
output, so we should be accounting for output rotation when returning
width/height values.
ref T7690
@fix
Depends on D8114
Reviewers: raster, cedric, zmike
Reviewed By: cedric
Subscribers: cedric
Tags: #efl, #do_not_merge
Maniphest Tasks: T7690
Differential Revision: https://phab.enlightenment.org/D8115
Christopher Michael [Fri, 22 Mar 2019 16:41:21 +0000 (12:41 -0400)]
ecore-drm2: Add API function to return output rotation
Summary:
Small patch to add an API function which can be used to return a given
output's rotation value
ref T7690
@feature
Depends on D8113
Reviewers: raster, cedric, zmike, stefan_schmidt, bu5hm4n
Reviewed By: cedric
Subscribers: cedric
Tags: #efl, #do_not_merge
Maniphest Tasks: T7690
Differential Revision: https://phab.enlightenment.org/D8114
Christopher Michael [Fri, 22 Mar 2019 16:41:16 +0000 (12:41 -0400)]
ecore-drm2: Set output rotation value
Summary:
When we call ecore_drm2_output_rotation_set we need to store that
value in the Output structure so that it can be checked later when
needed.
ref T7690
Depends on D8112
Reviewers: raster, cedric, zmike
Reviewed By: cedric
Subscribers: cedric
Tags: #efl, #do_not_merge
Maniphest Tasks: T7690
Differential Revision: https://phab.enlightenment.org/D8113
Christopher Michael [Fri, 22 Mar 2019 16:41:11 +0000 (12:41 -0400)]
ecore-drm2: Disable hardware rotation for outputs
Summary:
Setting output primary plane rotation is broken at the moment, so this
commit will disable that for now until this can be investigated
ref T7690
Depends on D8111
Reviewers: raster, cedric, zmike
Subscribers: cedric
Tags: #efl, #do_not_merge
Maniphest Tasks: T7690
Differential Revision: https://phab.enlightenment.org/D8112
Christopher Michael [Fri, 22 Mar 2019 16:41:08 +0000 (12:41 -0400)]
ecore-drm2: Update plane state values based on FB
Summary:
When we are trying to set an FB onto a plane, we need to update the
plane state values to reflect any changes in the FB. Failure to do
this will result in Atomic Commit failures as the plane state values
will not match what the FB is.
ref T7690
@fix
Depends on D8110
Reviewers: raster, cedric, zmike
Reviewed By: cedric
Subscribers: cedric
Tags: #efl, #do_not_merge
Maniphest Tasks: T7690
Differential Revision: https://phab.enlightenment.org/D8111