if (!ob->dirty && (ob->w == w) && (ob->h == h) &&
(ob->rotation == rot) && (ob->depth == depth) &&
- (ob->priv.destination_alpha == alpha))
+ (ob->priv.destination_alpha == alpha) &&
+ (ob->hidden == hidden))
return;
dirty = ob->dirty;
ob->priv.destination_alpha = alpha;
ob->hidden = hidden;
- if (ob->hidden) return;
-
if ((ob->rotation == 0) || (ob->rotation == 180))
{
ob->surface->funcs.reconfigure(ob->surface, w, h, resize, dirty);
LOGFN(__FILE__, __LINE__, __FUNCTION__);
+ if (ob->hidden) return NULL;
+
RECTS_CLIP_TO_RECT(x, y, w, h, 0, 0, ob->w, ob->h);
if ((w <= 0) || (h <= 0)) return NULL;
/* check for pending writes */
if (!ob->priv.pending_writes) return;
+ if (ob->hidden) return;
+
if ((ob->rotation == 0) || (ob->rotation == 180))
{
func =