From 90b9c1a827c997f8d6b1c13268ce95e811c1f3bb Mon Sep 17 00:00:00 2001 From: ffsup2 Date: Fri, 13 May 2011 23:19:07 +0200 Subject: [PATCH] bugfix for issue #569: thumbs disappear when +/- button is pressed An implementation for redrawNeed() was lacking in the derived class BatchQueue: when updateImage called it there was no effect. --- rtgui/filebrowser.cc | 10 ---------- rtgui/filebrowser.h | 1 - rtgui/thumbbrowserbase.cc | 9 +++++++++ rtgui/thumbbrowserbase.h | 2 +- 4 files changed, 10 insertions(+), 12 deletions(-) diff --git a/rtgui/filebrowser.cc b/rtgui/filebrowser.cc index 853e2b0de..7055f23b7 100644 --- a/rtgui/filebrowser.cc +++ b/rtgui/filebrowser.cc @@ -639,16 +639,6 @@ void FileBrowser::notifySelectionListener () { } } -void FileBrowser::redrawNeeded (ThumbBrowserEntryBase* entry) { - - if (entry->insideWindow (0, 0, internal.get_width(), internal.get_height())) { - if (!internal.isDirty ()) { - internal.setDirty (); - internal.queue_draw (); - } - } -} - void FileBrowser::redrawNeeded (LWButton* button) { queue_draw (); diff --git a/rtgui/filebrowser.h b/rtgui/filebrowser.h index 00d12944b..87e582902 100644 --- a/rtgui/filebrowser.h +++ b/rtgui/filebrowser.h @@ -116,7 +116,6 @@ class FileBrowser : public ThumbBrowserBase, public LWButtonListener { void openDefaultViewer (int destination); - void redrawNeeded (ThumbBrowserEntryBase* entry); void thumbRearrangementNeeded (); void _thumbRearrangementNeeded (); diff --git a/rtgui/thumbbrowserbase.cc b/rtgui/thumbbrowserbase.cc index 3e1fda692..70dcc05a8 100644 --- a/rtgui/thumbbrowserbase.cc +++ b/rtgui/thumbbrowserbase.cc @@ -566,5 +566,14 @@ int ThumbBrowserBase::getEffectiveHeight() { return h; } +void ThumbBrowserBase::redrawNeeded (ThumbBrowserEntryBase* entry) { + + if (entry->insideWindow (0, 0, internal.get_width(), internal.get_height())) { + if (!internal.isDirty ()) { + internal.setDirty (); + internal.queue_draw (); + } + } +} diff --git a/rtgui/thumbbrowserbase.h b/rtgui/thumbbrowserbase.h index 60b1f24ce..302e02457 100644 --- a/rtgui/thumbbrowserbase.h +++ b/rtgui/thumbbrowserbase.h @@ -116,7 +116,7 @@ class ThumbBrowserBase : public Gtk::VBox { virtual bool keyPressed (GdkEventKey* event) {return true;} virtual void selectionChanged () {} - virtual void redrawNeeded (ThumbBrowserEntryBase* entry) {} + virtual void redrawNeeded (ThumbBrowserEntryBase* entry); virtual void thumbRearrangementNeeded () {} Gtk::Widget* getDrawingArea () { return &internal; }