diff --git a/docs/changes.txt b/docs/changes.txt index ba093bf66b..ee05ed3ff4 100644 --- a/docs/changes.txt +++ b/docs/changes.txt @@ -670,6 +670,7 @@ wxMSW: - Fix precision loss in wxGraphicsContext::{Draw,Stroke}Lines() (tibo_). - Fix destroying the font from wxFont::GetFaceName() in some cases (aebailey82). - Fix wxCheckListBox appearance when using larger fonts (Igor Korot). +- Return correct results from wxPopupWindow::GetPosition() (Christian Walther). wxOSX: diff --git a/include/wx/msw/popupwin.h b/include/wx/msw/popupwin.h index d95c1dabc0..e41c82ea46 100644 --- a/include/wx/msw/popupwin.h +++ b/include/wx/msw/popupwin.h @@ -35,7 +35,6 @@ public: virtual WXHWND MSWGetParent() const; protected: - // popups handle the position like wxTopLevelWindow, not wxWindow virtual void DoGetPosition(int *x, int *y) const; DECLARE_DYNAMIC_CLASS_NO_COPY(wxPopupWindow) diff --git a/src/msw/popupwin.cpp b/src/msw/popupwin.cpp index fbcf9961e6..666b110721 100644 --- a/src/msw/popupwin.cpp +++ b/src/msw/popupwin.cpp @@ -49,12 +49,9 @@ bool wxPopupWindow::Create(wxWindow *parent, int flags) void wxPopupWindow::DoGetPosition(int *x, int *y) const { - // the position of a "top level" window such as this should be in - // screen coordinates, not in the client ones which MSW gives us - // (because we are a child window) + // This method only exists for ABI compatibility but does nothing special + // any more, it is removed in 3.1.0 and later. wxPopupWindowBase::DoGetPosition(x, y); - - GetParent()->ClientToScreen(x, y); } WXDWORD wxPopupWindow::MSWGetStyle(long flags, WXDWORD *exstyle) const