diff --git a/Telegram/SourceFiles/boxes/send_files_box.cpp b/Telegram/SourceFiles/boxes/send_files_box.cpp index e7d1f80beb..0a943a3565 100644 --- a/Telegram/SourceFiles/boxes/send_files_box.cpp +++ b/Telegram/SourceFiles/boxes/send_files_box.cpp @@ -280,8 +280,9 @@ void SendFilesBox::enqueueNextPrepare() { } while (!_list.filesToProcess.empty() && _list.filesToProcess.front().information) { - addFile(std::move(_list.filesToProcess.front())); + auto file = std::move(_list.filesToProcess.front()); _list.filesToProcess.pop_front(); + addFile(std::move(file)); } if (_list.filesToProcess.empty()) { return; @@ -638,9 +639,6 @@ void SendFilesBox::setupSendWayControls() { } void SendFilesBox::updateSendWayControlsVisibility() { - if (_sendLimit == SendLimit::One) { - return; - } const auto onlyOne = (_sendLimit == SendLimit::One); _groupFiles->setVisible(_list.hasGroupOption(onlyOne)); _sendImagesAsPhotos->setVisible( @@ -817,10 +815,13 @@ void SendFilesBox::addPreparedAsyncFile(Ui::PreparedFile &&file) { } void SendFilesBox::addFile(Ui::PreparedFile &&file) { + // canBeSentInSlowmode checks for non empty filesToProcess. + auto saved = base::take(_list.filesToProcess); _list.files.push_back(std::move(file)); if (_sendLimit == SendLimit::One && !_list.canBeSentInSlowmode()) { _list.files.pop_back(); } + _list.filesToProcess = std::move(saved); } void SendFilesBox::refreshTitleText() { diff --git a/Telegram/SourceFiles/media/audio/media_audio_capture.cpp b/Telegram/SourceFiles/media/audio/media_audio_capture.cpp index 06df89bb2b..a5965e0d19 100644 --- a/Telegram/SourceFiles/media/audio/media_audio_capture.cpp +++ b/Telegram/SourceFiles/media/audio/media_audio_capture.cpp @@ -63,7 +63,7 @@ private: Fn _error; struct Private; - std::unique_ptr d; + const std::unique_ptr d; base::Timer _timer; QByteArray _captured;