From c71fab4febed0dbd7b5b82edb9955f969eb49d6f Mon Sep 17 00:00:00 2001 From: Oliver Duis Date: Mon, 25 Jun 2012 16:45:07 +0200 Subject: [PATCH] Improved Batch Queue stability see 1383 --- rtgui/thumbbrowserbase.cc | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/rtgui/thumbbrowserbase.cc b/rtgui/thumbbrowserbase.cc index 5c36ce330..fa8d5f7d1 100644 --- a/rtgui/thumbbrowserbase.cc +++ b/rtgui/thumbbrowserbase.cc @@ -412,6 +412,10 @@ void ThumbBrowserBase::buttonPressed (int x, int y, int button, GdkEventType typ } bool ThumbBrowserBase::Internal::on_expose_event(GdkEventExpose* event) { + // TODO: Check for Linux + #ifdef WIN32 + Glib::RWLock::ReaderLock l(parent->entryRW); + #endif dirty = false; @@ -424,7 +428,7 @@ bool ThumbBrowserBase::Internal::on_expose_event(GdkEventExpose* event) { // draw thumbnails Glib::RefPtr context = get_pango_context (); context->set_font_description (get_style()->get_font()); - for (size_t i=0; ifd.size(); i++) { + for (size_t i=0; ifd.size() && !dirty; i++) { // if dirty meanwhile, cancel and wait for next redraw if (!parent->fd[i]->drawable || !parent->fd[i]->insideWindow (0, 0, w, h)) parent->fd[i]->updatepriority = false; else {