fDitherMap(NULL)
{
fRoster = new GLRendererRoster(this, options);
+ fRenderer = fRoster->GetRenderer();
}
// TODO: acquire the OpenGL API lock it on this glview
fDisplayLock.Lock();
- if (fRenderer)
+ if (fRenderer != NULL && fDisplayLock.CountLocks() == 1)
fRenderer->LockGL();
}
void
BGLView::UnlockGL()
{
- if (fRenderer)
+ if (fRenderer != NULL && fDisplayLock.CountLocks() == 1)
fRenderer->UnlockGL();
fDisplayLock.Unlock();
for (BView* view = this; view != NULL; view = view->Parent())
view->ConvertToParent(&fBounds);
- fRenderer = fRoster->GetRenderer();
if (fRenderer != NULL) {
// Jackburton: The following code was commented because it doesn't look
// good in "direct" mode: