From 0b42db11bd3aabbe21dce316b8c0a0847cd0a726 Mon Sep 17 00:00:00 2001 From: Jonathan Li Date: Fri, 26 Jun 2015 02:04:39 +0100 Subject: [PATCH] gui: Fix Console close behaviour When the Console is closed (except through Misc -> Show Console), PCSX2 does not remember that you closed the Console and will reopen it the next time. You also have to press Show Console twice if you want to reopen the Console after closing it. This is caused by the Console looking for its "parent" main emulator window, when secretly, they're siblings :) Make the console properly register when it is closed. --- pcsx2/gui/ConsoleLogger.cpp | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/pcsx2/gui/ConsoleLogger.cpp b/pcsx2/gui/ConsoleLogger.cpp index a276f66a23..3caa666a95 100644 --- a/pcsx2/gui/ConsoleLogger.cpp +++ b/pcsx2/gui/ConsoleLogger.cpp @@ -764,10 +764,9 @@ void ConsoleLogFrame::OnCloseWindow(wxCloseEvent& event) // instead of closing just hide the window to be able to Show() it later Show( false ); - // Can't do this via a Connect() on the MainFrame because Close events are not commands, - // and thus do not propagate up/down the event chain. - if( wxWindow* main = GetParent() ) - wxStaticCast( main, MainEmuFrame )->OnLogBoxHidden(); + // In the nogui case there might not be a Main frame window. + if (MainEmuFrame* mainframe = GetMainFramePtr()) + mainframe->OnLogBoxHidden(); } else {