CFrame: Render to a child on Linux and Mac OS X.

This is needed to fix the hotkeys on those platforms.
This commit is contained in:
Jules Blok 2014-08-04 13:02:19 +02:00
parent 99dc069b9a
commit 9818bd3edf
1 changed files with 7 additions and 0 deletions

View File

@ -973,7 +973,14 @@ void CFrame::StartGame(const std::string& filename)
m_RenderFrame->Bind(wxEVT_CLOSE_WINDOW, &CFrame::OnRenderParentClose, this); m_RenderFrame->Bind(wxEVT_CLOSE_WINDOW, &CFrame::OnRenderParentClose, this);
m_RenderFrame->Bind(wxEVT_ACTIVATE, &CFrame::OnActive, this); m_RenderFrame->Bind(wxEVT_ACTIVATE, &CFrame::OnActive, this);
m_RenderFrame->Bind(wxEVT_MOVE, &CFrame::OnRenderParentMove, this); m_RenderFrame->Bind(wxEVT_MOVE, &CFrame::OnRenderParentMove, this);
#ifdef _WIN32
// The renderer should use a top-level window for exclusive fullscreen support.
m_RenderParent = m_RenderFrame; m_RenderParent = m_RenderFrame;
#else
// To capture key events on Linux and Mac OS X the frame needs at least one child.
m_RenderParent = new wxPanel(m_RenderFrame, IDM_MPANEL, wxDefaultPosition, wxDefaultSize, 0);
#endif
m_RenderFrame->Show(); m_RenderFrame->Show();
} }