X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/9a83f860948059b0273b5cc6d9e43fadad3ebfca..b404a8f3b072129c107c6d9a5e0f6f53cd34807b:/src/msw/dragimag.cpp diff --git a/src/msw/dragimag.cpp b/src/msw/dragimag.cpp index bed8aea3fe..7e06613e36 100644 --- a/src/msw/dragimag.cpp +++ b/src/msw/dragimag.cpp @@ -250,7 +250,13 @@ bool wxDragImage::Create(const wxTreeCtrl& treeCtrl, wxTreeItemId& id) ImageList_Destroy(GetHimageList()); m_hImageList = (WXHIMAGELIST) TreeView_CreateDragImage(GetHwndOf(&treeCtrl), (HTREEITEM) id.m_pItem); - return m_hImageList != 0; + if ( !m_hImageList ) + { + // fall back on just the item text if there is no image + return Create(treeCtrl.GetItemText(id)); + } + + return true; } #endif @@ -261,8 +267,17 @@ bool wxDragImage::Create(const wxListCtrl& listCtrl, long id) if ( m_hImageList ) ImageList_Destroy(GetHimageList()); POINT pt; - pt.x = 0; pt.y = 0; - m_hImageList = (WXHIMAGELIST) ListView_CreateDragImage((HWND) listCtrl.GetHWND(), id, & pt); + pt.x = + pt.y = 0; + m_hImageList = (WXHIMAGELIST) + ListView_CreateDragImage(GetHwndOf(&listCtrl), id, &pt); + + if ( !m_hImageList ) + { + // as for wxTreeCtrl, fall back on dragging just the item text + return Create(listCtrl.GetItemText(id)); + } + return true; } #endif @@ -286,7 +301,7 @@ bool wxDragImage::BeginDrag(const wxPoint& hotspot, wxWindow* window, bool fullS return false; } - if (m_cursor.Ok()) + if (m_cursor.IsOk()) { #if wxUSE_SIMPLER_DRAGIMAGE m_oldCursor = window->GetCursor(); @@ -337,7 +352,7 @@ bool wxDragImage::BeginDrag(const wxPoint& hotspot, wxWindow* window, bool fullS } #if !wxUSE_SIMPLER_DRAGIMAGE - if (m_cursor.Ok()) + if (m_cursor.IsOk()) ::ShowCursor(FALSE); #endif @@ -382,7 +397,7 @@ bool wxDragImage::EndDrag() } #if wxUSE_SIMPLER_DRAGIMAGE - if (m_cursor.Ok() && m_oldCursor.Ok()) + if (m_cursor.IsOk() && m_oldCursor.IsOk()) m_window->SetCursor(m_oldCursor); #else ::ShowCursor(TRUE);