Просмотр исходного кода

emu_window_sdl2_vk: Specify the window manager if it should be supported

The original language "not implemented" is wrong if the implementation
exists but is not compiled. This causes a bit of a debugging headache
when it goes wrong. Log it if the window manager is known before
exiting.
lat9nq 5 лет назад
Родитель
Сommit
0e6ba0cd0d
1 измененных файлов с 15 добавлено и 0 удалено
  1. 15 0
      src/yuzu_cmd/emu_window/emu_window_sdl2_vk.cpp

+ 15 - 0
src/yuzu_cmd/emu_window/emu_window_sdl2_vk.cpp

@@ -57,6 +57,11 @@ EmuWindow_SDL2_VK::EmuWindow_SDL2_VK(InputCommon::InputSubsystem* input_subsyste
         window_info.type = Core::Frontend::WindowSystemType::Windows;
         window_info.render_surface = reinterpret_cast<void*>(wm.info.win.window);
         break;
+#else
+    case SDL_SYSWM_TYPE::SDL_SYSWM_WINDOWS:
+        LOG_CRITICAL(Frontend, "Window manager subsystem Windows not compiled");
+        std::exit(EXIT_FAILURE);
+        break;
 #endif
 #ifdef SDL_VIDEO_DRIVER_X11
     case SDL_SYSWM_TYPE::SDL_SYSWM_X11:
@@ -64,6 +69,11 @@ EmuWindow_SDL2_VK::EmuWindow_SDL2_VK(InputCommon::InputSubsystem* input_subsyste
         window_info.display_connection = wm.info.x11.display;
         window_info.render_surface = reinterpret_cast<void*>(wm.info.x11.window);
         break;
+#else
+    case SDL_SYSWM_TYPE::SDL_SYSWM_X11:
+        LOG_CRITICAL(Frontend, "Window manager subsystem X11 not compiled");
+        std::exit(EXIT_FAILURE);
+        break;
 #endif
 #ifdef SDL_VIDEO_DRIVER_WAYLAND
     case SDL_SYSWM_TYPE::SDL_SYSWM_WAYLAND:
@@ -71,6 +81,11 @@ EmuWindow_SDL2_VK::EmuWindow_SDL2_VK(InputCommon::InputSubsystem* input_subsyste
         window_info.display_connection = wm.info.wl.display;
         window_info.render_surface = wm.info.wl.surface;
         break;
+#else
+    case SDL_SYSWM_TYPE::SDL_SYSWM_WAYLAND:
+        LOG_CRITICAL(Frontend, "Window manager subsystem Wayland not compiled");
+        std::exit(EXIT_FAILURE);
+        break;
 #endif
     default:
         LOG_CRITICAL(Frontend, "Window manager subsystem not implemented");