semaphore related work. ServerWindow has a few methods guarded by a semaphore. Same for WinBorder.

git-svn-id: file:///srv/svn/repos/haiku/trunk/current@8061 a95241bf-73f2-0310-859d-f6bbb57e9c96
This commit is contained in:
Adi Oanca
2004-06-19 13:04:50 +00:00
parent 8491b62602
commit c233705d66
5 changed files with 59 additions and 40 deletions
+11 -2
View File
@@ -134,6 +134,9 @@ void WinBorder::RebuildFullRegion(void)
void WinBorder::MouseDown(PortMessage *msg)
{
if (!(Window()->IsLocked()))
debugger("you must lock the attached ServerWindow object\n\t before calling WinBorder::MouseDown()\n");
// this is important to determine how much we should resize or move the Layer(WinBorder)(window)
// user clicked on WinBorder's visible region, which is in fact decorator's.
@@ -245,6 +248,9 @@ void WinBorder::MouseDown(PortMessage *msg)
void WinBorder::MouseMoved(PortMessage *msg)
{
if (!(Window()->IsLocked()))
debugger("you must lock the attached ServerWindow object\n\t before calling WinBorder::MouseMoved()\n");
BPoint pt;
int64 dummy;
int32 buttons;
@@ -298,6 +304,9 @@ void WinBorder::MouseMoved(PortMessage *msg)
void WinBorder::MouseUp(PortMessage *msg)
{
if (!(Window()->IsLocked()))
debugger("you must lock the attached ServerWindow object\n\t before calling WinBorder::MouseUp()\n");
if (fIsMoving)
{
fIsMoving = false;
@@ -377,7 +386,7 @@ void WinBorder::MoveBy(float x, float y)
STRACE(("WinBorder(%s)::MoveBy()\n", GetName()));
if(fDecorator)
fDecorator->MoveBy(x,y);
// TODO: Repair! :-))
Layer::MoveBy(x,y);
}
@@ -386,7 +395,7 @@ void WinBorder::ResizeBy(float x, float y)
STRACE(("WinBorder(%s)::ResizeBy()\n", GetName()));
if(fDecorator)
fDecorator->ResizeBy(x,y);
// TODO: Repair! :-))
Layer::ResizeBy(x,y);
}