We were already avoiding firing timers within non-visible *windows*. This patch extends the mechanism to support timers within non-visible *widgets*.
@@ -1114,4 +1114,9 @@ bool Widget::has_pending_drop() const
return Application::the()->pending_drop_widget() == this;
}
+bool Widget::is_visible_for_timer_purposes() const
+{
+ return is_visible();
+}
+
@@ -108,6 +108,8 @@ public:
set_max_height(height);
+ virtual bool is_visible_for_timer_purposes() const override;
bool has_tooltip() const { return !m_tooltip.is_empty(); }
String tooltip() const { return m_tooltip; }
void set_tooltip(String);