diff options
Diffstat (limited to 'generic')
-rw-r--r-- | generic/Group.c | 14 |
1 files changed, 13 insertions, 1 deletions
diff --git a/generic/Group.c b/generic/Group.c index 9757535..8542eb9 100644 --- a/generic/Group.c +++ b/generic/Group.c @@ -857,7 +857,10 @@ Render(Item item) GroupItem group = (GroupItem) item; WidgetInfo *wi = item->wi; Item current_item; - ZnBBox bbox, old_damaged_area, *clip_box; + ZnBBox *clip_box; +#ifndef GLX + ZnBBox bbox, old_damaged_area; +#endif #ifdef LIBART RenderBuf buf; #endif @@ -866,9 +869,11 @@ Render(Item item) PushClip(group, True); if (group->clip != ZN_NO_ITEM) { ITEM_P.CurrentClip(wi, NULL, &clip_box, NULL); +#ifndef GLX old_damaged_area = wi->damaged_area; IntersectBBox(&wi->damaged_area, clip_box, &bbox); wi->damaged_area = bbox; +#endif #ifdef LIBART buf = wi->buf; wi->buf.ox = (int) wi->damaged_area.orig.x; @@ -883,8 +888,10 @@ Render(Item item) current_item = group->tail; while (current_item != ZN_NO_ITEM) { if (ISSET(current_item->flags, VISIBLE_BIT)) { +#ifndef GLX IntersectBBox(&wi->damaged_area, ¤t_item->item_bounding_box, &bbox); if (!IsEmptyBBox(&bbox)) { +#endif if (current_item->class != ZnGroup) { PushTransform(current_item); } @@ -892,17 +899,22 @@ Render(Item item) if (current_item->class != ZnGroup) { PopTransform(current_item); } +#ifndef GLX } +#endif } current_item = current_item->previous; } +#ifndef GLX if (group->clip != ZN_NO_ITEM) { wi->damaged_area = old_damaged_area; #ifdef LIBART wi->buf = buf; #endif } +#endif + PopClip(group, True); PopTransform(item); } |