diff options
Diffstat (limited to 'src/yuzu_cmd')
| -rw-r--r-- | src/yuzu_cmd/config.cpp | 6 | ||||
| -rw-r--r-- | src/yuzu_cmd/emu_window/emu_window_sdl2_vk.cpp | 27 | 
2 files changed, 17 insertions, 16 deletions
diff --git a/src/yuzu_cmd/config.cpp b/src/yuzu_cmd/config.cpp index d6bea9aa8..59f9c8e09 100644 --- a/src/yuzu_cmd/config.cpp +++ b/src/yuzu_cmd/config.cpp @@ -90,7 +90,11 @@ static const std::array<std::array<int, 5>, Settings::NativeAnalog::NumAnalogs>  template <>  void Config::ReadSetting(const std::string& group, Settings::Setting<std::string>& setting) { -    setting = sdl2_config->Get(group, setting.GetLabel(), setting.GetDefault()); +    std::string setting_value = sdl2_config->Get(group, setting.GetLabel(), setting.GetDefault()); +    if (setting_value.empty()) { +        setting_value = setting.GetDefault(); +    } +    setting = std::move(setting_value);  }  template <> diff --git a/src/yuzu_cmd/emu_window/emu_window_sdl2_vk.cpp b/src/yuzu_cmd/emu_window/emu_window_sdl2_vk.cpp index 25948328c..0d580fe4f 100644 --- a/src/yuzu_cmd/emu_window/emu_window_sdl2_vk.cpp +++ b/src/yuzu_cmd/emu_window/emu_window_sdl2_vk.cpp @@ -51,11 +51,6 @@ 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: @@ -63,11 +58,6 @@ 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: @@ -75,14 +65,21 @@ 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); +#endif +#ifdef SDL_VIDEO_DRIVER_COCOA +    case SDL_SYSWM_TYPE::SDL_SYSWM_COCOA: +        window_info.type = Core::Frontend::WindowSystemType::Cocoa; +        window_info.render_surface = SDL_Metal_CreateView(render_window); +        break; +#endif +#ifdef SDL_VIDEO_DRIVER_ANDROID +    case SDL_SYSWM_TYPE::SDL_SYSWM_ANDROID: +        window_info.type = Core::Frontend::WindowSystemType::Android; +        window_info.render_surface = reinterpret_cast<void*>(wm.info.android.window);          break;  #endif      default: -        LOG_CRITICAL(Frontend, "Window manager subsystem not implemented"); +        LOG_CRITICAL(Frontend, "Window manager subsystem {} not implemented", wm.subsystem);          std::exit(EXIT_FAILURE);          break;      }  | 
