Fix initialization with non-truecolor depths.

svn path=/trunk/KDE/kdebase/workspace/; revision=805344
icc-effect-5.14.5
Luboš Luňák 2008-05-08 09:22:24 +00:00
parent 33fc8c024f
commit 7f669912bb
1 changed files with 15 additions and 4 deletions

View File

@ -97,17 +97,28 @@ SceneXrender::SceneXrender( Workspace* ws )
return;
}
KXErrorHandler xerr;
// create XRender picture for the root window
format = XRenderFindVisualFormat( display(), DefaultVisual( display(), DefaultScreen( display())));
if( format == NULL )
return; // error
if( wspace->createOverlay())
{
wspace->setupOverlay( None );
XWindowAttributes attrs;
XGetWindowAttributes( display(), wspace->overlayWindow(), &attrs );
format = XRenderFindVisualFormat( display(), attrs.visual );
if( format == NULL )
{
kError( 1212 ) << "Failed to find XRender format for overlay window";
return;
}
front = XRenderCreatePicture( display(), wspace->overlayWindow(), format, 0, NULL );
}
else
{
// create XRender picture for the root window
format = XRenderFindVisualFormat( display(), DefaultVisual( display(), DefaultScreen( display())));
if( format == NULL )
{
kError( 1212 ) << "Failed to find XRender format for root window";
return; // error
}
XRenderPictureAttributes pa;
pa.subwindow_mode = IncludeInferiors;
front = XRenderCreatePicture( display(), rootWindow(), format, CPSubwindowMode, &pa );