Edje textblock: Fixed bug with applying text class size.

Happens when text size is updated, but font is not.

SVN revision: 73600
This commit is contained in:
Tom Hacohen 2012-07-12 07:08:00 +00:00
parent 049b0a349d
commit a367917778
2 changed files with 16 additions and 9 deletions

View File

@ -513,3 +513,9 @@
2012-07-03 Tom Hacohen (TAsn)
* Entry: Update anchors from user_insert as well.
2012-07-12 Tom Hacohen (TAsn)
* Textblock: Fixed issue with updating only the font size using text
classes.

View File

@ -176,7 +176,13 @@ _edje_textblock_style_all_update(Edje *ed)
/* Make sure the style contains a text_class */
EINA_LIST_FOREACH(stl->tags, ll, tag)
if (tag->text_class) found = 1;
{
if (tag->text_class)
{
found = 1;
break;
}
}
/* No text classes , goto next style */
if (!found) continue;
@ -198,11 +204,7 @@ _edje_textblock_style_all_update(Edje *ed)
eina_strbuf_append(txt, "='");
/* Configure fonts from text class if it exists */
if ((tc = _edje_text_class_find(ed, tag->text_class)))
{
/* Only update if not clearing, If clear leave it at zero */
if (tc->font) found = 1;
}
tc = _edje_text_class_find(ed, tag->text_class);
/* Add and Ha`ndle tag parsed data */
eina_strbuf_append(txt, tag->value);
@ -223,7 +225,7 @@ _edje_textblock_style_all_update(Edje *ed)
{
char font_size[32];
if (found)
if (tc && tc->size)
snprintf(font_size, sizeof(font_size), "%f", (double) _edje_text_size_calc(tag->font_size, tc));
else
snprintf(font_size, sizeof(font_size), "%f", tag->font_size);
@ -240,10 +242,9 @@ _edje_textblock_style_all_update(Edje *ed)
eina_strbuf_append(txt, " ");
eina_strbuf_append(txt, "font=");
f = (found) ? tc->font : tag->font;
f = (tc && tc->font) ? tc->font : tag->font;
eina_strbuf_append_escaped(txt, f);
}
found = 0;
eina_strbuf_append(txt, "'");
}