summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* efl_mono: avoid C# making many handles for event delegates, so we can ↵devs/vitorsousa/csharp_end_error_fixVitor Sousa2019-04-052-10/+12
| | | | unregister them
* efl_mono: efl_unrefs are functioning properlyVitor Sousa2019-04-056-247/+370
|
* efl-csharp: fix resource deallocation causing errors everywhereVitor Sousa2019-04-0227-54/+276
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Summary: This commit mainly fixes errors caused by deallocating resources in the garbage collector thread. Using `ecore_main_loop_thread_safe_call_async` to queue resource deallocation in the main thread seems to solve it. Also, some `efl_ref` calls are added in places they were missing, mainly objects that unref in the destructor thus taking ownership if efl_ref is not called. Also fix improper resource deallocation in tests that were causing it to crash, enabling it to call Efl.All.Shutdown again. This allocation and the deallocation process was moved from the Eo class constructor to static class methods that are called in the test 'set up' and 'tear down' methods. Queuing resource deallocation in the main thread make it mandatory that tests call `Efl.App.AppMain.Iterate()` if they want to check proper resource deallocation (like TestFunctionPointers.set_callback_inherited_called_from_c). Extras: Remove duplicated declaration of 'eflcustomexportsmono' in meson in order to fix some linking problems. Remove some unused code around deallocation functions that had to be reworked. Object allocation is now supplied with the call site information it expects (file name and line for _efl_add_start). Test Plan: meson test Reviewers: felipealmeida, lauromoura, cedric Subscribers: #reviewers, #committers Tags: #efl Differential Revision: https://phab.enlightenment.org/D8431
* elm naviframe - remove duplicated func prototype in headersCarsten Haitzler (Rasterman)2019-04-022-31/+29
| | | | | one hade EAPI, one did not and there were 2 anyway, so remove one and ensure the other has EAPI and the same docs. this should fix T7776
* docs: Update refs to Efl.Ui.Theme.Apply_ErrorXavi Artigas2019-04-022-3/+3
| | | | | | | | | | | | | | | | | | | | | Summary: Proper refs to particular errors cannot be added until T7736 is resolved. Ref T7717 Test Plan: Only docs updated Reviewers: zmike Reviewed By: zmike Subscribers: cedric, #reviewers, #committers Tags: #efl Maniphest Tasks: T7717 Differential Revision: https://phab.enlightenment.org/D8495
* docs: Format efl_file.hXavi Artigas2019-04-023-19/+27
| | | | | | | | | | | | | | | | | | | | | Summary: And polish a bit. Ref T7717 Test Plan: Only docs updated Reviewers: zmike Reviewed By: zmike Subscribers: bu5hm4n, cedric, #reviewers, #committers Tags: #efl Maniphest Tasks: T7717 Differential Revision: https://phab.enlightenment.org/D8498
* efl_check: add API to expect a errorMarcel Hollerbach2019-04-021-0/+23
| | | | | | | | | | | | | | | | | | | | | Summary: sometimes it is not enough to just disable aborting on critical error messages. Sometimes it is better to explicitly expect an error, and fail the testcase if there is no error. This is used in later commits here. Depends on D8417 Reviewers: YOhoho, segfaultxavi, zmike, woohyun, Jaehyun_Cho Reviewed By: zmike Subscribers: cedric, #reviewers, #committers Tags: #efl Differential Revision: https://phab.enlightenment.org/D8519
* configure.ac : remove definition of HAVE_ECORE_AUDIO_WASAPI as it is never usedVincent Torri2019-04-021-1/+0
| | | | | | | | | | | | | | | | Summary: HAVE_WIN32 is used instead of HAVE_ECORE_AUDIO_WASAPI Test Plan: compilation Reviewers: raster, zmike, cedric Reviewed By: zmike Subscribers: #reviewers, #committers Tags: #efl Differential Revision: https://phab.enlightenment.org/D8532
* elm: allow config_embed to be run out of treeVincent Torri2019-04-021-1/+1
| | | | | | | | | | | | | | Test Plan: compilation Reviewers: raster, cedric, zmike Reviewed By: zmike Subscribers: #reviewers, #committers Tags: #efl Differential Revision: https://phab.enlightenment.org/D8533
* ecore: correctly clean up in ecore_fork_resetMarcel Hollerbach2019-04-021-5/+8
| | | | | | | | | | | | | | | | | | | | | | | | | Summary: after a fork does happen, the new process does not have any self created threads at all. However, _thread_cb can contain suspend calls of ecore_thread_main_loop_begin. _ecore_main_call_flush will then wait in the suspend block for the thread to call ecore_thread_main_loop_end. However, the thread is dead, the end function will never be called. Hence we should ensure that we definitly kill every entry in _thread_cb that has a susped flag on true. This fixes deadlocks while running the testsuites with EIO_MONITOR_POLL=1 Depends on D8526 Reviewers: cedric, segfaultxavi, zmike Reviewed By: zmike Subscribers: #reviewers, #committers Tags: #efl Differential Revision: https://phab.enlightenment.org/D8531
* eio: ensure that the monitor starts when it is called toMarcel Hollerbach2019-04-021-1/+4
| | | | | | | | | | | | | | | | | Summary: we need to to this here, otherwise we effectfily start the monitor later, which means, we can miss a change in the filesystem. However, this makes things a lot slower. Reviewers: cedric Reviewed By: cedric Subscribers: cedric, #reviewers, #committers Tags: #efl Differential Revision: https://phab.enlightenment.org/D8526
* efl_io_model: start early on monitoringMarcel Hollerbach2019-04-021-13/+23
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Summary: Little introduction into what eio did before this commit: Efl.Io.Model creation: - direct ls of a directory in a thread (A) - take all the contents of a directory and feed it slowly back into the mainloop - when all events have been feeded back to the mainloop and have been processed: start monitoring (B) However, any file created between (A) and (B) will not be in the model, since not the listing nor the monitoring did caputure it. Hence we need to start monitoring before we actaully start listing. In the callbacks we then check if we already published something. ref T7311 Reviewers: zmike, cedric Reviewed By: cedric Subscribers: cedric, #reviewers, #committers Tags: #efl Maniphest Tasks: T7311 Differential Revision: https://phab.enlightenment.org/D8525
* tests: unset eina log callback at end of each efl_app promise testMike Blumenkrantz2019-04-021-0/+5
| | | | | | | | | | | | | | Summary: ensure that this doesn't trigger cascading errors Reviewers: cedric Reviewed By: cedric Subscribers: cedric, #reviewers, #committers Tags: #efl Differential Revision: https://phab.enlightenment.org/D8514
* docs: Fix common misspellings in H filesXavi Artigas2019-04-0231-52/+52
| | | | | Fixed all appearances of words from this list in H files: https://en.wikipedia.org/wiki/Wikipedia:Lists_of_common_misspellings/For_machines
* docs: Fix common misspellings in EO filesXavi Artigas2019-04-029-10/+10
| | | | | Fixed all appearances of words from this list in EO files: https://en.wikipedia.org/wiki/Wikipedia:Lists_of_common_misspellings/For_machines
* eo: Correctly name Realized classes.Lauro Moura2019-04-022-1/+8
| | | | | | | | The previous preprocessor rule was generating strings like "\"Efl.App\"_Realized. Reviewed-by: Marcel Hollerbach <mail@marcel-hollerbach.de> Differential Revision: https://phab.enlightenment.org/D8527
* elm_widget_item_eo.legacy: change @ingroup to Elm_GeneralJaehyun Cho2019-04-021-47/+59
| | | | | | | | | | | | | | | | | | | | | | | | Summary: The @ingroup of elm_object_item APIs is Elm_General in elm_object_item.h. Since legacy prefix of Elm_Widget_Item is elm_object_item, the prefix of Elm_Widget_Item APIs is elm_object_item. Consequently, to display the legacy Elm_Widget_Item APIs with elm_object_item APIs, the @ingroup is changed from Elm_Object_Item_Group to Elm_General. Test Plan: make doc and check the documentation Reviewers: segfaultxavi Reviewed By: segfaultxavi Subscribers: cedric, #reviewers, #committers Tags: #efl Differential Revision: https://phab.enlightenment.org/D8529
* Revert "efl_ui_pager: implement unpack_at function"Jaehyun Cho2019-04-021-12/+5
| | | | | | | | | This reverts commit 913a5bff66dd7a58753ccae1474657ec33350e43. The commit is reverted because the commit implements features during feature freeze period before release. 913a5bff66dd7a58753ccae1474657ec33350e43 will be restored after release.
* Revert "efl_ui_pager: implement unpack_all/clear function"Jaehyun Cho2019-04-026-109/+8
| | | | | | | | | This reverts commit 74c48f029632d2260816b4cb3de6dbb40a29f040. The commit is reverted because the commit implements features during feature freeze period before release. 74c48f029632d2260816b4cb3de6dbb40a29f040 will be restored after release.
* Revert "test/efl_ui_pager_scroll: fix demo"Jaehyun Cho2019-04-021-57/+15
| | | | | | | | | | | This reverts commit 30bd541bf264d369e2a96d27fa3ff5139c360e26. The commit is reverted to revert the following commits. 74c48f029632d2260816b4cb3de6dbb40a29f040 913a5bff66dd7a58753ccae1474657ec33350e43 The above commits will be restored after release and then 30bd541bf264d369e2a96d27fa3ff5139c360e26 will be also restored.
* Revert "test/efl_ui_pager: fix demo"Jaehyun Cho2019-04-021-26/+4
| | | | | | | | | | | This reverts commit d3bb1a7342b2725c585d90557926e0c433058e50. The commit is reverted to revert the following commits. 74c48f029632d2260816b4cb3de6dbb40a29f040 913a5bff66dd7a58753ccae1474657ec33350e43 The above commits will be restored after release and then d3bb1a7342b2725c585d90557926e0c433058e50 will be also restored.
* Revert "elm - fix harmless warning for clean build"Jaehyun Cho2019-04-021-1/+1
| | | | | | | | | | This reverts commit e3d2a0cf1235beceb3b403e42d2dafed4b4e90e5. The commit is reverted to revert the following commit. 74c48f029632d2260816b4cb3de6dbb40a29f040 The above commit will be restored after release and then e3d2a0cf1235beceb3b403e42d2dafed4b4e90e5 will be also restored.
* canvas vg: fix wrong key pass for caching surface.Hermet Park2019-04-021-2/+2
| | | | | | | | There is a wrong case that fails caching ector surfaces. Those vector objects manually constructing shapes, passed wrong pointer as the cacahing key instead of root node pointer. This fixes it.
* ecore-drm2: Add missing @ingroup for some doxyChristopher Michael2019-04-011-2/+4
| | | | | | | Small patch to add missing @ingroup for doxygen comments, and correct one that was in the wrong group @fix
* efl_ui_selection_manager: Don't leak malloc'd dataChristopher Michael2019-04-011-6/+11
| | | | | | | | | | | | | | | | | | | | | Summary: Coverity reports that we potentially leak char *s here. If we do not have 'data_ret', then the malloc'd 's' sould be freed as we are not going to use it. Fixes Coverity CID1396949 @fix Reviewers: raster, cedric, bu5hm4n, zmike Reviewed By: bu5hm4n Subscribers: #reviewers, #committers Tags: #efl Differential Revision: https://phab.enlightenment.org/D8523
* evas-font-dir: Minor formatting fixesChristopher Michael2019-04-011-10/+10
| | | | NB: No functional changes
* elm - fix harmless warning for clean buildCarsten Haitzler (Rasterman)2019-03-301-1/+1
|
* elm - fix harmless warning for clean buildCarsten Haitzler (Rasterman)2019-03-301-1/+1
|
* elm - fix harmless warning for clean buildCarsten Haitzler (Rasterman)2019-03-301-1/+1
|
* efl_ui_table_layout: calculate cell size with colspan, rowspan propertyYeongjong Lee2019-03-301-14/+23
| | | | | | | | | We should consider occupied cells by colspan, rowspan property. ref T7753 Reviewed-by: Marcel Hollerbach <mail@marcel-hollerbach.de> Differential Revision: https://phab.enlightenment.org/D8484
* build: improve autotools generation of elm configMike Blumenkrantz2019-03-301-8/+8
| | | | | | | | | - 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
* README.meson: fix typo + rewrapBoris Faure2019-03-291-2/+4
|
* tests: abort on errors during genlist expand test, not warningsMike Blumenkrantz2019-03-291-1/+1
| | | | | | | | | | | | | | | | | 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
* eina_log: reset logging callback to default when null is set as the callbackMike Blumenkrantz2019-03-291-1/+4
| | | | | | | | | | | | | | | | 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
* elm_entry: Speedup finding new line, prevent readind invalid memoryAli Alzyod2019-03-291-11/+13
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* docs: Fix build break because of missed EO importXavi Artigas2019-03-291-0/+2
|
* docs: Use Eina.Value references en efl_ui_format docsXavi Artigas2019-03-291-1/+1
|
* efl_ui_layout: ensure that resize_obj is present before emitting signalsMarcel Hollerbach2019-03-291-0/+3
| | | | | | otherwise there will be warnings because of calling api on NULL objects. Differential Revision: https://phab.enlightenment.org/D8512
* efl_ui_widget: move from elm_widget_top_get to provider_findMarcel Hollerbach2019-03-293-13/+14
| | | | | | | | | 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
* efl_ui_widget: add implementation for finding the windowMarcel Hollerbach2019-03-293-0/+22
| | | | | | | | | | | | | 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
* docs: Efl.Ui.Layout_Base update theme docsXavi Artigas2019-03-291-9/+6
| | | | | | | | | 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
* docs: Clarify Efl.Ui.Win exit_on_close methodsXavi Artigas2019-03-291-3/+8
| | | | | | | | | | 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
* docs: Add Eina.Value extern to eina_types.eotXavi Artigas2019-03-291-0/+1
| | | | | | | | | | | | 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
* ci: check correct test log for meson buildMike Blumenkrantz2019-03-291-1/+1
| | | | | Reviewed-by: Marcel Hollerbach <mail@marcel-hollerbach.de> Differential Revision: https://phab.enlightenment.org/D8504
* ci: use meson test runner with ninja build and use dbus in testsMike Blumenkrantz2019-03-291-2/+2
| | | | | | | this fixes dbus usage in tests Reviewed-by: Marcel Hollerbach <mail@marcel-hollerbach.de> Differential Revision: https://phab.enlightenment.org/D8503
* test/efl_ui_pager: fix demoJaeun Choi2019-03-291-4/+26
| | | | | - use unpack_at function than unpack function - add CLEAR option
* test/efl_ui_pager_scroll: fix demoJaeun Choi2019-03-291-15/+57
| | | | | | - use radio than check for loop mode - use unpack_at function than unpack function - add CLEAR option
* efl_ui_pager: implement unpack_all/clear functionJaeun Choi2019-03-296-8/+109
|
* efl_ui_pager: return mouse_down function if cnt equals zeroJaeun Choi2019-03-291-0/+2
|
* efl_ui_pager: implement unpack_at functionJaeun Choi2019-03-291-5/+12
|