Fixed focusing problem

some optimizations to "drawing code"(not the real one) because of more efficient locking.
... other improvements.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@6074 a95241bf-73f2-0310-859d-f6bbb57e9c96
This commit is contained in:
Adi Oanca
2004-01-14 15:55:10 +00:00
parent 7bd3c77058
commit fa554b7dd8
7 changed files with 73 additions and 33 deletions
+5 -12
View File
@@ -737,23 +737,16 @@ void WinBorder::AddToSubsetOf(WinBorder* main){
printf("WinBorder(%s)::AddToSubsetOf() - General lock acquired\n", GetName());
rl->fMainLock.Lock();
printf("WinBorder(%s)::AddToSubsetOf() - Main lock acquired\n", GetName());
for(int32 i = 0; i < rl->WorkspaceCount(); i++){
Workspace *ws = rl->WorkspaceAt(i+1);
if(ws->FrontLayer() == main){
printf("\n@\n@\n");
ws->PrintToStream();
if(ws->FrontLayer() == main)
ws->AddLayerPtr(this);
if(rl->ActiveWorkspace() == ws && !IsHidden()){
ws->Invalidate();
printf("\n#\n#\n");
ws->PrintToStream();
printf("\n#\n#\n");
}
}
}
rl->fMainLock.Unlock();
rl->fMainLock.Unlock();
printf("WinBorder(%s)::AddToSubsetOf() - Main lock released\n", GetName());
desktop->fGeneralLock.Unlock();
desktop->fGeneralLock.Unlock();
printf("WinBorder(%s)::AddToSubsetOf() - General lock released\n", GetName());
}
}