// wxWin macros
// ----------------------------------------------------------------------------
-IMPLEMENT_DYNAMIC_CLASS(wxCursor, wxCursorBase)
+IMPLEMENT_DYNAMIC_CLASS(wxCursor, wxGDIObject)
// ----------------------------------------------------------------------------
// globals
m_width = 32;
m_height = 32;
- m_destroyCursor = FALSE;
+ m_destroyCursor = TRUE;
}
void wxCursorRefData::Free()
wxCursorRefData *refData = new wxCursorRefData;
m_refData = refData;
- refData->m_destroyCursor = FALSE;
-
if (flags == wxBITMAP_TYPE_CUR_RESOURCE)
{
#ifdef __WIN95__
#else
#if wxUSE_RESOURCE_LOADING_IN_MSW
refData->m_hCursor = (WXHCURSOR) ReadCursorFile(WXSTRINGCAST cursor_file, wxGetInstance(), &refData->m_width, &refData->m_height);
- refData->m_destroyCursor = TRUE;
#endif
#endif
}
{
#if wxUSE_RESOURCE_LOADING_IN_MSW
refData->m_hCursor = (WXHCURSOR) IconToCursor(WXSTRINGCAST cursor_file, wxGetInstance(), hotSpotX, hotSpotY, &refData->m_width, &refData->m_height);
- refData->m_destroyCursor = TRUE;
#endif
}
else if (flags == wxBITMAP_TYPE_BMP)
pnt.x = hotSpotX;
pnt.y = hotSpotY;
refData->m_hCursor = (WXHCURSOR) MakeCursorFromBitmap(wxGetInstance(), hBitmap, &pnt);
- refData->m_destroyCursor = TRUE;
DeleteObject(hBitmap);
#endif
}
refData->m_hCursor = (WXHCURSOR) LoadCursor((HINSTANCE) NULL, IDC_ARROW);
break;
}
+
+ // no need to destroy the stock cursors
+ // TODO: check this
+ //m_refData->m_destroyCursor = FALSE;
#endif
}