aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorTom Hacohen <tom@stosb.com>2013-11-19 16:03:41 +0000
committerTom Hacohen <tom@stosb.com>2013-11-19 16:05:34 +0000
commit7bba64d7eed9749a876255f489684355a7e0ccfd (patch)
tree2140ab3ea1a11933dd78965fd929adf8dd5da477
parentEvas textblock tests: Added tests for correct tag ordering. (diff)
downloadefl-7bba64d7eed9749a876255f489684355a7e0ccfd.tar.gz
Evas textblock: Fixed order of tags inserted with markup_app/prepend.
The order was messed up when inserting a few formats in the markup_append/prepend functions without any characters between them. For example, inserting "<b><i>" would result in "<i><b>" being inserted. Thanks to YoungBok Shin for reporting this.
-rw-r--r--ChangeLog4
-rw-r--r--NEWS2
-rw-r--r--src/lib/evas/canvas/evas_object_textblock.c2
3 files changed, 6 insertions, 2 deletions
diff --git a/ChangeLog b/ChangeLog
index ec9d038b24..3dc7c28258 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,7 @@
+2013-11-19 Tom Hacohen
+
+ * Evas textblock: Fixed order of tags inserted with markup_app/prepend.
+
2013-11-05 Youngbok Shin
* Edje: Add null checking for name of anchor and item in geometry get functions.
diff --git a/NEWS b/NEWS
index e24caaacac..6a1f8bdb01 100644
--- a/NEWS
+++ b/NEWS
@@ -360,7 +360,7 @@ Fixes:
- Fixed the map surface to be updated properly. By tranversing the whole of the map target's tree, it decides to update the map surface to be redrawn if one of the objects is changed except the clipper itself.
- Fixed the textblock format to be drawn according to the glyph's horizontal advance width.
- Fixed the textblock set to context with the textblock object's render operation.
-
+ - Evas textblock: Fixed order of tags inserted with markup_app/prepend.
* Ecore:
- Don't leak fd on exec.
- Fix fd handler increase issue when ecore_pipe_add/del is called repeatedly.
diff --git a/src/lib/evas/canvas/evas_object_textblock.c b/src/lib/evas/canvas/evas_object_textblock.c
index 4194aac385..64a2ac2693 100644
--- a/src/lib/evas/canvas/evas_object_textblock.c
+++ b/src/lib/evas/canvas/evas_object_textblock.c
@@ -8578,6 +8578,7 @@ evas_textblock_cursor_format_append(Evas_Textblock_Cursor *cur, const char *form
}
else
{
+ fmt = _evas_textblock_node_format_last_at_off(fmt);
if (evas_textblock_cursor_format_is_visible_get(cur))
{
o->format_nodes = _NODE_FORMAT(eina_inlist_prepend_relative(
@@ -8593,7 +8594,6 @@ evas_textblock_cursor_format_append(Evas_Textblock_Cursor *cur, const char *form
}
else
{
- fmt = _evas_textblock_node_format_last_at_off(fmt);
o->format_nodes = _NODE_FORMAT(eina_inlist_append_relative(
EINA_INLIST_GET(o->format_nodes),
EINA_INLIST_GET(n),