On Fri, 22 Nov 2013 14:08:41 +0900 (KST) ChunEon Park <[email protected]> said:
> My fault. sorry for your inconvenience. > > I fixed it again. > http://git.enlightenment.org/core/efl.git/commit/?id=58368ea63699291c535c78c9fcc6269c478ca511 good man! fixed it is! > ------------------------------------ > -Regards, Hermet- > > -----Original Message----- > From: "Carsten Haitzler"<[email protected]> > To: "Enlightenment developer > list"<[email protected]>; Cc: "ChunEon > Park"<[email protected]>; Sent: 2013-11-22 (금) 11:59:24 > Subject: Re: [E-devel] [EGIT] [core/efl] master 01/01: edje - Fix to update > map enabled part when edje object is moved. > > On Wed, 20 Nov 2013 20:27:16 -0800 ChunEon Park <hermet>@hermet.pe.kr> said: > > this (plus eea338764abcf38c8be404be7e3c540cfedc002b which depends on the below > commit) cause cpufreq arrows to be wrong in their initial state (if they don't > move up and down). try set your governor to performance and see cpufreq. :) > > see attached image. > > you can reproduce this by having cpufreq come up always at max, THEN use ibar > THEN run some app that is not in your ibar so the ibar "extra apps" expands. > make sure cpufreq is to the right of ibar... so the gadget has to move to the > right to make space for ibar content. > > the cpufreq dial/needle doesnt move along with the rest of the object. > > > hermet pushed a commit to branch master. > > > > http://git.enlightenment.org/core/efl.git/commit/?id=12aba0db5a0949488d37b69b8696ed424666dca8 > > > > commit 12aba0db5a0949488d37b69b8696ed424666dca8 > > Author: ChunEon Park <hermet>@hermet.pe.kr> > > Date: Thu Nov 21 13:26:37 2013 +0900 > > > > edje - Fix to update map enabled part when edje object is moved. > > --- > > ChangeLog 4 +++ > > NEWS 1 + > > src/lib/edje/edje_calc.c 6 ++++- > > src/lib/edje/edje_private.h 1 + > > src/lib/edje/edje_smart.c 59 +++++++++++++++++++++ > > +----------------------- 5 files changed, 40 insertions(+), 31 deletions(-) > > > > diff --git a/ChangeLog b/ChangeLog > > index b9c4c28..de43e9e 100644 > > --- a/ChangeLog > > +++ b/ChangeLog > > @@ -1,3 +1,7 @@ > > +2013-11-21 ChunEon Park (Hermet) > > + > > +* Edje: Fix to update map-enabled part when the edje object is moved. > > + > > 2013-11-20 Cedric Bail > > > > * Eina: Fix a possible race condition during eina_file_close. > > diff --git a/NEWS b/NEWS > > index 01803f8..cdb7d7d 100644 > > --- a/NEWS > > +++ b/NEWS > > @@ -437,6 +437,7 @@ Fixes: > > - Fixed memory leak in the edje map color transition. > > - Add null checking for name of anchor and item in geometry get > > functions. > > - Fix use of eina_hash_pointer to actually look at the pointer value. > > + - Fix to update map-enabled part when the edje object is moved. > > > > * Efreet: > > - Fix desktop command parsing of https. > > diff --git a/src/lib/edje/edje_calc.c b/src/lib/edje/edje_calc.c > > index b6816ee..6f98455 100644 > > --- a/src/lib/edje/edje_calc.c > > +++ b/src/lib/edje/edje_calc.c > > @@ -650,7 +650,6 @@ _edje_recalc_do(Edje *ed) > > need_calc = evas_object_smart_need_recalculate_get(ed->obj); > > evas_object_smart_need_recalculate_set(ed->obj, 0); > > if (!ed->dirty) return; > > - ed->have_mapped_part = EINA_FALSE; > > ed->dirty = EINA_FALSE; > > ed->state++; > > for (i = 0; i < ed->table_parts_size; i++) > > @@ -3353,6 +3352,7 @@ _edje_part_recalc(Edje *ed, Edje_Real_Part *ep, int > > flags, Edje_Calc_Params *sta (statep1 >= ep->param1.state) > > proxy_invalidate > > state > > + (ep->map_on && ed->have_mapped_part) > > ((ep->part->type == EDJE_PART_TYPE_TEXT > > ep->part->type == EDJE_PART_TYPE_TEXTBLOCK) && > > ed->text_part_change)) > > @@ -3421,6 +3421,7 @@ _edje_part_recalc(Edje *ed, Edje_Real_Part *ep, int > > flags, Edje_Calc_Params *sta (statep2 >= ep->param2->state) > > proxy_invalidate > > state > > + (ep->map_on && ed->have_mapped_part) > > ((ep->part->type == EDJE_PART_TYPE_TEXT > > ep->part->type == EDJE_PART_TYPE_TEXTBLOCK) && > > ed->text_part_change)) > > @@ -3894,6 +3895,7 @@ _edje_part_recalc(Edje *ed, Edje_Real_Part *ep, int > > flags, Edje_Calc_Params *sta static Evas_Map *map = NULL; > > > > ed->have_mapped_part = EINA_TRUE; > > + ep->map_on = EINA_TRUE; > > // create map and populate with part geometry > > if (!map) map = evas_map_new(4); > > > > @@ -3915,6 +3917,8 @@ _edje_part_recalc(Edje *ed, Edje_Real_Part *ep, int > > flags, Edje_Calc_Params *sta } > > else > > { > > + ep->map_on = EINA_FALSE; > > + > > if (ep->nested_smart) > > { /* Cancel map of smart obj holding nested parts */ > > eo_do(ep->nested_smart, > > diff --git a/src/lib/edje/edje_private.h b/src/lib/edje/edje_private.h > > index b6e0db9..bfcc9b7 100644 > > --- a/src/lib/edje/edje_private.h > > +++ b/src/lib/edje/edje_private.h > > @@ -1594,6 +1594,7 @@ struct _Edje_Real_Part > > #ifdef EDJE_CALC_CACHE > > Eina_Bool invalidate : 1; // 0 > > #endif > > + Eina_Bool map_on : 1; // 0 > > }; // 128 > > // WITH EDJE_CALC_CACHE: 407 > > > > diff --git a/src/lib/edje/edje_smart.c b/src/lib/edje/edje_smart.c > > index d4c095e..7fb79a8 100644 > > --- a/src/lib/edje/edje_smart.c > > +++ b/src/lib/edje/edje_smart.c > > @@ -151,6 +151,7 @@ _edje_smart_move(Eo *obj EINA_UNUSED, void *_pd, va_list > > *list) Evas_Coord x = va_arg(*list, Evas_Coord); > > Evas_Coord y = va_arg(*list, Evas_Coord); > > Edje *ed = _pd; > > + unsigned int i; > > > > if ((ed->x == x) && (ed->y == y)) return; > > ed->x = x; > > @@ -168,43 +169,41 @@ _edje_smart_move(Eo *obj EINA_UNUSED, void *_pd, > > va_list *list) return; > > } > > > > - if (ed->have_mapped_part) > > + for (i = 0; i < ed->table_parts_size; i++) > > { > > - ed->dirty = EINA_TRUE; > > - _edje_recalc_do(ed); > > - } > > - else > > - { > > - unsigned int i; > > + Edje_Real_Part *ep; > > > > - for (i = 0; i < ed->table_parts_size; i++) > > + ep = ed->table_parts[i]; > > + if ((ep->type == EDJE_RP_TYPE_TEXT) && (ep->typedata.text)) > > { > > - Edje_Real_Part *ep; > > - > > - ep = ed->table_parts[i]; > > - if ((ep->type == EDJE_RP_TYPE_TEXT) && (ep->typedata.text)) > > - { > > - evas_object_move(ep->object, > > - ed->x + ep->x + > > ep->typedata.text->offset.x, > > - ed->y + ep->y + > > ep->typedata.text->offset.y); > > - } > > - else > > + evas_object_move(ep->object, > > + ed->x + ep->x + ep->typedata.text->offset.x, > > + ed->y + ep->y + ep->typedata.text->offset.y); > > + } > > + else > > + { > > + evas_object_move(ep->object, ed->x + ep->x, ed->y + ep->y); > > + if ((ep->type == EDJE_RP_TYPE_SWALLOW) && > > + (ep->typedata.swallow)) > > { > > - evas_object_move(ep->object, ed->x + ep->x, ed->y + > > ep->y); > > - if ((ep->type == EDJE_RP_TYPE_SWALLOW) && > > - (ep->typedata.swallow)) > > - { > > - if (ep->typedata.swallow->swallowed_object) > > - evas_object_move > > - (ep->typedata.swallow->swallowed_object, > > - ed->x + ep->x, > > - ed->y + ep->y); > > - } > > + if (ep->typedata.swallow->swallowed_object) > > + evas_object_move > > + (ep->typedata.swallow->swallowed_object, > > + ed->x + ep->x, > > + ed->y + ep->y); > > } > > - if (ep->part->entry_mode > EDJE_ENTRY_EDIT_MODE_NONE) > > - _edje_entry_real_part_configure(ed, ep); > > } > > + if (ep->part->entry_mode > EDJE_ENTRY_EDIT_MODE_NONE) > > + _edje_entry_real_part_configure(ed, ep); > > } > > + > > + if (ed->have_mapped_part) > > + { > > + ed->dirty = EINA_TRUE; > > + _edje_recalc_do(ed); > > + ed->have_mapped_part = EINA_FALSE; > > + } > > + > > // _edje_emit(ed, "move", NULL); > > } > > > > > > -- > > > > > > > -- > ------------- Codito, ergo sum - "I code, therefore I am" -------------- > The Rasterman (Carsten Haitzler) [email protected] > > > ------------------------------------------------------------------------------ > Shape the Mobile Experience: Free Subscription > Software experts and developers: Be at the forefront of tech innovation. > Intel(R) Software Adrenaline delivers strategic insight and game-changing > conversations that shape the rapidly evolving mobile landscape. Sign up now. > http://pubads.g.doubleclick.net/gampad/clk?id=63431311&iu=/4140/ostg.clktrk > _______________________________________________ > enlightenment-devel mailing list > [email protected] > https://lists.sourceforge.net/lists/listinfo/enlightenment-devel > ------------------------------------------------------------------------------ > Shape the Mobile Experience: Free Subscription > Software experts and developers: Be at the forefront of tech innovation. > Intel(R) Software Adrenaline delivers strategic insight and game-changing > conversations that shape the rapidly evolving mobile landscape. Sign up now. > http://pubads.g.doubleclick.net/gampad/clk?id=63431311&iu=/4140/ostg.clktrk > _______________________________________________ > enlightenment-devel mailing list > [email protected] > https://lists.sourceforge.net/lists/listinfo/enlightenment-devel -- ------------- Codito, ergo sum - "I code, therefore I am" -------------- The Rasterman (Carsten Haitzler) [email protected] ------------------------------------------------------------------------------ Shape the Mobile Experience: Free Subscription Software experts and developers: Be at the forefront of tech innovation. Intel(R) Software Adrenaline delivers strategic insight and game-changing conversations that shape the rapidly evolving mobile landscape. Sign up now. http://pubads.g.doubleclick.net/gampad/clk?id=63431311&iu=/4140/ostg.clktrk _______________________________________________ enlightenment-devel mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/enlightenment-devel
