diff --git a/rtgui/thumbbrowserentrybase.cc b/rtgui/thumbbrowserentrybase.cc index 913ee120f..5f928a737 100644 --- a/rtgui/thumbbrowserentrybase.cc +++ b/rtgui/thumbbrowserentrybase.cc @@ -64,7 +64,13 @@ void ThumbBrowserEntryBase::updateBackBuffer () return; } - backBuffer = Glib::RefPtr ( new BackBuffer (exp_width, exp_height, win) ); + if (backBuffer && (backBuffer->getWidth() != exp_width || backBuffer->getHeight() != exp_height )) { + // deleting the existing BackBuffer + backBuffer.reset(); + } + if (!backBuffer) { + backBuffer = Glib::RefPtr ( new BackBuffer (exp_width, exp_height, win) ); + } // If thumbnail is hidden by a filter, drawing to it will crash // if either with or height is zero then return early