I think probably the most "correct" change would actually be to remove the color_set implementation entirely, which would allow the call to fall through to the base efl widget implementation which would trigger this naturally.
There have been 2 paths for setting color on a bg object for some time; the evas_object_color_set (efl_gfx_color_set) method was implicit since this works on all objects, and the elm_bg_color_set was the explicit method which was added before there was any form of widget inheritance in elm (ca. 2011 and earlier). No compatibility exists problem here. The results of each call are the same as they've always been: users of elm_bg_color_set cannot set transparency, and users of evas_object_color_set can set transparency. The latter is a "new" feature of the bg widget which has existed for 5+ years but has no relevance to the elm_bg method. On Wed, Aug 1, 2018 at 12:34 AM Hermet Park <[email protected]> wrote: > This looks strange to me. It occurs compatibility problem as well . > Originally elm bg has a single color func - elm_bg_color_set() it's very > clear and obvious function to change color by users. > Now, users can't expect the result by this internal color chain change. > > > On Wed, Aug 1, 2018 at 8:00 AM, Mike Blumenkrantz < > [email protected]> wrote: > > > devilhorns pushed a commit to branch master. > > > > http://git.enlightenment.org/core/efl.git/commit/?id= > > b9b209f60f040d0afbccc1db0c96c8e36d14e682 > > > > commit b9b209f60f040d0afbccc1db0c96c8e36d14e682 > > Author: Mike Blumenkrantz <[email protected]> > > Date: Tue Jul 31 18:49:57 2018 -0400 > > > > elm/bg: call color_set up the class chain internally > > > > Summary: > > this ensures that the color_set call is propagated correctly, > resulting > > eventually in a call to the smart clipped class method for color_set > > which > > will change the opacity of the edje object in addition to the bg > > widget's > > internal rect object > > > > this seems to have been a regression created during the move to the > > interfaces > > version of the bg widget > > > > fix T7232 > > > > Reviewers: devilhorns > > > > Reviewed By: devilhorns > > > > Subscribers: cedric, #committers > > > > Tags: #efl_widgets > > > > Maniphest Tasks: T7232 > > > > Differential Revision: https://phab.enlightenment.org/D6716 > > --- > > src/lib/elementary/efl_ui_bg_widget.c | 3 ++- > > 1 file changed, 2 insertions(+), 1 deletion(-) > > > > diff --git a/src/lib/elementary/efl_ui_bg_widget.c > > b/src/lib/elementary/efl_ui_bg_widget.c > > index dcd8fc409e..8662516ad2 100644 > > --- a/src/lib/elementary/efl_ui_bg_widget.c > > +++ b/src/lib/elementary/efl_ui_bg_widget.c > > @@ -163,8 +163,9 @@ elm_bg_color_set(Evas_Object *obj, > > } > > > > EOLIAN static void > > -_efl_ui_bg_widget_efl_gfx_color_color_set(Eo *obj EINA_UNUSED, > > Efl_Ui_Bg_Widget_Data *sd, int r, int g, int b, int a) > > +_efl_ui_bg_widget_efl_gfx_color_color_set(Eo *obj, Efl_Ui_Bg_Widget_Data > > *sd, int r, int g, int b, int a) > > { > > + efl_gfx_color_set(efl_super(obj, MY_CLASS), r, g, b, a); > > efl_gfx_color_set(sd->rect, r, g, b, a); > > } > > > > > > -- > > > > > > > > > -- > Regards, Hermet > > ------------------------------------------------------------------------------ > Check out the vibrant tech community on one of the world's most > engaging tech sites, Slashdot.org! http://sdm.link/slashdot > _______________________________________________ > enlightenment-devel mailing list > [email protected] > https://lists.sourceforge.net/lists/listinfo/enlightenment-devel > ------------------------------------------------------------------------------ Check out the vibrant tech community on one of the world's most engaging tech sites, Slashdot.org! http://sdm.link/slashdot _______________________________________________ enlightenment-devel mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/enlightenment-devel
