great combi woohyun and tasn! Daniel Juyung Seo (SeoZ)
On Tue, Sep 20, 2011 at 5:05 PM, Enlightenment SVN <no-re...@enlightenment.org> wrote: > Log: > Evas textblock: Fixed an issue when deleting A from <a><a>A</a></a>. > > Reported by WooHyun. Thanks a lot, great catch, also told me where and what > the issue is exactly. > > Also added a test to verify this works. > > Author: tasn > Date: 2011-09-20 01:05:50 -0700 (Tue, 20 Sep 2011) > New Revision: 63493 > Trac: http://trac.enlightenment.org/e/changeset/63493 > > Modified: > trunk/evas/src/lib/canvas/evas_object_textblock.c > trunk/evas/src/tests/evas_test_textblock.c > > Modified: trunk/evas/src/lib/canvas/evas_object_textblock.c > =================================================================== > --- trunk/evas/src/lib/canvas/evas_object_textblock.c 2011-09-20 07:34:50 > UTC (rev 63492) > +++ trunk/evas/src/lib/canvas/evas_object_textblock.c 2011-09-20 08:05:50 > UTC (rev 63493) > @@ -5990,11 +5990,11 @@ > _evas_textblock_node_format_remove(o, fmt, 0); > } > /* Find the matching format and pop it, if the matching format > - * is out format, i.e the last one, pop and break. */ > + * is our format, i.e the last one, pop and break. */ > else > { > - Eina_List *i; > - EINA_LIST_FOREACH(formats, i, fnode) > + Eina_List *i, *next; > + EINA_LIST_FOREACH_SAFE(formats, i, next, fnode) > { > if (_FORMAT_IS_CLOSER_OF( > fnode->orig_format, fstr, fstr_len)) > @@ -6003,6 +6003,7 @@ > formats = eina_list_remove_list(formats, i); > _evas_textblock_node_format_remove(o, fnode, 0); > _evas_textblock_node_format_remove(o, fmt, 0); > + break; > } > } > } > > Modified: trunk/evas/src/tests/evas_test_textblock.c > =================================================================== > --- trunk/evas/src/tests/evas_test_textblock.c 2011-09-20 07:34:50 UTC (rev > 63492) > +++ trunk/evas/src/tests/evas_test_textblock.c 2011-09-20 08:05:50 UTC (rev > 63493) > @@ -884,6 +884,14 @@ > fnode = evas_textblock_node_format_next_get(fnode); > fail_if (fnode); > > + /* Remove two pairs with the same name and same positions. */ > + evas_object_textblock_text_markup_set(tb, "<a><a>A</a></a>"); > + evas_textblock_cursor_pos_set(cur, 0); > + evas_textblock_cursor_char_delete(cur); > + > + fnode = evas_textblock_node_format_first_get(tb); > + fail_if (fnode); > + > /* Try to remove a format that doesn't have a pair (with a bad mkup) */ > evas_object_textblock_text_markup_set(tb, "a<b>b<i>c</>d</i>e"); > evas_textblock_cursor_pos_set(cur, 2); > > > ------------------------------------------------------------------------------ > All the data continuously generated in your IT infrastructure contains a > definitive record of customers, application performance, security > threats, fraudulent activity and more. Splunk takes this data and makes > sense of it. Business sense. IT sense. Common sense. > http://p.sf.net/sfu/splunk-d2dcopy1 > _______________________________________________ > enlightenment-svn mailing list > enlightenment-...@lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/enlightenment-svn > ------------------------------------------------------------------------------ All the data continuously generated in your IT infrastructure contains a definitive record of customers, application performance, security threats, fraudulent activity and more. Splunk takes this data and makes sense of it. Business sense. IT sense. Common sense. http://p.sf.net/sfu/splunk-d2dcopy1 _______________________________________________ enlightenment-devel mailing list enlightenment-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/enlightenment-devel