Fixed an issue that caused the render to main window to lose focus if the gfx config dialog is opened while the emulator is running. Only affects linux. Also fixed a few preprocessor conditionals.

git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5186 8ced0084-cf51-0410-be5f-012b33b47a6e
This commit is contained in:
Glenn Rice
2010-03-10 17:29:19 +00:00
parent 70627c5652
commit 5fa18ae114
4 changed files with 15 additions and 7 deletions

View File

@ -272,6 +272,8 @@ void ProcessXEvents(void)
case ClientMessage:
if ((ulong) event.xclient.data.l[0] == XInternAtom(dpy, "WM_DELETE_WINDOW", False))
Host_Message(WM_USER_STOP);
if ((ulong) event.xclient.data.l[0] == XInternAtom(dpy, "WINDOW_REFOCUS", False))
XSetInputFocus(dpy, *(Window *)g_pXWindow, RevertToPointerRoot, CurrentTime);
break;
default:
break;

View File

@ -547,8 +547,8 @@ void X11_SendEvent(const char *message)
// Events
void CFrame::OnActive(wxActivateEvent& event)
{
#if defined(HAVE_X11) && HAVE_X11 && defined(wxGTK)
if (event.GetActive() && Core::GetState() == Core::CORE_RUN)
#if defined(HAVE_GTK2) && HAVE_GTK2 && defined(wxGTK)
if (event.GetActive() && (Core::GetState() == Core::CORE_RUN || Core::GetState() == Core::CORE_PAUSE))
X11_SendEvent("WINDOW_REFOCUS");
#endif
event.Skip();
@ -614,8 +614,8 @@ void CFrame::OnResize(wxSizeEvent& event)
SConfig::GetInstance().m_LocalCoreStartupParameter.iWidth = GetSize().GetWidth();
SConfig::GetInstance().m_LocalCoreStartupParameter.iHeight = GetSize().GetHeight();
#if defined(HAVE_X11) && HAVE_X11
if (Core::GetState() == Core::CORE_RUN)
#if defined(HAVE_GTK2) && HAVE_GTK2 && defined(wxGTK)
if (Core::GetState() == Core::CORE_RUN || Core::GetState() == Core::CORE_PAUSE)
X11_SendEvent("MAIN_RESIZED");
#endif