diff --git a/src/gui/widgets/panel-bar.cpp b/src/gui/widgets/panel-bar.cpp index 777b2a149..76f33c239 100644 --- a/src/gui/widgets/panel-bar.cpp +++ b/src/gui/widgets/panel-bar.cpp @@ -150,10 +150,20 @@ PanelBar::on_hide() void PanelBar::on_lock() { + static bool is_locking = false; + REQUIRE(lockItem); - const bool lock = !panel.is_locked(); - panel.lock(lock); - lockItem->set_active(lock); + + if(!is_locking) + { + is_locking = true; + + const bool lock = !panel.is_locked(); + panel.lock(lock); + lockItem->set_active(lock); + + is_locking = false; + } } } // widgets