diff --git a/firmware/common/ui_widget.cpp b/firmware/common/ui_widget.cpp index bc1883603..0ee1ac087 100644 --- a/firmware/common/ui_widget.cpp +++ b/firmware/common/ui_widget.cpp @@ -241,11 +241,8 @@ void View::add_children(const std::vector& children) { void View::remove_child(Widget* const widget) { if( widget ) { children_.erase(std::remove(children_.begin(), children_.end(), widget), children_.end()); - dirty_screen_rect += widget->screen_rect(); + dirty_overlapping_children_in_rect(widget->screen_rect()); widget->set_parent(nullptr); - if( dirty_screen_rect ) { - set_dirty(); - } } }