Merge pull request #6600 from lioncash/leak

DolphinQt2/MainWindow: Resolve a memory leak on systems with X11
This commit is contained in:
Léo Lam 2018-04-05 17:42:15 +02:00 committed by GitHub
commit a66c7d6a64
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 14 additions and 6 deletions

View File

@ -221,12 +221,11 @@ void MainWindow::CreateComponents()
&MemoryWidget::Update);
#if defined(HAVE_XRANDR) && HAVE_XRANDR
m_graphics_window = new GraphicsWindow(
new X11Utils::XRRConfiguration(
m_xrr_config = std::make_unique<X11Utils::XRRConfiguration>(
static_cast<Display*>(QGuiApplication::platformNativeInterface()->nativeResourceForWindow(
"display", windowHandle())),
winId()),
this);
winId());
m_graphics_window = new GraphicsWindow(m_xrr_config.get(), this);
#else
m_graphics_window = new GraphicsWindow(nullptr, this);
#endif

View File

@ -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;