diff --git a/src/servers/app/ServerWindow.cpp b/src/servers/app/ServerWindow.cpp index 336aceed9b..7ac4bf9330 100644 --- a/src/servers/app/ServerWindow.cpp +++ b/src/servers/app/ServerWindow.cpp @@ -982,16 +982,19 @@ ServerWindow::_DispatchMessage(int32 code, BPrivate::LinkReceiver &link) rgb_color c; link.Read(&c, sizeof(rgb_color)); -myRootLayer->Lock(); +if (myRootLayer) + myRootLayer->Lock(); fCurrentLayer->SetViewColor(RGBColor(c)); #ifndef NEW_CLIPPING if (myRootLayer) myRootLayer->GoRedraw(fCurrentLayer, fCurrentLayer->fVisible); #else - myRootLayer->GoRedraw(fCurrentLayer, fCurrentLayer->VisibleRegion()); + if (myRootLayer) + myRootLayer->GoRedraw(fCurrentLayer, fCurrentLayer->VisibleRegion()); #endif -myRootLayer->Unlock(); +if (myRootLayer) + myRootLayer->Unlock(); break; }