Browse Source

Implemented graceful closing of the GLFW window, along with emulation.

pull/15/merge
archshift 11 years ago
parent
commit
ccb59a9d28
  1. 2
      src/citra/citra.cpp
  2. 5
      src/citra/emu_window/emu_window_glfw.cpp
  3. 3
      src/citra/emu_window/emu_window_glfw.h

2
src/citra/citra.cpp

@ -34,7 +34,7 @@ int __cdecl main(int argc, char **argv) {
return -1;
}
while(true) {
while (emu_window->IsOpen()) {
Core::RunLoop();
}

5
src/citra/emu_window/emu_window_glfw.cpp

@ -29,6 +29,11 @@ void EmuWindow_GLFW::OnKeyEvent(GLFWwindow* win, int key, int scancode, int acti
HID_User::PadUpdateComplete();
}
/// Whether the window is still open, and a close request hasn't yet been sent
const bool EmuWindow_GLFW::IsOpen() {
return glfwWindowShouldClose(m_render_window) != 0;
}
/// EmuWindow_GLFW constructor
EmuWindow_GLFW::EmuWindow_GLFW() {
keyboard_id = KeyMap::NewDeviceId();

3
src/citra/emu_window/emu_window_glfw.h

@ -27,6 +27,9 @@ public:
static void OnKeyEvent(GLFWwindow* win, int key, int scancode, int action, int mods);
/// Whether the window is still open, and a close request hasn't yet been sent
const bool IsOpen();
void ReloadSetKeymaps() override;
private:

Loading…
Cancel
Save