From 2fe3b8e58c63196327214319f5d9654a4b3d30b2 Mon Sep 17 00:00:00 2001 From: Sera <62521228+SeraUQ@users.noreply.github.com> Date: Tue, 19 Jan 2021 03:31:59 +0100 Subject: [PATCH] Fix some GLXBadDrawable crashes on linux (#1900) Fixes the crashes on linux when you stop emulation, and when you try to exit the emulator while a game is running. Also tested on windows without problems on my side. --- Ryujinx/Ui/MainWindow.cs | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/Ryujinx/Ui/MainWindow.cs b/Ryujinx/Ui/MainWindow.cs index 778afd1249..1c847f4a68 100644 --- a/Ryujinx/Ui/MainWindow.cs +++ b/Ryujinx/Ui/MainWindow.cs @@ -593,7 +593,6 @@ namespace Ryujinx.Ui ToggleExtraWidgets(true); } - _viewBox.Remove(GlRendererWidget); GlRendererWidget.Exit(); if(GlRendererWidget.Window != Window && GlRendererWidget.Window != null) @@ -606,6 +605,7 @@ namespace Ryujinx.Ui _windowsMultimediaTimerResolution?.Dispose(); _windowsMultimediaTimerResolution = null; + _viewBox.Remove(GlRendererWidget); _viewBox.Add(_gameTableWindow); _gameTableWindow.Expand = true; @@ -713,6 +713,7 @@ namespace Ryujinx.Ui // Wait for the other thread to dispose the HLE context before exiting. _deviceExitStatus.WaitOne(); + GlRendererWidget.Dispose(); } } @@ -1202,4 +1203,4 @@ namespace Ryujinx.Ui UpdateGameTable(); } } -} \ No newline at end of file +}