[haiku-commits] r35471 - in haiku/trunk/src/servers/app: . drawing drawing/remote

  • From: axeld@xxxxxxxxxxxxxxxx
  • To: haiku-commits@xxxxxxxxxxxxx
  • Date: Mon, 15 Feb 2010 15:43:09 +0100 (CET)

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());
 }
 
 


Other related posts:

  • » [haiku-commits] r35471 - in haiku/trunk/src/servers/app: . drawing drawing/remote - axeld