]> git.tokkee.org Git - inkscape.git/commitdiff

Code

port the fix from sp-text.cpp rev 11260 to fix bug 1628173
authorbuliabyak <buliabyak@users.sourceforge.net>
Fri, 5 Jan 2007 11:37:16 +0000 (11:37 +0000)
committerbuliabyak <buliabyak@users.sourceforge.net>
Fri, 5 Jan 2007 11:37:16 +0000 (11:37 +0000)
src/sp-flowtext.cpp

index 614e0b45092eb7b3236e5156a76ce3e2769550ce..8858d534d0a89ca8cd505c7b8b3204fc58bed194 100644 (file)
@@ -190,6 +190,18 @@ sp_flowtext_modified(SPObject *object, guint flags)
     if (flags & SP_OBJECT_MODIFIED_FLAG) flags |= SP_OBJECT_PARENT_MODIFIED_FLAG;
     flags &= SP_OBJECT_MODIFIED_CASCADE;
 
+    // FIXME: the below stanza is copied over from sp_text_modified, consider factoring it out
+    if (flags & ( SP_OBJECT_STYLE_MODIFIED_FLAG )) {
+        SPFlowtext *text = SP_FLOWTEXT(object);
+        NRRect paintbox;
+        sp_item_invoke_bbox(text, &paintbox, NR::identity(), TRUE);
+        for (SPItemView* v = text->display; v != NULL; v = v->next) {
+            text->_clearFlow(NR_ARENA_GROUP(v->arenaitem));
+            nr_arena_group_set_style(NR_ARENA_GROUP(v->arenaitem), SP_OBJECT_STYLE(object));
+            text->layout.show(NR_ARENA_GROUP(v->arenaitem), &paintbox);
+        }
+    }
+
     for (SPObject *o = sp_object_first_child(SP_OBJECT(ft)) ; o != NULL ; o = SP_OBJECT_NEXT(o) ) {
         if (SP_IS_FLOWREGION(o)) {
             region = o;