summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--dialog.c25
1 files changed, 16 insertions, 9 deletions
diff --git a/dialog.c b/dialog.c
index 2b365a1..daaeda5 100644
--- a/dialog.c
+++ b/dialog.c
@@ -99,15 +99,22 @@ dialogPaintWindow (CompWindow *w,
DIALOG_SCREEN(w->screen);
DIALOG_WINDOW(w);
int status;
- WindowPaintAttrib wAttrib = *attrib;
- wAttrib.opacity *= dw->opacity/100;
- wAttrib.saturation *= dw->saturation/100;
- wAttrib.brightness *= dw->brightness/100;
- if (dw->animate)
- addWindowDamage (w);
- UNWRAP(ds,w->screen, paintWindow);
- status = (*w->screen->paintWindow)(w, &wAttrib, transform, region, mask);
- WRAP(ds, w->screen, paintWindow, dialogPaintWindow);
+ if (dw->faded || dw->animate)
+ {
+ WindowPaintAttrib wAttrib = *attrib;
+ wAttrib.opacity *= dw->opacity/100;
+ wAttrib.saturation *= dw->saturation/100;
+ wAttrib.brightness *= dw->brightness/100;
+ if (dw->animate)
+ addWindowDamage (w);
+ UNWRAP(ds,w->screen, paintWindow);
+ status = (*w->screen->paintWindow)(w, &wAttrib, transform, region, mask);
+ WRAP(ds, w->screen, paintWindow, dialogPaintWindow);
+ } else {
+ UNWRAP(ds,w->screen, paintWindow);
+ status = (*w->screen->paintWindow)(w, attrib, transform, region, mask);
+ WRAP(ds, w->screen, paintWindow, dialogPaintWindow);
+ }
return status;
}