mirror of
https://github.com/dolphin-emu/dolphin.git
synced 2024-11-14 21:37:52 -07:00
DolphinQt2/MainWindow: Resolve a memory leak on systems with X11
In the case we had X11 libs available, we'd allocate an XRRConfiguration instance and pass it to the GraphicsWindow instance, but it would never actually be freed.
This commit is contained in:
parent
d0b7c013a1
commit
839fc7e749
@ -221,12 +221,11 @@ void MainWindow::CreateComponents()
|
||||
&MemoryWidget::Update);
|
||||
|
||||
#if defined(HAVE_XRANDR) && HAVE_XRANDR
|
||||
m_graphics_window = new GraphicsWindow(
|
||||
new X11Utils::XRRConfiguration(
|
||||
static_cast<Display*>(QGuiApplication::platformNativeInterface()->nativeResourceForWindow(
|
||||
"display", windowHandle())),
|
||||
winId()),
|
||||
this);
|
||||
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
|
||||
|
@ -43,6 +43,11 @@ class SettingsWindow;
|
||||
class WatchWidget;
|
||||
class WiiTASInputWindow;
|
||||
|
||||
namespace X11Utils
|
||||
{
|
||||
class XRRConfiguration;
|
||||
}
|
||||
|
||||
class MainWindow final : public QMainWindow
|
||||
{
|
||||
Q_OBJECT
|
||||
@ -146,6 +151,10 @@ private:
|
||||
void dropEvent(QDropEvent* event) override;
|
||||
QSize sizeHint() const override;
|
||||
|
||||
#if defined(HAVE_XRANDR) && HAVE_XRANDR
|
||||
std::unique_ptr<X11Utils::XRRConfiguration> m_xrr_config;
|
||||
#endif
|
||||
|
||||
QProgressDialog* m_progress_dialog = nullptr;
|
||||
QStackedWidget* m_stack;
|
||||
ToolBar* m_tool_bar;
|
||||
|
Loading…
Reference in New Issue
Block a user