From ed656a3a9b72a39f19589c7f2c3a907aaf8d27ee Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Axel=20D=C3=B6rfler?= Date: Wed, 30 Nov 2005 19:51:43 +0000 Subject: [PATCH] You must not have RootLayer locked when calling any method from EventDispatcher; just another case of troublesome generic RootLayer locking in ServerWindow (I'm looking forward to get rid of this). git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15249 a95241bf-73f2-0310-859d-f6bbb57e9c96 --- src/servers/app/ServerWindow.cpp | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/servers/app/ServerWindow.cpp b/src/servers/app/ServerWindow.cpp index b87715f313..58d84f22a8 100644 --- a/src/servers/app/ServerWindow.cpp +++ b/src/servers/app/ServerWindow.cpp @@ -977,16 +977,13 @@ ServerWindow::_DispatchMessage(int32 code, BPrivate::LinkReceiver &link) rgb_color c; link.Read(&c, sizeof(rgb_color)); -if (rootLayer) - rootLayer->Lock(); + fCurrentLayer->SetViewColor(RGBColor(c)); if (rootLayer && !fCurrentLayer->IsHidden()) { rootLayer->MarkForRedraw(fCurrentLayer->VisibleRegion()); rootLayer->TriggerRedraw(); } -if (rootLayer) - rootLayer->Unlock(); break; } @@ -1566,6 +1563,7 @@ if (rootLayer) // Returns // 1) BPoint mouse location // 2) int32 button state + rootLayer->Unlock(); BPoint where; int32 buttons; @@ -1575,6 +1573,8 @@ if (rootLayer) fLink.Attach(where); fLink.Attach(buttons); fLink.Flush(); + + rootLayer->Lock(); break; }