diff --git a/Telegram/SourceFiles/boxes/peers/edit_peer_permissions_box.cpp b/Telegram/SourceFiles/boxes/peers/edit_peer_permissions_box.cpp index 7f682b1c5..884793059 100644 --- a/Telegram/SourceFiles/boxes/peers/edit_peer_permissions_box.cpp +++ b/Telegram/SourceFiles/boxes/peers/edit_peer_permissions_box.cpp @@ -224,8 +224,15 @@ not_null SendMediaToggle( toggleButton->setToggleLocked(locked.has_value()); struct State final { Ui::Animations::Simple animation; + rpl::lifetime finishAnimatingLifetime; }; const auto state = button->lifetime().make_state(); + rpl::duplicate( + checkedValue + ) | rpl::start_with_next([=] { + button->finishAnimating(); + toggleButton->finishAnimating(); + }, state->finishAnimatingLifetime); const auto label = Ui::CreateChild( button, rpl::combine( @@ -303,6 +310,7 @@ not_null SendMediaToggle( ) | rpl::start_with_next([=] { if (!handleLocked()) { toggleMedia(!button->toggled()); + state->finishAnimatingLifetime.destroy(); } }, toggleButton->lifetime()); @@ -969,9 +977,7 @@ EditFlagsControl CreateEditRestrictions( auto wrap = object_ptr>( container, object_ptr(container)); - if (locked.has_value()) { - wrap->hide(anim::type::instant); - } + wrap->hide(anim::type::instant); SendMediaToggle( container, state->restrictions.events_starting_with( diff --git a/Telegram/lib_ui b/Telegram/lib_ui index a5020ac5b..5535a3fe5 160000 --- a/Telegram/lib_ui +++ b/Telegram/lib_ui @@ -1 +1 @@ -Subproject commit a5020ac5bc2752319c10a9749fc973d9fb58c710 +Subproject commit 5535a3fe5720272015dea2ff608bb759634ba7e5