summaryrefslogtreecommitdiffstats
path: root/src/sp-flowtext.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/sp-flowtext.cpp')
-rw-r--r--src/sp-flowtext.cpp12
1 files changed, 12 insertions, 0 deletions
diff --git a/src/sp-flowtext.cpp b/src/sp-flowtext.cpp
index 614e0b450..8858d534d 100644
--- a/src/sp-flowtext.cpp
+++ b/src/sp-flowtext.cpp
@@ -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;