Fix crash when pressing Tab
When pressing Tab for a long time, Dolphin will sooner or later crash because the result of FindFocus() has become NULL (toctou).
This commit is contained in:
parent
4f3227b4a9
commit
296637d6f2
|
@ -706,13 +706,16 @@ bool CFrame::RendererHasFocus()
|
|||
if (m_RenderParent->GetParent()->GetHWND() == GetForegroundWindow())
|
||||
return true;
|
||||
#else
|
||||
if (wxWindow::FindFocus() == nullptr)
|
||||
wxWindow *window = wxWindow::FindFocus();
|
||||
if (window == nullptr)
|
||||
return false;
|
||||
// Why these different cases?
|
||||
if (m_RenderParent == wxWindow::FindFocus() ||
|
||||
m_RenderParent == wxWindow::FindFocus()->GetParent() ||
|
||||
m_RenderParent->GetParent() == wxWindow::FindFocus()->GetParent())
|
||||
if (m_RenderParent == window ||
|
||||
m_RenderParent == window->GetParent() ||
|
||||
m_RenderParent->GetParent() == window->GetParent())
|
||||
{
|
||||
return true;
|
||||
}
|
||||
#endif
|
||||
return false;
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue