From c12172d2915bb65f3a5a36285cf0b72cfbbcaa7c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Lubo=C5=A1=20Lu=C5=88=C3=A1k?= Date: Tue, 14 Oct 2008 10:34:35 +0000 Subject: [PATCH] A hack to disable unredirect for login splashscreen, better solution would be to add support for effects refcounting the window. BUG: 172276 svn path=/trunk/KDE/kdebase/workspace/; revision=871255 --- composite.cpp | 4 ++++ effects/login.cpp | 2 +- 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/composite.cpp b/composite.cpp index ebd5b5cec3..1de0cee095 100644 --- a/composite.cpp +++ b/composite.cpp @@ -899,6 +899,10 @@ bool Client::shouldUnredirect() const bool Unmanaged::shouldUnredirect() const { + // the pixmap is needed for the login effect, a nicer solution would be the login effect increasing + // refcount for the window pixmap (which would prevent unredirect), avoiding this hack + if( resourceClass() == "ksplashx" || resourceClass() == "ksplashsimple" ) + return false; // it must cover whole display or one xinerama screen, and be the topmost there if( geometry() == workspace()->clientArea( FullArea, geometry().center(), workspace()->currentDesktop()) || geometry() == workspace()->clientArea( ScreenArea, geometry().center(), workspace()->currentDesktop())) diff --git a/effects/login.cpp b/effects/login.cpp index 4bcc714dc9..84a0c3550a 100644 --- a/effects/login.cpp +++ b/effects/login.cpp @@ -98,7 +98,7 @@ void LoginEffect::windowClosed( EffectWindow* w ) bool LoginEffect::isLoginSplash( EffectWindow* w ) { // TODO there should be probably a better way (window type?) - // see also fade effect + // see also fade effect and composite.cpp if( w->windowClass() == "ksplashx ksplashx" || w->windowClass() == "ksplashsimple ksplashsimple" ) {