Author: axeld Date: 2010-02-15 15:43:09 +0100 (Mon, 15 Feb 2010) New Revision: 35471 Changeset: http://dev.haiku-os.org/changeset/35471/haiku Modified: haiku/trunk/src/servers/app/Desktop.cpp haiku/trunk/src/servers/app/ServerCursor.h haiku/trunk/src/servers/app/drawing/DrawingEngine.cpp haiku/trunk/src/servers/app/drawing/remote/RemoteHWInterface.cpp Log: * Removed ServerCursorReference in favour of BReference. * Simplified the Desktop::SetCursor() code a bit. Modified: haiku/trunk/src/servers/app/Desktop.cpp =================================================================== --- haiku/trunk/src/servers/app/Desktop.cpp 2010-02-15 14:39:48 UTC (rev 35470) +++ haiku/trunk/src/servers/app/Desktop.cpp 2010-02-15 14:43:09 UTC (rev 35471) @@ -475,10 +475,6 @@ if (newCursor == NULL) newCursor = fCursorManager.GetCursor(B_CURSOR_DEFAULT); - ServerCursorReference oldCursor = Cursor(); - if (newCursor == oldCursor.Cursor()) - return; - HWInterface()->SetCursor(newCursor); } Modified: haiku/trunk/src/servers/app/ServerCursor.h =================================================================== --- haiku/trunk/src/servers/app/ServerCursor.h 2010-02-15 14:39:48 UTC (rev 35470) +++ haiku/trunk/src/servers/app/ServerCursor.h 2010-02-15 14:43:09 UTC (rev 35471) @@ -65,66 +65,7 @@ }; -class ServerCursorReference { -public: - ServerCursorReference() - : - fCursor(NULL) - { - } +typedef BReference<ServerCursor> ServerCursorReference; - ServerCursorReference(ServerCursor* cursor) - : - fCursor(cursor) - { - if (fCursor) - fCursor->AcquireReference(); - } - ServerCursorReference(const ServerCursorReference& other) - : - fCursor(other.fCursor) - { - if (fCursor) - fCursor->AcquireReference(); - } - - virtual ~ServerCursorReference() - { - if (fCursor) - fCursor->ReleaseReference(); - } - - ServerCursorReference& operator=(const ServerCursorReference& other) - { - SetCursor(other.fCursor); - return *this; - } - - void SetCursor(ServerCursor* cursor) - { - if (fCursor == cursor) - return; - - if (cursor) - cursor->AcquireReference(); - - ServerCursor* oldCursor = fCursor; - - fCursor = cursor; - - if (oldCursor) - oldCursor->ReleaseReference(); - } - - ServerCursor* Cursor() const - { - return fCursor; - } - -private: - ServerCursor* fCursor; -}; - - #endif // SERVER_CURSOR_H Modified: haiku/trunk/src/servers/app/drawing/DrawingEngine.cpp =================================================================== --- haiku/trunk/src/servers/app/drawing/DrawingEngine.cpp 2010-02-15 14:39:48 UTC (rev 35470) +++ haiku/trunk/src/servers/app/drawing/DrawingEngine.cpp 2010-02-15 14:43:09 UTC (rev 35471) @@ -1380,7 +1380,7 @@ if (drawCursor) { ServerCursorReference cursorRef = fGraphicsCard->Cursor(); - ServerCursor* cursor = cursorRef.Cursor(); + ServerCursor* cursor = cursorRef.Get(); if (!cursor) return result; int32 cursorWidth = cursor->Width(); Modified: haiku/trunk/src/servers/app/drawing/remote/RemoteHWInterface.cpp =================================================================== --- haiku/trunk/src/servers/app/drawing/remote/RemoteHWInterface.cpp 2010-02-15 14:39:48 UTC (rev 35470) +++ haiku/trunk/src/servers/app/drawing/remote/RemoteHWInterface.cpp 2010-02-15 14:43:09 UTC (rev 35471) @@ -488,7 +488,7 @@ HWInterface::SetCursor(cursor); RemoteMessage message(NULL, fSendBuffer); message.Start(RP_SET_CURSOR); - message.AddCursor(Cursor().Cursor()); + message.AddCursor(Cursor().Get()); } @@ -520,7 +520,7 @@ HWInterface::SetDragBitmap(bitmap, offsetFromCursor); RemoteMessage message(NULL, fSendBuffer); message.Start(RP_SET_CURSOR); - message.AddCursor(CursorAndDragBitmap().Cursor()); + message.AddCursor(CursorAndDragBitmap().Get()); }