From f5d6be6d86d8047ee33c64fa5e1fa21fa347f0b5 Mon Sep 17 00:00:00 2001 From: Stefan Csomor Date: Sun, 14 Sep 2014 18:11:38 +0000 Subject: [PATCH] fixing memory leak git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@77697 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775 --- src/msw/graphicsd2d.cpp | 28 ++++++++++++++-------------- 1 file changed, 14 insertions(+), 14 deletions(-) diff --git a/src/msw/graphicsd2d.cpp b/src/msw/graphicsd2d.cpp index 521a2cc0b0..b6e69c6c4f 100644 --- a/src/msw/graphicsd2d.cpp +++ b/src/msw/graphicsd2d.cpp @@ -3457,20 +3457,20 @@ private : IMPLEMENT_DYNAMIC_CLASS(wxD2DRenderer,wxGraphicsRenderer) -static wxD2DRenderer* gs_D2DRenderer = NULL; - -wxGraphicsRenderer* wxGraphicsRenderer::GetDirect2DRenderer() -{ - if (!wxDirect2D::Initialize()) - return NULL; - - if (gs_D2DRenderer == NULL) - { - gs_D2DRenderer = new wxD2DRenderer(); - } - - return gs_D2DRenderer; -} +static wxScopedPtr gs_D2DRenderer; + +wxGraphicsRenderer* wxGraphicsRenderer::GetDirect2DRenderer() +{ + if (!wxDirect2D::Initialize()) + return NULL; + + if (!gs_D2DRenderer) + { + gs_D2DRenderer.reset(new wxD2DRenderer()); + } + + return gs_D2DRenderer.get(); +} wxD2DRenderer::wxD2DRenderer() {