1. fix no propagate
authorraster <raster@7cbeb6ba-43b4-40fd-8cce-4c39aea84d33>
Sun, 19 Oct 2008 23:58:56 +0000 (23:58 +0000)
committerraster <raster@7cbeb6ba-43b4-40fd-8cce-4c39aea84d33>
Sun, 19 Oct 2008 23:58:56 +0000 (23:58 +0000)
2. fix segv in textblock.

git-svn-id: svn+ssh://svn.enlightenment.org/var/svn/e/trunk/evas@36828 7cbeb6ba-43b4-40fd-8cce-4c39aea84d33

src/lib/canvas/evas_callbacks.c
src/lib/canvas/evas_object_textblock.c

index e9c6d1c..0c6a30c 100644 (file)
@@ -143,9 +143,12 @@ evas_object_event_callback_call(Evas_Object *obj, Evas_Callback_Type type, void
    
    if (!((obj->no_propagate) && (l_mod) && (*l_mod)))
      {
-       if ((obj->smart.parent) && (type != EVAS_CALLBACK_FREE) &&
-           (type <= EVAS_CALLBACK_KEY_UP))
-         evas_object_event_callback_call(obj->smart.parent, type, event_info);
+       if (!obj->no_propagate)
+         {
+            if ((obj->smart.parent) && (type != EVAS_CALLBACK_FREE) &&
+                (type <= EVAS_CALLBACK_KEY_UP))
+              evas_object_event_callback_call(obj->smart.parent, type, event_info);
+         }
      }
    _evas_unwalk(e);
 }
index 1e932ae..7c35c01 100644 (file)
@@ -2493,7 +2493,16 @@ evas_textblock_style_set(Evas_Textblock_Style *ts, const char *text)
        obj = l->data;
        o = (Evas_Object_Textblock *)(obj->object_data);
        if (o->markup_text)
-         evas_object_textblock_text_markup_set(obj, o->markup_text);
+         {
+            char *m;
+            
+            m = strdup(o->markup_text);
+            if (m)
+              {
+                 evas_object_textblock_text_markup_set(obj, m);
+                 free(m);
+              }
+         }
      }
 }