mirror of
https://github.com/dolphin-emu/dolphin.git
synced 2025-07-21 05:09:34 -06:00
ControllerInterface: Don't crash on non-X11 QPA
This commit is contained in:
@ -169,6 +169,7 @@ MainWindow::MainWindow(std::unique_ptr<BootParameters> boot_parameters) : QMainW
|
||||
setWindowIcon(Resources::GetAppIcon());
|
||||
setUnifiedTitleAndToolBarOnMac(true);
|
||||
setAcceptDrops(true);
|
||||
setAttribute(Qt::WA_NativeWindow);
|
||||
|
||||
InitControllers();
|
||||
|
||||
@ -237,7 +238,7 @@ void MainWindow::InitControllers()
|
||||
if (g_controller_interface.IsInit())
|
||||
return;
|
||||
|
||||
g_controller_interface.Initialize(reinterpret_cast<void*>(winId()));
|
||||
g_controller_interface.Initialize(GetWindowSystemInfo(windowHandle()));
|
||||
Pad::Initialize();
|
||||
Keyboard::Initialize();
|
||||
Wiimote::Initialize(Wiimote::InitializeMode::DO_NOT_WAIT_FOR_WIIMOTES);
|
||||
@ -874,7 +875,8 @@ void MainWindow::SetFullScreenResolution(bool fullscreen)
|
||||
// Try To Set Selected Mode And Get Results. NOTE: CDS_FULLSCREEN Gets Rid Of Start Bar.
|
||||
ChangeDisplaySettings(&screen_settings, CDS_FULLSCREEN);
|
||||
#elif defined(HAVE_XRANDR) && HAVE_XRANDR
|
||||
m_xrr_config->ToggleDisplayMode(fullscreen);
|
||||
if (m_xrr_config)
|
||||
m_xrr_config->ToggleDisplayMode(fullscreen);
|
||||
#endif
|
||||
}
|
||||
|
||||
@ -1003,14 +1005,18 @@ void MainWindow::ShowGraphicsWindow()
|
||||
if (!m_graphics_window)
|
||||
{
|
||||
#if defined(HAVE_XRANDR) && HAVE_XRANDR
|
||||
m_xrr_config = std::make_unique<X11Utils::XRRConfiguration>(
|
||||
static_cast<Display*>(QGuiApplication::platformNativeInterface()->nativeResourceForWindow(
|
||||
"display", windowHandle())),
|
||||
winId());
|
||||
if (GetWindowSystemType() == WindowSystemType::X11)
|
||||
{
|
||||
m_xrr_config = std::make_unique<X11Utils::XRRConfiguration>(
|
||||
static_cast<Display*>(QGuiApplication::platformNativeInterface()->nativeResourceForWindow(
|
||||
"display", windowHandle())),
|
||||
winId());
|
||||
}
|
||||
m_graphics_window = new GraphicsWindow(m_xrr_config.get(), this);
|
||||
#else
|
||||
m_graphics_window = new GraphicsWindow(nullptr, this);
|
||||
#endif
|
||||
InstallHotkeyFilter(m_graphics_window);
|
||||
}
|
||||
|
||||
m_graphics_window->show();
|
||||
@ -1273,7 +1279,8 @@ void MainWindow::NetPlayQuit()
|
||||
void MainWindow::EnableScreenSaver(bool enable)
|
||||
{
|
||||
#if defined(HAVE_XRANDR) && HAVE_XRANDR
|
||||
UICommon::EnableScreenSaver(winId(), enable);
|
||||
if (GetWindowSystemType() == WindowSystemType::X11)
|
||||
UICommon::EnableScreenSaver(winId(), enable);
|
||||
#else
|
||||
UICommon::EnableScreenSaver(enable);
|
||||
#endif
|
||||
|
Reference in New Issue
Block a user