]> git.saurik.com Git - wxWidgets.git/blobdiff - src/dfb/cursor.cpp
Reflect changes in stc.cpp in stc.cpp.in from which it's generated.
[wxWidgets.git] / src / dfb / cursor.cpp
index 9d9bf2e85048f964ef3c1edc4c9c58137fc00306..96e25b4c2da6174aa57e9a0077a7c21c378ac7df 100644 (file)
@@ -3,7 +3,6 @@
 // Purpose:     wxCursor implementation
 // Author:      Vaclav Slavik
 // Created:     2006-08-08
 // Purpose:     wxCursor implementation
 // Author:      Vaclav Slavik
 // Created:     2006-08-08
-// RCS-ID:      $Id$
 // Copyright:   (c) 2006 REA Elektronik GmbH
 // Licence:     wxWindows licence
 /////////////////////////////////////////////////////////////////////////////
 // Copyright:   (c) 2006 REA Elektronik GmbH
 // Licence:     wxWindows licence
 /////////////////////////////////////////////////////////////////////////////
@@ -30,6 +29,15 @@ public:
 
     virtual bool IsOk() const { return m_bitmap.IsOk(); }
 
 
     virtual bool IsOk() const { return m_bitmap.IsOk(); }
 
+    // Create a deep copy of this object.
+    wxCursorRefData *Clone() const
+    {
+        wxBitmap bitmapCopy(m_bitmap);
+        bitmapCopy.UnShare();
+
+        return new wxCursorRefData(bitmapCopy, m_id);
+    }
+
     int      m_id;
     wxBitmap m_bitmap;
 };
     int      m_id;
     wxBitmap m_bitmap;
 };
@@ -62,7 +70,7 @@ wxGDIRefData *wxCursor::CreateGDIRefData() const
 
 wxGDIRefData *wxCursor::CloneGDIRefData(const wxGDIRefData *data) const
 {
 
 wxGDIRefData *wxCursor::CloneGDIRefData(const wxGDIRefData *data) const
 {
-    return new wxCursorRefData(*(wxCursorRefData *)data);
+    return static_cast<const wxCursorRefData *>(data)->Clone();
 }
 
 
 }