From b92c91bafbe3dac2c5c1038b18374f94c91782c1 Mon Sep 17 00:00:00 2001 From: Artur Wieczorek Date: Thu, 26 May 2016 17:33:58 +0200 Subject: [PATCH] Fixed flushing underlying graphics path data for Direct2D renderer Don't attempt to close already closed geometry sink. --- src/msw/graphicsd2d.cpp | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/src/msw/graphicsd2d.cpp b/src/msw/graphicsd2d.cpp index e1ba3521e7..abb6b718d6 100644 --- a/src/msw/graphicsd2d.cpp +++ b/src/msw/graphicsd2d.cpp @@ -1133,16 +1133,18 @@ void wxD2DPathData::Flush() { if (m_geometrySink != NULL) { - if (m_figureOpened) + if ( m_figureOpened ) { m_geometrySink->EndFigure(D2D1_FIGURE_END_OPEN); + m_figureOpened = false; } - m_figureOpened = false; - HRESULT hr = m_geometrySink->Close(); - wxCHECK_HRESULT_RET(hr); - - m_geometryWritable = false; + if( m_geometryWritable ) + { + HRESULT hr = m_geometrySink->Close(); + wxCHECK_HRESULT_RET(hr); + m_geometryWritable = false; + } } }