aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--generic/Group.c15
1 files changed, 8 insertions, 7 deletions
diff --git a/generic/Group.c b/generic/Group.c
index d2908e7..ad1d706 100644
--- a/generic/Group.c
+++ b/generic/Group.c
@@ -840,12 +840,16 @@ ToArea(Item item,
if (IsEmptyBBox(&inter)) {
continue;
}
- if (current_item->class != ZnGroup) {
- PushTransform(current_item);
- }
if ((current_item->class != ZnGroup) || atomic || ta->recursive) {
- result = current_item->class->ToArea(current_item, ta);
+ if (current_item->class != ZnGroup) {
+ PushTransform(current_item);
+ result = current_item->class->ToArea(current_item, ta);
+ PopTransform(current_item);
+ }
+ else {
+ result = current_item->class->ToArea(current_item, ta);
+ }
outside &= (result == -1);
inside &= (result == 1);
empty = False;
@@ -870,9 +874,6 @@ ToArea(Item item,
ZnDoItem(item->wi->interp, current_item, ZN_NO_PART, ta->tag_uid);
}
}
- if (current_item->class != ZnGroup) {
- PopTransform(current_item);
- }
}
/*