From 91d0586a7dec208ed73904b33684c2ffd02106bd Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Stephan=20A=C3=9Fmus?= Date: Wed, 15 Aug 2007 19:06:11 +0000 Subject: [PATCH] * it should be better to lock before accessing the data, even if reading only * after this change, I have not spotted "left behind" cursors again, but it might just be bad luck... git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21966 a95241bf-73f2-0310-859d-f6bbb57e9c96 --- src/servers/app/drawing/HWInterface.cpp | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/servers/app/drawing/HWInterface.cpp b/src/servers/app/drawing/HWInterface.cpp index 52f16a1c18..868ae4346b 100644 --- a/src/servers/app/drawing/HWInterface.cpp +++ b/src/servers/app/drawing/HWInterface.cpp @@ -382,18 +382,20 @@ HWInterface::HideOverlay(Overlay* overlay) bool HWInterface::HideSoftwareCursor(const BRect& area) { + if (!fSoftwareCursorLock.Lock()) + return false; if (fCursorAreaBackup && !fCursorAreaBackup->cursor_hidden) { BRect backupArea(fCursorAreaBackup->left, fCursorAreaBackup->top, fCursorAreaBackup->right, fCursorAreaBackup->bottom); if (area.Intersects(backupArea)) { - fSoftwareCursorLock.Lock(); _RestoreCursorArea(); // do not unlock the cursor lock return true; } } + fSoftwareCursorLock.Unlock(); return false; }