summaryrefslogtreecommitdiffstats
path: root/src/sp-pattern.cpp
diff options
context:
space:
mode:
authorKrzysztof Kosi??ski <tweenk.pl@gmail.com>2010-08-05 23:23:28 +0000
committerKrzysztof KosiƄski <tweenk.pl@gmail.com>2010-08-05 23:23:28 +0000
commit267b81d9fd0d1254a80b008c26237fbe4bd93610 (patch)
treec243149698673345ae8ae553bdcfbf305392a976 /src/sp-pattern.cpp
parentWholesale cruft removal part 5; completely remove RasterFont (diff)
downloadinkscape-267b81d9fd0d1254a80b008c26237fbe4bd93610.tar.gz
inkscape-267b81d9fd0d1254a80b008c26237fbe4bd93610.zip
Minor cleanups
(bzr r9508.1.51)
Diffstat (limited to 'src/sp-pattern.cpp')
-rw-r--r--src/sp-pattern.cpp8
1 files changed, 8 insertions, 0 deletions
diff --git a/src/sp-pattern.cpp b/src/sp-pattern.cpp
index a559a4a50..8d156bc77 100644
--- a/src/sp-pattern.cpp
+++ b/src/sp-pattern.cpp
@@ -610,9 +610,11 @@ sp_pattern_create_pattern(SPPaintServer *ps,
NRArenaGroup *root = NRArenaGroup::create(arena);
/* Show items */
+ SPPattern *shown = NULL;
for (SPPattern *pat_i = pat; pat_i != NULL; pat_i = pat_i->ref ? pat_i->ref->getObject() : NULL) {
// find the first one with item children
if (pat_i && SP_IS_OBJECT (pat_i) && pattern_hasItemChildren(pat_i)) {
+ shown = pat_i;
for (SPObject *child = sp_object_first_child(SP_OBJECT(pat_i)) ; child != NULL; child = SP_OBJECT_NEXT(child) ) {
if (SP_IS_ITEM (child)) {
// for each item in pattern, show it on our arena, add to the group,
@@ -664,6 +666,12 @@ sp_pattern_create_pattern(SPPaintServer *ps,
gc.transform = vb2ps;
nr_arena_item_invoke_update (root, NULL, &gc, NR_ARENA_ITEM_STATE_ALL, NR_ARENA_ITEM_STATE_ALL);
nr_arena_item_invoke_render (ct, root, &one_tile, NULL, 0);
+ for (SPObject *child = sp_object_first_child(SP_OBJECT(shown)) ; child != NULL; child = SP_OBJECT_NEXT(child) ) {
+ if (SP_IS_ITEM (child)) {
+ sp_item_invoke_hide(SP_ITEM (child), dkey);
+ }
+ }
+ nr_object_unref(root);
nr_object_unref(arena);
if (needs_opacity) {