diff --git a/src/ui/dialog/inkscape-preferences.cpp b/src/ui/dialog/inkscape-preferences.cpp index 3ca4dcdfb5c8df4ba77c6b70a1708712c717fd1e..4b76035e1f89e7d71e7dcd93ca19b1429adbfe6f 100644 --- a/src/ui/dialog/inkscape-preferences.cpp +++ b/src/ui/dialog/inkscape-preferences.cpp @@ -1950,7 +1950,9 @@ void InkscapePreferences::initPageUI() auto path = Inkscape::UI::Toolbar::ToolToolbar::get_tool_visible_button_path(action_name); auto visible = Inkscape::Preferences::get()->getBool(path, true); button->set_active(visible); - button->signal_toggled().connect([=](){ + button->signal_clicked().connect([=](){ + bool new_state = !button->get_active(); + button->set_active(new_state); Inkscape::Preferences::get()->setBool(path, button->get_active()); }); auto *iapp = InkscapeApplication::instance();