From baba63542da9cbcbda01a52105c3628c5272937c Mon Sep 17 00:00:00 2001 From: Laszlo Nemeth <57342539+donlaci@users.noreply.github.com> Date: Thu, 28 Mar 2024 16:10:39 +0100 Subject: [PATCH] [FEThumbnails]Add cleanup code to avoid locking files (#32108) --- .../GcodeThumbnailProviderCpp/GcodeThumbnailProvider.cpp | 6 ++++++ .../PdfThumbnailProviderCpp/PdfThumbnailProvider.cpp | 7 +++++++ .../QoiThumbnailProviderCpp/QoiThumbnailProvider.cpp | 6 ++++++ .../StlThumbnailProviderCpp/StlThumbnailProvider.cpp | 7 +++++++ .../SvgThumbnailProviderCpp/SvgThumbnailProvider.cpp | 7 +++++++ 5 files changed, 33 insertions(+) diff --git a/src/modules/previewpane/GcodeThumbnailProviderCpp/GcodeThumbnailProvider.cpp b/src/modules/previewpane/GcodeThumbnailProviderCpp/GcodeThumbnailProvider.cpp index 89dcbdd986..977557d12d 100644 --- a/src/modules/previewpane/GcodeThumbnailProviderCpp/GcodeThumbnailProvider.cpp +++ b/src/modules/previewpane/GcodeThumbnailProviderCpp/GcodeThumbnailProvider.cpp @@ -183,6 +183,12 @@ IFACEMETHODIMP GcodeThumbnailProvider::GetThumbnail(UINT cx, HBITMAP* phbmp, WTS } } + // ensure releasing the stream (not all if branches contain it) + if (m_pStream) + { + m_pStream->Release(); + m_pStream = NULL; + } return S_OK; } diff --git a/src/modules/previewpane/PdfThumbnailProviderCpp/PdfThumbnailProvider.cpp b/src/modules/previewpane/PdfThumbnailProviderCpp/PdfThumbnailProvider.cpp index a636715f61..97ee3ba796 100644 --- a/src/modules/previewpane/PdfThumbnailProviderCpp/PdfThumbnailProvider.cpp +++ b/src/modules/previewpane/PdfThumbnailProviderCpp/PdfThumbnailProvider.cpp @@ -182,6 +182,13 @@ IFACEMETHODIMP PdfThumbnailProvider::GetThumbnail(UINT cx, HBITMAP* phbmp, WTS_A } } + // ensure releasing the stream (not all if branches contain it) + if (m_pStream) + { + m_pStream->Release(); + m_pStream = NULL; + } + return S_OK; } diff --git a/src/modules/previewpane/QoiThumbnailProviderCpp/QoiThumbnailProvider.cpp b/src/modules/previewpane/QoiThumbnailProviderCpp/QoiThumbnailProvider.cpp index 50781f5d29..9984e6755e 100644 --- a/src/modules/previewpane/QoiThumbnailProviderCpp/QoiThumbnailProvider.cpp +++ b/src/modules/previewpane/QoiThumbnailProviderCpp/QoiThumbnailProvider.cpp @@ -183,6 +183,12 @@ IFACEMETHODIMP QoiThumbnailProvider::GetThumbnail(UINT cx, HBITMAP* phbmp, WTS_A } } + // ensure releasing the stream (not all if branches contain it) + if (m_pStream) + { + m_pStream->Release(); + m_pStream = NULL; + } return S_OK; } diff --git a/src/modules/previewpane/StlThumbnailProviderCpp/StlThumbnailProvider.cpp b/src/modules/previewpane/StlThumbnailProviderCpp/StlThumbnailProvider.cpp index c06f7b9d03..bb055bea7d 100644 --- a/src/modules/previewpane/StlThumbnailProviderCpp/StlThumbnailProvider.cpp +++ b/src/modules/previewpane/StlThumbnailProviderCpp/StlThumbnailProvider.cpp @@ -181,6 +181,13 @@ IFACEMETHODIMP StlThumbnailProvider::GetThumbnail(UINT cx, HBITMAP* phbmp, WTS_A } } + // ensure releasing the stream (not all if branches contain it) + if (m_pStream) + { + m_pStream->Release(); + m_pStream = NULL; + } + return S_OK; } diff --git a/src/modules/previewpane/SvgThumbnailProviderCpp/SvgThumbnailProvider.cpp b/src/modules/previewpane/SvgThumbnailProviderCpp/SvgThumbnailProvider.cpp index 139fe99c22..5bd80e6252 100644 --- a/src/modules/previewpane/SvgThumbnailProviderCpp/SvgThumbnailProvider.cpp +++ b/src/modules/previewpane/SvgThumbnailProviderCpp/SvgThumbnailProvider.cpp @@ -182,6 +182,13 @@ IFACEMETHODIMP SvgThumbnailProvider::GetThumbnail(UINT cx, HBITMAP* phbmp, WTS_A } } + // ensure releasing the stream (not all if branches contain it) + if (m_pStream) + { + m_pStream->Release(); + m_pStream = NULL; + } + return S_OK; }