diff options
-rw-r--r-- | dialog.c | 25 |
1 files changed, 16 insertions, 9 deletions
@@ -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; } |