[EGIT] [core/efl] master 01/03: elementary: it seems I forgot to initialize some meaningful boolean.
cedric pushed a commit to branch master. http://git.enlightenment.org/core/efl.git/commit/?id=589fca7540714330a3b653d1ff157a8579b00ead commit 589fca7540714330a3b653d1ff157a8579b00ead Author: Cedric BAIL Date: Thu Mar 28 12:44:31 2019 -0700 elementary: it seems I forgot to initialize some meaningful boolean. Reviewed-by: Marcel Hollerbach Differential Revision: https://phab.enlightenment.org/D8501 --- src/tests/elementary/elm_test_fileselector.c | 1 + 1 file changed, 1 insertion(+) diff --git a/src/tests/elementary/elm_test_fileselector.c b/src/tests/elementary/elm_test_fileselector.c index 23cea7c133..b26e12fc51 100644 --- a/src/tests/elementary/elm_test_fileselector.c +++ b/src/tests/elementary/elm_test_fileselector.c @@ -133,6 +133,7 @@ EFL_START_TEST(elm_fileselector_selected) evas_object_smart_callback_del(fileselector, "directory,open", _ready_cb); evas_object_smart_callback_add(fileselector, "selected", _ready_cb, ); + selected = EINA_FALSE; ck_assert(elm_fileselector_selected_set(fileselector, exist)); ck_assert(fileselector_test_helper_wait_flag(10, )); ck_assert(selected == EINA_TRUE); --
[EGIT] [core/efl] master 02/03: elementary: fix error path during shutdown of fileselector.
cedric pushed a commit to branch master. http://git.enlightenment.org/core/efl.git/commit/?id=9afd12324b4e31c9a034912438985ab20fb2e31c commit 9afd12324b4e31c9a034912438985ab20fb2e31c Author: Cedric BAIL Date: Thu Mar 28 14:09:54 2019 -0700 elementary: fix error path during shutdown of fileselector. During shutdown, sometimes, we can have an error generated on the object while it is invalidating, but before it is invalidated. This lead to properties on the object to change to an error state and trigger the properties changed logic. At this point, the parent has already been destroyed and we don't really have anything more to do. So let's not do anything. Reviewed-by: Mike Blumenkrantz Differential Revision: https://phab.enlightenment.org/D8502 --- src/lib/elementary/elc_fileselector.c | 4 1 file changed, 4 insertions(+) diff --git a/src/lib/elementary/elc_fileselector.c b/src/lib/elementary/elc_fileselector.c index 5121e6d112..b718924429 100644 --- a/src/lib/elementary/elc_fileselector.c +++ b/src/lib/elementary/elc_fileselector.c @@ -823,6 +823,10 @@ _process_model(Elm_Fileselector_Data *sd, Efl_Model *child) double mtime = 0; Eina_Bool dir = EINA_FALSE; + // In case we are shutting down, there might be an error being gnerated + if (!parent) return ; + + // We should be good now if (!_fetch_string_value(parent, "path", _path) || !_fetch_string_value(child, "path", ) || !_fetch_string_value(child, "filename", ) || --
[EGIT] [core/efl] master 03/03: eio: do not fail in case of early ECANCEL.
cedric pushed a commit to branch master. http://git.enlightenment.org/core/efl.git/commit/?id=40867cd0b866af0ec33536bce54aa9d248cdcf1c commit 40867cd0b866af0ec33536bce54aa9d248cdcf1c Author: Cedric BAIL Date: Tue Apr 2 15:24:03 2019 -0700 eio: do not fail in case of early ECANCEL. Actually with directory that contain a lot of file and the right order for them, you would end up getting what you are looking for before you have triggered all the future callback. In that case, all the future callback are cancelled and we will get that notification. The test is not failing in this case as we already got what we wanted. Reviewed-by: Mike Blumenkrantz Differential Revision: https://phab.enlightenment.org/D8541 --- src/tests/eio/efl_io_model_test_monitor_add.c | 9 + 1 file changed, 9 insertions(+) diff --git a/src/tests/eio/efl_io_model_test_monitor_add.c b/src/tests/eio/efl_io_model_test_monitor_add.c index 35e217aa63..041a44a5a9 100644 --- a/src/tests/eio/efl_io_model_test_monitor_add.c +++ b/src/tests/eio/efl_io_model_test_monitor_add.c @@ -109,6 +109,15 @@ _children_get(void *data, Eo *child = NULL; unsigned int i, len; + if (eina_value_type_get() == EINA_VALUE_TYPE_ERROR) + { +Eina_Error err = 0; + +fail_if(!eina_value_error_get(, )); +fail_if(err != ECANCELED); +return v; + } + fail_if(eina_value_type_get() != EINA_VALUE_TYPE_ARRAY); EINA_VALUE_ARRAY_FOREACH(, len, i, child) --
[EGIT] [core/efl] master 01/01: elementary: fix not to call duplicate theme set
cedric pushed a commit to branch master. http://git.enlightenment.org/core/efl.git/commit/?id=a6cc94321176700b5bfb89b85d71c33461180f22 commit a6cc94321176700b5bfb89b85d71c33461180f22 Author: Jaehyun Cho Date: Fri Apr 5 04:05:37 2019 + elementary: fix not to call duplicate theme set Theme is set during finalize in Efl.Ui.Layout_Base. Therefore, it is not necessary to call theme set function if the widget inherits Efl.Ui.Layout_Base and its klass is properly set. Reviewed-by: Cedric BAIL Differential Revision: https://phab.enlightenment.org/D8559 --- src/lib/elementary/efl_ui_list.c | 6 ++ src/lib/elementary/efl_ui_scroller.c | 4 ++-- 2 files changed, 4 insertions(+), 6 deletions(-) diff --git a/src/lib/elementary/efl_ui_list.c b/src/lib/elementary/efl_ui_list.c index 2b2b077f24..1cb6f1061e 100644 --- a/src/lib/elementary/efl_ui_list.c +++ b/src/lib/elementary/efl_ui_list.c @@ -413,6 +413,8 @@ _efl_ui_list_size_hint_changed_cb(void *data, const Efl_Event *ev EINA_UNUSED) EOLIAN static Eo * _efl_ui_list_efl_object_constructor(Eo *obj, Efl_Ui_List_Data *pd EINA_UNUSED) { + if (!elm_widget_theme_klass_get(obj)) + elm_widget_theme_klass_set(obj, "list"); obj = efl_constructor(efl_super(obj, MY_CLASS)); return obj; @@ -426,10 +428,6 @@ _efl_ui_list_efl_object_finalize(Eo *obj, ELM_WIDGET_DATA_GET_OR_RETURN(obj, wd, NULL); - Eina_Error theme_apply_ret = efl_ui_layout_theme_set(obj, "list", "base", efl_ui_widget_style_get(obj)); - if (theme_apply_ret == EFL_UI_THEME_APPLY_ERROR_GENERIC) - CRI("list(%p) failed to set theme [efl/list:%s]!", obj, efl_ui_widget_style_get(obj) ?: "NULL"); - pd->smanager = efl_add(EFL_UI_SCROLL_MANAGER_CLASS, obj); efl_ui_mirrored_set(pd->smanager, efl_ui_mirrored_get(obj)); efl_composite_attach(obj, pd->smanager); diff --git a/src/lib/elementary/efl_ui_scroller.c b/src/lib/elementary/efl_ui_scroller.c index 5891e422f9..0fef382346 100644 --- a/src/lib/elementary/efl_ui_scroller.c +++ b/src/lib/elementary/efl_ui_scroller.c @@ -550,6 +550,8 @@ EOLIAN static Eo * _efl_ui_scroller_efl_object_constructor(Eo *obj, Efl_Ui_Scroller_Data *sd EINA_UNUSED) { + if (!elm_widget_theme_klass_get(obj)) + elm_widget_theme_klass_set(obj, "scroller"); obj = efl_constructor(efl_super(obj, MY_CLASS)); return obj; @@ -563,8 +565,6 @@ _efl_ui_scroller_efl_object_finalize(Eo *obj, ELM_WIDGET_DATA_GET_OR_RETURN(obj, wd, NULL); - efl_ui_layout_theme_set(obj, "scroller", "base", efl_ui_widget_style_get(obj)); - sd->smanager = efl_add(EFL_UI_SCROLL_MANAGER_CLASS, obj); efl_ui_mirrored_set(sd->smanager, efl_ui_mirrored_get(obj)); efl_composite_attach(obj, sd->smanager); --
[EGIT] [e16/e16] master 04/04: Fix compositing glitches with tiled backgrounds
kwo pushed a commit to branch master. http://git.enlightenment.org/e16/e16.git/commit/?id=5d21c40c922856ee106a968121e32ffc094e1f61 commit 5d21c40c922856ee106a968121e32ffc094e1f61 Author: Kim Woelders Date: Fri Apr 5 20:25:43 2019 +0200 Fix compositing glitches with tiled backgrounds It seems that sometimes there are rendering glitches when having a tiled backround with 0 offsets and tile size less than screen size. In this case the desktop pixmap would be smaller than the screen size and we rely on the repeat picture attribute in the desktop picture to get it tiled over the entire desktop window when compositing. However, it seems that sometimes(?) the desktop window is not properly repainted outside the top left tile. To fix this we now always use a full-sized background pixmap when compositing is enabled. I think this is an X-server bug but I haven't been able to produce a test case demonstrating the problem. --- src/backgrounds.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/backgrounds.c b/src/backgrounds.c index 93859223..d756d38e 100644 --- a/src/backgrounds.c +++ b/src/backgrounds.c @@ -30,6 +30,7 @@ #include "backgrounds.h" #include "desktops.h" #include "dialog.h" +#include "ecompmgr.h" #include "eimage.h" #include "emodule.h" #include "file.h" @@ -607,7 +608,7 @@ BackgroundRealize(Background * bg, Win win, EX_Drawable draw, } if (is_win && hasbg && !hasfg && x == 0 && y == 0 && - ((w == rw && h == rh) || (bg->bg_tile))) + ((w == rw && h == rh) || (bg->bg_tile && !ECompMgrIsActive( { /* Window, no fg, no offset, and scale to 100%, or tiled, no trans */ pmap = BackgroundCreatePixmap(win, w, h); --
[EGIT] [e16/e16] master 01/04: Fix memory leak in pulseaudio sound loader
kwo pushed a commit to branch master. http://git.enlightenment.org/e16/e16.git/commit/?id=8994417b49bf82b9d999146268db92f127fd0a34 commit 8994417b49bf82b9d999146268db92f127fd0a34 Author: Kim Woelders Date: Sat Mar 30 18:02:17 2019 +0100 Fix memory leak in pulseaudio sound loader The leak only happens when a sound file is first loaded so the leakage will not grow indefinitely. Also eliminate global sample_stream and sample_length. --- src/sound_pa.c | 11 ++- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/src/sound_pa.c b/src/sound_pa.c index 2cb0daa8..aad87cdd 100644 --- a/src/sound_pa.c +++ b/src/sound_pa.c @@ -1,5 +1,5 @@ /* - * Copyright (C) 2008-2018 Kim Woelders + * Copyright (C) 2008-2019 Kim Woelders * * Permission is hereby granted, free of charge, to any person obtaining a copy * of this software and associated documentation files (the "Software"), to @@ -52,8 +52,6 @@ static pa_mainloop *pa_mloop = NULL; static pa_mainloop_api *mainloop_api = NULL; static pa_context *pa_ctx = NULL; -static pa_stream *sample_stream = NULL; -static size_t sample_length = 0; static int pa_block = 0; static void _sound_pa_Exit(void); @@ -207,6 +205,7 @@ _sound_pa_Load(const char *file) { Sample *s; pa_sample_spec sample_spec; + pa_stream *sample_stream = NULL; int err; char *p; @@ -241,24 +240,26 @@ _sound_pa_Load(const char *file) } sample_spec.rate = s->ssd.rate; sample_spec.channels = s->ssd.channels; - sample_length = s->ssd.size; sample_stream = pa_stream_new(pa_ctx, s->name, _spec, NULL); if (!sample_stream) goto bail_out; pa_stream_set_state_callback(sample_stream, stream_state_callback, NULL); pa_stream_set_write_callback(sample_stream, stream_write_callback, s); - pa_stream_connect_upload(sample_stream, sample_length); + pa_stream_connect_upload(sample_stream, s->ssd.size); err = dispatch(-1); if (err) goto bail_out; EFREE_NULL(s->ssd.data); + pa_stream_unref(sample_stream); return s; bail_out: + if (sample_stream) + pa_stream_unref(sample_stream); _sound_pa_Destroy(s); return NULL; } --
[EGIT] [e16/e16] master 03/04: Remove unused header
kwo pushed a commit to branch master. http://git.enlightenment.org/e16/e16.git/commit/?id=8ff53d95758d002fba1a0662ef07fe9ee2461399 commit 8ff53d95758d002fba1a0662ef07fe9ee2461399 Author: Kim Woelders Date: Sat Apr 6 10:55:21 2019 +0200 Remove unused header --- src/ewins.c | 1 - 1 file changed, 1 deletion(-) diff --git a/src/ewins.c b/src/ewins.c index fc93f9ac..b72ca7c5 100644 --- a/src/ewins.c +++ b/src/ewins.c @@ -32,7 +32,6 @@ #include "borders.h" #include "cursors.h" #include "desktops.h" -#include "ecompmgr.h" #include "emodule.h" #include "eobj.h" #include "events.h" --
[EGIT] [e16/e16] master 02/04: Fix potential segv in pulseaudio sound handler
kwo pushed a commit to branch master. http://git.enlightenment.org/e16/e16.git/commit/?id=9e476fb4265fd5f30e06f723b0a9c5a227059139 commit 9e476fb4265fd5f30e06f723b0a9c5a227059139 Author: Kim Woelders Date: Sat Mar 30 17:44:37 2019 +0100 Fix potential segv in pulseaudio sound handler --- src/sound_pa.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/src/sound_pa.c b/src/sound_pa.c index aad87cdd..d0bd7c86 100644 --- a/src/sound_pa.c +++ b/src/sound_pa.c @@ -67,8 +67,9 @@ dispatch(int block) for (;;) { err = pa_mainloop_iterate(pa_mloop, pa_block, ); - D4printf("%s: run err=%d rc=%d\n", __func__, err, rc); - if (err <= 0) + D4printf("%s: run err=%d rc=%d block=%d\n", __func__, +err, rc, pa_block); + if (err < 0 || (err == 0 && !pa_block)) break; } --