mirror of
https://gitlab.linphone.org/BC/public/linphone-desktop.git
synced 2026-01-17 11:28:07 +00:00
fix message content download crash
This commit is contained in:
parent
e224f24e92
commit
d957fae94e
5 changed files with 74 additions and 50 deletions
|
|
@ -97,16 +97,16 @@ void ChatMessageContentCore::setSelf(QSharedPointer<ChatMessageContentCore> me)
|
|||
|
||||
mChatMessageContentModelConnection->makeConnectToCore(&ChatMessageContentCore::lDownloadFile, [this]() {
|
||||
mChatMessageContentModelConnection->invokeToModel([this] {
|
||||
QString error;
|
||||
bool downloaded = mChatMessageContentModel->downloadFile(mName, &error);
|
||||
QString *error = new QString();
|
||||
bool downloaded = mChatMessageContentModel->downloadFile(mName, error);
|
||||
if (!downloaded) {
|
||||
mChatMessageContentModelConnection->invokeToCore([this, &error] {
|
||||
QString message = error;
|
||||
mChatMessageContentModelConnection->invokeToCore([this, error] {
|
||||
//: Error downloading file %1
|
||||
if (error.isEmpty()) error = tr("download_file_default_error").arg(mName);
|
||||
Utils::showInformationPopup(tr("info_popup_error_titile"), message, false);
|
||||
if (error->isEmpty()) *error = tr("download_file_default_error").arg(mName);
|
||||
Utils::showInformationPopup(tr("info_popup_error_titile"), *error, false);
|
||||
delete error;
|
||||
});
|
||||
}
|
||||
} else delete error;
|
||||
});
|
||||
});
|
||||
mChatMessageContentModelConnection->makeConnectToModel(
|
||||
|
|
|
|||
|
|
@ -2240,24 +2240,24 @@
|
|||
<context>
|
||||
<name>ChatMessageContentCore</name>
|
||||
<message>
|
||||
<location filename="../../core/chat/message/content/ChatMessageContentCore.cpp" line="106"/>
|
||||
<location filename="../../core/chat/message/content/ChatMessageContentCore.cpp" line="107"/>
|
||||
<source>download_file_default_error</source>
|
||||
<extracomment>Error downloading file %1</extracomment>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../core/chat/message/content/ChatMessageContentCore.cpp" line="107"/>
|
||||
<location filename="../../core/chat/message/content/ChatMessageContentCore.cpp" line="108"/>
|
||||
<source>info_popup_error_titile</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../core/chat/message/content/ChatMessageContentCore.cpp" line="138"/>
|
||||
<location filename="../../core/chat/message/content/ChatMessageContentCore.cpp" line="140"/>
|
||||
<source>popup_error_title</source>
|
||||
<extracomment>Error</extracomment>
|
||||
<translation>Fehler</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../core/chat/message/content/ChatMessageContentCore.cpp" line="140"/>
|
||||
<location filename="../../core/chat/message/content/ChatMessageContentCore.cpp" line="142"/>
|
||||
<source>popup_open_file_error_does_not_exist_message</source>
|
||||
<extracomment>Could not open file : unknown path %1</extracomment>
|
||||
<translation type="unfinished"></translation>
|
||||
|
|
@ -2329,8 +2329,8 @@ Error</extracomment>
|
|||
</message>
|
||||
<message>
|
||||
<location filename="../../model/chat/message/content/ChatMessageContentModel.cpp" line="95"/>
|
||||
<source>download_file_error_wrong_state</source>
|
||||
<extracomment>Wrong message state when requesting downloading, state = %1</extracomment>
|
||||
<source>download_file_server_error</source>
|
||||
<extracomment>Error while trying to download content : %1</extracomment>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
|
|
@ -2346,7 +2346,13 @@ Error</extracomment>
|
|||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../model/chat/message/content/ChatMessageContentModel.cpp" line="121"/>
|
||||
<location filename="../../model/chat/message/content/ChatMessageContentModel.cpp" line="119"/>
|
||||
<source>download_file_error_null_name</source>
|
||||
<extracomment>Content name is null, can't download it !</extracomment>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../model/chat/message/content/ChatMessageContentModel.cpp" line="127"/>
|
||||
<source>download_file_error_unable_to_download</source>
|
||||
<extracomment>Unable to download file of entry %1</extracomment>
|
||||
<translation type="unfinished"></translation>
|
||||
|
|
@ -5646,28 +5652,28 @@ Pour les activer dans un projet commercial, merci de nous contacter.</source>
|
|||
<translation>Erweiterte Einstellungen</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../view/Page/Form/Login/SIPLoginPage.qml" line="415"/>
|
||||
<location filename="../../view/Page/Form/Login/SIPLoginPage.qml" line="422"/>
|
||||
<location filename="../../view/Page/Form/Login/SIPLoginPage.qml" line="416"/>
|
||||
<location filename="../../view/Page/Form/Login/SIPLoginPage.qml" line="423"/>
|
||||
<source>login_proxy_server_url</source>
|
||||
<extracomment>"Outbound SIP Proxy URI"</extracomment>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../view/Page/Form/Login/SIPLoginPage.qml" line="417"/>
|
||||
<location filename="../../view/Page/Form/Login/SIPLoginPage.qml" line="418"/>
|
||||
<source>login_proxy_server_url_tooltip</source>
|
||||
<extracomment>"If this field is filled, the outbound proxy will be enabled automatically. Leave it empty to disable it."</extracomment>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../view/Page/Form/Login/SIPLoginPage.qml" line="402"/>
|
||||
<location filename="../../view/Page/Form/Login/SIPLoginPage.qml" line="407"/>
|
||||
<location filename="../../view/Page/Form/Login/SIPLoginPage.qml" line="403"/>
|
||||
<location filename="../../view/Page/Form/Login/SIPLoginPage.qml" line="408"/>
|
||||
<source>login_registrar_uri</source>
|
||||
<extracomment>"Registrar URI"</extracomment>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../view/Page/Form/Login/SIPLoginPage.qml" line="390"/>
|
||||
<location filename="../../view/Page/Form/Login/SIPLoginPage.qml" line="396"/>
|
||||
<location filename="../../view/Page/Form/Login/SIPLoginPage.qml" line="395"/>
|
||||
<source>login_id</source>
|
||||
<extracomment>"Authentication ID (if different)"</extracomment>
|
||||
<translation type="unfinished"></translation>
|
||||
|
|
|
|||
|
|
@ -2217,24 +2217,24 @@
|
|||
<context>
|
||||
<name>ChatMessageContentCore</name>
|
||||
<message>
|
||||
<location filename="../../core/chat/message/content/ChatMessageContentCore.cpp" line="106"/>
|
||||
<location filename="../../core/chat/message/content/ChatMessageContentCore.cpp" line="107"/>
|
||||
<source>download_file_default_error</source>
|
||||
<extracomment>Error downloading file %1</extracomment>
|
||||
<translation>Error downloading file %1</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../core/chat/message/content/ChatMessageContentCore.cpp" line="107"/>
|
||||
<location filename="../../core/chat/message/content/ChatMessageContentCore.cpp" line="108"/>
|
||||
<source>info_popup_error_titile</source>
|
||||
<translation>Error</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../core/chat/message/content/ChatMessageContentCore.cpp" line="138"/>
|
||||
<location filename="../../core/chat/message/content/ChatMessageContentCore.cpp" line="140"/>
|
||||
<source>popup_error_title</source>
|
||||
<extracomment>Error</extracomment>
|
||||
<translation>Error</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../core/chat/message/content/ChatMessageContentCore.cpp" line="140"/>
|
||||
<location filename="../../core/chat/message/content/ChatMessageContentCore.cpp" line="142"/>
|
||||
<source>popup_open_file_error_does_not_exist_message</source>
|
||||
<extracomment>Could not open file : unknown path %1</extracomment>
|
||||
<translation>Could not open file : unknown path %1</translation>
|
||||
|
|
@ -2301,9 +2301,9 @@ Error</extracomment>
|
|||
</message>
|
||||
<message>
|
||||
<location filename="../../model/chat/message/content/ChatMessageContentModel.cpp" line="95"/>
|
||||
<source>download_file_error_wrong_state</source>
|
||||
<extracomment>Wrong message state when requesting downloading, state = %1</extracomment>
|
||||
<translation>Wrong message state when requesting downloading, state = %1</translation>
|
||||
<source>download_file_server_error</source>
|
||||
<extracomment>Error while trying to download content : %1</extracomment>
|
||||
<translation>Error while trying to download content : %1</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../model/chat/message/content/ChatMessageContentModel.cpp" line="105"/>
|
||||
|
|
@ -2318,7 +2318,13 @@ Error</extracomment>
|
|||
<translation>This file was already downloaded and is no more on the server. Your peer have to resend it if you want to get it</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../model/chat/message/content/ChatMessageContentModel.cpp" line="121"/>
|
||||
<location filename="../../model/chat/message/content/ChatMessageContentModel.cpp" line="119"/>
|
||||
<source>download_file_error_null_name</source>
|
||||
<extracomment>Content name is null, can't download it !</extracomment>
|
||||
<translation>Content name is null, can't download it !</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../model/chat/message/content/ChatMessageContentModel.cpp" line="127"/>
|
||||
<source>download_file_error_unable_to_download</source>
|
||||
<extracomment>Unable to download file of entry %1</extracomment>
|
||||
<translation>Unable to download file of entry %1</translation>
|
||||
|
|
@ -5541,28 +5547,28 @@ To enable them in a commercial project, please contact us.</translation>
|
|||
<translation>Advanced parameters</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../view/Page/Form/Login/SIPLoginPage.qml" line="415"/>
|
||||
<location filename="../../view/Page/Form/Login/SIPLoginPage.qml" line="422"/>
|
||||
<location filename="../../view/Page/Form/Login/SIPLoginPage.qml" line="416"/>
|
||||
<location filename="../../view/Page/Form/Login/SIPLoginPage.qml" line="423"/>
|
||||
<source>login_proxy_server_url</source>
|
||||
<extracomment>"Outbound SIP Proxy URI"</extracomment>
|
||||
<translation>Outbound SIP Proxy URI</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../view/Page/Form/Login/SIPLoginPage.qml" line="417"/>
|
||||
<location filename="../../view/Page/Form/Login/SIPLoginPage.qml" line="418"/>
|
||||
<source>login_proxy_server_url_tooltip</source>
|
||||
<extracomment>"If this field is filled, the outbound proxy will be enabled automatically. Leave it empty to disable it."</extracomment>
|
||||
<translation>If this field is filled, the outbound proxy will be enabled automatically. Leave it empty to disable it.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../view/Page/Form/Login/SIPLoginPage.qml" line="402"/>
|
||||
<location filename="../../view/Page/Form/Login/SIPLoginPage.qml" line="407"/>
|
||||
<location filename="../../view/Page/Form/Login/SIPLoginPage.qml" line="403"/>
|
||||
<location filename="../../view/Page/Form/Login/SIPLoginPage.qml" line="408"/>
|
||||
<source>login_registrar_uri</source>
|
||||
<extracomment>"Registrar URI"</extracomment>
|
||||
<translation>Registrar URI</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../view/Page/Form/Login/SIPLoginPage.qml" line="390"/>
|
||||
<location filename="../../view/Page/Form/Login/SIPLoginPage.qml" line="396"/>
|
||||
<location filename="../../view/Page/Form/Login/SIPLoginPage.qml" line="395"/>
|
||||
<source>login_id</source>
|
||||
<extracomment>"Authentication ID (if different)"</extracomment>
|
||||
<translation>Authentication ID (if different)</translation>
|
||||
|
|
|
|||
|
|
@ -2217,24 +2217,24 @@
|
|||
<context>
|
||||
<name>ChatMessageContentCore</name>
|
||||
<message>
|
||||
<location filename="../../core/chat/message/content/ChatMessageContentCore.cpp" line="106"/>
|
||||
<location filename="../../core/chat/message/content/ChatMessageContentCore.cpp" line="107"/>
|
||||
<source>download_file_default_error</source>
|
||||
<extracomment>Error downloading file %1</extracomment>
|
||||
<translation>Erreur de téléchargement du fichier %1</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../core/chat/message/content/ChatMessageContentCore.cpp" line="107"/>
|
||||
<location filename="../../core/chat/message/content/ChatMessageContentCore.cpp" line="108"/>
|
||||
<source>info_popup_error_titile</source>
|
||||
<translation>Erreur</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../core/chat/message/content/ChatMessageContentCore.cpp" line="138"/>
|
||||
<location filename="../../core/chat/message/content/ChatMessageContentCore.cpp" line="140"/>
|
||||
<source>popup_error_title</source>
|
||||
<extracomment>Error</extracomment>
|
||||
<translation>Erreur</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../core/chat/message/content/ChatMessageContentCore.cpp" line="140"/>
|
||||
<location filename="../../core/chat/message/content/ChatMessageContentCore.cpp" line="142"/>
|
||||
<source>popup_open_file_error_does_not_exist_message</source>
|
||||
<extracomment>Could not open file : unknown path %1</extracomment>
|
||||
<translation>Impossible d'ouvrir le fichier : chemin inconnu (%1)</translation>
|
||||
|
|
@ -2301,9 +2301,9 @@ Error</extracomment>
|
|||
</message>
|
||||
<message>
|
||||
<location filename="../../model/chat/message/content/ChatMessageContentModel.cpp" line="95"/>
|
||||
<source>download_file_error_wrong_state</source>
|
||||
<extracomment>Wrong message state when requesting downloading, state = %1</extracomment>
|
||||
<translation>Erreur dans l'état du message lors de la requête de téléchargement (state = %1)</translation>
|
||||
<source>download_file_server_error</source>
|
||||
<extracomment>Error while trying to download content : %1</extracomment>
|
||||
<translation>Erreur en tentant de télécharger le contenu : %1</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../model/chat/message/content/ChatMessageContentModel.cpp" line="105"/>
|
||||
|
|
@ -2318,7 +2318,13 @@ Error</extracomment>
|
|||
<translation>Le fichier a déjà été téléchargé et n'est plus disponible sur le serveur. Votre correspondant devra vous le renvoyez si vous souhaitez l'obtenir</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../model/chat/message/content/ChatMessageContentModel.cpp" line="121"/>
|
||||
<location filename="../../model/chat/message/content/ChatMessageContentModel.cpp" line="119"/>
|
||||
<source>download_file_error_null_name</source>
|
||||
<extracomment>Content name is null, can't download it !</extracomment>
|
||||
<translation>Le nom du contenu est nul, impossible de le télécharger !</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../model/chat/message/content/ChatMessageContentModel.cpp" line="127"/>
|
||||
<source>download_file_error_unable_to_download</source>
|
||||
<extracomment>Unable to download file of entry %1</extracomment>
|
||||
<translation>Impossible de télécharger le fichier : %1</translation>
|
||||
|
|
@ -5541,28 +5547,28 @@ Pour les activer dans un projet commercial, merci de nous contacter.</translatio
|
|||
<translation>Paramètres avancés</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../view/Page/Form/Login/SIPLoginPage.qml" line="415"/>
|
||||
<location filename="../../view/Page/Form/Login/SIPLoginPage.qml" line="422"/>
|
||||
<location filename="../../view/Page/Form/Login/SIPLoginPage.qml" line="416"/>
|
||||
<location filename="../../view/Page/Form/Login/SIPLoginPage.qml" line="423"/>
|
||||
<source>login_proxy_server_url</source>
|
||||
<extracomment>"Outbound SIP Proxy URI"</extracomment>
|
||||
<translation>URI du proxy SIP sortant</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../view/Page/Form/Login/SIPLoginPage.qml" line="417"/>
|
||||
<location filename="../../view/Page/Form/Login/SIPLoginPage.qml" line="418"/>
|
||||
<source>login_proxy_server_url_tooltip</source>
|
||||
<extracomment>"If this field is filled, the outbound proxy will be enabled automatically. Leave it empty to disable it."</extracomment>
|
||||
<translation>Si ce champ est rempli, l’outbound proxy sera activé automatiquement. Laissez-le vide pour le désactiver.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../view/Page/Form/Login/SIPLoginPage.qml" line="402"/>
|
||||
<location filename="../../view/Page/Form/Login/SIPLoginPage.qml" line="407"/>
|
||||
<location filename="../../view/Page/Form/Login/SIPLoginPage.qml" line="403"/>
|
||||
<location filename="../../view/Page/Form/Login/SIPLoginPage.qml" line="408"/>
|
||||
<source>login_registrar_uri</source>
|
||||
<extracomment>"Registrar URI"</extracomment>
|
||||
<translation>Registrar URI</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../view/Page/Form/Login/SIPLoginPage.qml" line="390"/>
|
||||
<location filename="../../view/Page/Form/Login/SIPLoginPage.qml" line="396"/>
|
||||
<location filename="../../view/Page/Form/Login/SIPLoginPage.qml" line="395"/>
|
||||
<source>login_id</source>
|
||||
<extracomment>"Authentication ID (if different)"</extracomment>
|
||||
<translation>Identifiant de connexion (si différent)</translation>
|
||||
|
|
|
|||
|
|
@ -91,8 +91,8 @@ bool ChatMessageContentModel::downloadFile(const QString &name, QString *error)
|
|||
default:
|
||||
auto state = LinphoneEnums::fromLinphone(mChatMessageModel->getState());
|
||||
lWarning() << QStringLiteral("Wrong message state when requesting downloading, state=") << state;
|
||||
//: Wrong message state when requesting downloading, state = %1
|
||||
if (error) *error = tr("download_file_error_wrong_state").arg(LinphoneEnums::toString(state));
|
||||
//: Error while trying to download content : %1
|
||||
if (error) *error = tr("download_file_server_error").arg(LinphoneEnums::toString(state));
|
||||
return false;
|
||||
}
|
||||
bool soFarSoGood;
|
||||
|
|
@ -113,7 +113,13 @@ bool ChatMessageContentModel::downloadFile(const QString &name, QString *error)
|
|||
//: to get it
|
||||
if (error) *error = tr("download_file_error_file_transfer_unavailable");
|
||||
return false;
|
||||
} else if (mContent->getName().empty()) {
|
||||
lWarning() << QStringLiteral("content name is null, can't download it !");
|
||||
//: Content name is null, can't download it !
|
||||
if (error) *error = tr("download_file_error_null_name");
|
||||
return false;
|
||||
} else {
|
||||
lDebug() << log().arg("download file : %1").arg(name);
|
||||
auto downloaded = mChatMessageModel->getMonitor()->downloadContent(mContent);
|
||||
if (!downloaded && error) {
|
||||
lWarning() << QStringLiteral("Unable to download file of entry %1.").arg(name);
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue