Stop forwarding DoPopupMenu() to wxGenericListCtrl main window

There doesn't seem to be anything wrong with just showing the popup menu
in this window itself and this avoids the need to do any coordinate
adjustments, which didn't work correctly for the menus shown over the
header window after the previous commit (and hadn't worked correctly for
the menus shown over the non-header area before it).

See #18133.
This commit is contained in:
Vadim Zeitlin
2018-05-17 03:39:24 +02:00
parent 0446382e82
commit 822809ef78
2 changed files with 0 additions and 17 deletions

View File

@@ -211,8 +211,6 @@ protected:
long DoInsertColumn(long col, const wxListItem& info) wxOVERRIDE; long DoInsertColumn(long col, const wxListItem& info) wxOVERRIDE;
virtual bool DoPopupMenu( wxMenu *menu, int x, int y ) wxOVERRIDE;
virtual wxSize DoGetBestClientSize() const wxOVERRIDE; virtual wxSize DoGetBestClientSize() const wxOVERRIDE;
// return the text for the given column of the given item // return the text for the given column of the given item

View File

@@ -5464,21 +5464,6 @@ wxColour wxGenericListCtrl::GetForegroundColour() const
return m_mainWin ? m_mainWin->GetForegroundColour() : wxColour(); return m_mainWin ? m_mainWin->GetForegroundColour() : wxColour();
} }
bool wxGenericListCtrl::DoPopupMenu( wxMenu *menu, int x, int y )
{
#if wxUSE_MENUS
// Coordinates here are given in this control coordinates system, but
// PopupMenu() wants them in the coordinates system of the window it's
// called on, so transform them.
ClientToScreen(&x, &y);
m_mainWin->ScreenToClient(&x, &y);
return m_mainWin->PopupMenu( menu, x, y );
#else
return false;
#endif
}
wxSize wxGenericListCtrl::DoGetBestClientSize() const wxSize wxGenericListCtrl::DoGetBestClientSize() const
{ {
// The base class version can compute the best size in report view only. // The base class version can compute the best size in report view only.