diff --git a/Telegram/SourceFiles/history/view/controls/history_view_voice_record_bar.cpp b/Telegram/SourceFiles/history/view/controls/history_view_voice_record_bar.cpp index 2291b6e4f..4b166c55c 100644 --- a/Telegram/SourceFiles/history/view/controls/history_view_voice_record_bar.cpp +++ b/Telegram/SourceFiles/history/view/controls/history_view_voice_record_bar.cpp @@ -43,7 +43,7 @@ https://github.com/telegramdesktop/tdesktop/blob/master/LEGAL // AyuGram includes #include "ayu/ayu_settings.h" #include "boxes/abstract_box.h" - +#include "window/window_controller.h" namespace HistoryView::Controls { namespace { @@ -1713,7 +1713,7 @@ void VoiceRecordBar::stopRecording(StopType type, bool ttlBeforeHide) { }; auto settings = &AyuSettings::getInstance(); - auto sendVoiceCallback = crl::guard(this, [=, this] + auto sendVoiceCallback = crl::guard(this, [=, this](Fn &&close) { _sendVoiceRequests.fire({ data.bytes, @@ -1721,18 +1721,19 @@ void VoiceRecordBar::stopRecording(StopType type, bool ttlBeforeHide) { duration, options, }); + close(); }); if (settings->voiceConfirmation) { - Ui::show(Ui::MakeConfirmBox( + _show->showBox(Ui::MakeConfirmBox( { .text = tr::ayu_ConfirmationVoice(), - .confirmed = sendVoiceCallback, + .confirmed = std::move(sendVoiceCallback), .confirmText = tr::lng_send_button() })); } else { - sendVoiceCallback(); + sendVoiceCallback([]{}); } } else if (type == StopType::Listen) { _listen = std::make_unique( @@ -1808,7 +1809,7 @@ void VoiceRecordBar::requestToSendWithOptions(Api::SendOptions options) { } auto settings = &AyuSettings::getInstance(); - auto sendVoiceCallback = crl::guard(this, [=, this] + auto sendVoiceCallback = crl::guard(this, [=, this](Fn &&close) { _sendVoiceRequests.fire({ data->bytes, @@ -1816,18 +1817,19 @@ void VoiceRecordBar::requestToSendWithOptions(Api::SendOptions options) { Duration(data->samples), options, }); + close(); }); if (settings->voiceConfirmation) { - Ui::show(Ui::MakeConfirmBox( + _show->showBox(Ui::MakeConfirmBox( { .text = tr::ayu_ConfirmationVoice(), - .confirmed = sendVoiceCallback, + .confirmed = std::move(sendVoiceCallback), .confirmText = tr::lng_send_button() })); } else { - sendVoiceCallback(); + sendVoiceCallback([]{}); } } }