X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/69477ac44979d42e1139dc70a2be7c0390043246..7f5f144a8143f02841ef9fa4662e25ef24038054:/src/generic/dragimgg.cpp diff --git a/src/generic/dragimgg.cpp b/src/generic/dragimgg.cpp index 8c1b4ab485..8e89afe823 100644 --- a/src/generic/dragimgg.cpp +++ b/src/generic/dragimgg.cpp @@ -139,12 +139,12 @@ bool wxGenericDragImage::Create(const wxString& str, const wxCursor& cursor) dc.SetFont(wxNullFont); wxMemoryDC dc2; - dc2.SetFont(font); // Sometimes GetTextExtent isn't accurate enough, so make it longer wxBitmap bitmap((int) ((w+2) * 1.5), (int) h+2); dc2.SelectObject(bitmap); + dc2.SetFont(font); dc2.SetBackground(* wxWHITE_BRUSH); dc2.Clear(); dc2.SetBackgroundMode(wxTRANSPARENT); @@ -295,7 +295,13 @@ bool wxGenericDragImage::EndDrag() { if (m_window) { - m_window->ReleaseMouse(); +#ifdef __WXMSW__ + // Under Windows we can be pretty sure this test will give + // the correct results + if (wxWindow::GetCapture() == m_window) +#endif + m_window->ReleaseMouse(); + if (m_cursor.Ok() && m_oldCursor.Ok()) { m_window->SetCursor(m_oldCursor);