From c985b77a481e80821c0f6de3e02adca1f05191da Mon Sep 17 00:00:00 2001 From: 23rd <23rd@vivaldi.net> Date: Mon, 5 Aug 2024 18:53:24 +0300 Subject: [PATCH] Removed event filter from input field in edit peer info box on close. --- .../boxes/peers/edit_peer_info_box.cpp | 18 +++++++++++------- 1 file changed, 11 insertions(+), 7 deletions(-) diff --git a/Telegram/SourceFiles/boxes/peers/edit_peer_info_box.cpp b/Telegram/SourceFiles/boxes/peers/edit_peer_info_box.cpp index 0ba6354f9..88464ed1c 100644 --- a/Telegram/SourceFiles/boxes/peers/edit_peer_info_box.cpp +++ b/Telegram/SourceFiles/boxes/peers/edit_peer_info_box.cpp @@ -620,13 +620,17 @@ object_ptr Controller::createTitleEdit() { local.x() + emojiToggle->width() * 3); }; - base::install_event_filter(container, [=](not_null event) { - const auto type = event->type(); - if (type == QEvent::Move || type == QEvent::Resize) { - crl::on_main(field, [=] { updateEmojiPanelGeometry(); }); - } - return base::EventFilterResult::Continue; - }); + + field->lifetime().make_state>([&] { + return base::install_event_filter(container, [=]( + not_null event) { + const auto type = event->type(); + if (type == QEvent::Move || type == QEvent::Resize) { + crl::on_main(field, [=] { updateEmojiPanelGeometry(); }); + } + return base::EventFilterResult::Continue; + }); + }()); field->widthValue() | rpl::start_with_next([=](int width) { const auto &p = st::editPeerTitleEmojiPosition;