Stop download too if dismiss dialog
This can happen if other place calls dismiss dialog For example screen pushing by network protocols
This commit is contained in:
parent
a45d4fe9f2
commit
0728722f37
@ -79,6 +79,7 @@ AddonsLoading::AddonsLoading(const std::string &id)
|
|||||||
*/
|
*/
|
||||||
AddonsLoading::~AddonsLoading()
|
AddonsLoading::~AddonsLoading()
|
||||||
{
|
{
|
||||||
|
stopDownload();
|
||||||
// Select the last selected item in the addons_screen, so that
|
// Select the last selected item in the addons_screen, so that
|
||||||
// users can keep on installing from the last selected item.
|
// users can keep on installing from the last selected item.
|
||||||
// This dialog can be called in network lobby screen atm for live addon
|
// This dialog can be called in network lobby screen atm for live addon
|
||||||
@ -191,7 +192,6 @@ void AddonsLoading::init()
|
|||||||
// ----------------------------------------------------------------------------
|
// ----------------------------------------------------------------------------
|
||||||
bool AddonsLoading::onEscapePressed()
|
bool AddonsLoading::onEscapePressed()
|
||||||
{
|
{
|
||||||
stopDownload();
|
|
||||||
ModalDialog::dismiss();
|
ModalDialog::dismiss();
|
||||||
return true;
|
return true;
|
||||||
} // onEscapePressed
|
} // onEscapePressed
|
||||||
@ -229,7 +229,6 @@ GUIEngine::EventPropagation AddonsLoading::processEvent(const std::string& event
|
|||||||
|
|
||||||
if(selection == "back")
|
if(selection == "back")
|
||||||
{
|
{
|
||||||
stopDownload();
|
|
||||||
dismiss();
|
dismiss();
|
||||||
return GUIEngine::EVENT_BLOCK;
|
return GUIEngine::EVENT_BLOCK;
|
||||||
}
|
}
|
||||||
@ -345,7 +344,7 @@ void AddonsLoading::stopDownload()
|
|||||||
{
|
{
|
||||||
m_download_request->cancel();
|
m_download_request->cancel();
|
||||||
m_download_request = nullptr;
|
m_download_request = nullptr;
|
||||||
};
|
}
|
||||||
} // startDownload
|
} // startDownload
|
||||||
|
|
||||||
|
|
||||||
|
@ -116,6 +116,12 @@ AddonsPack::AddonsPack(const std::string& url) : ModalDialog(0.8f, 0.8f)
|
|||||||
m_download_request->queue();
|
m_download_request->queue();
|
||||||
} // AddonsPack
|
} // AddonsPack
|
||||||
|
|
||||||
|
// ----------------------------------------------------------------------------
|
||||||
|
AddonsPack::~AddonsPack()
|
||||||
|
{
|
||||||
|
stopDownload();
|
||||||
|
} // ~AddonsPack
|
||||||
|
|
||||||
// ----------------------------------------------------------------------------
|
// ----------------------------------------------------------------------------
|
||||||
void AddonsPack::beforeAddingWidgets()
|
void AddonsPack::beforeAddingWidgets()
|
||||||
{
|
{
|
||||||
@ -131,7 +137,6 @@ void AddonsPack::init()
|
|||||||
// ----------------------------------------------------------------------------
|
// ----------------------------------------------------------------------------
|
||||||
bool AddonsPack::onEscapePressed()
|
bool AddonsPack::onEscapePressed()
|
||||||
{
|
{
|
||||||
stopDownload();
|
|
||||||
ModalDialog::dismiss();
|
ModalDialog::dismiss();
|
||||||
return true;
|
return true;
|
||||||
} // onEscapePressed
|
} // onEscapePressed
|
||||||
@ -148,7 +153,6 @@ GUIEngine::EventPropagation AddonsPack::processEvent(const std::string& event_so
|
|||||||
actions_ribbon->getSelectionIDString(PLAYER_ID_GAME_MASTER);
|
actions_ribbon->getSelectionIDString(PLAYER_ID_GAME_MASTER);
|
||||||
if (selection == "back")
|
if (selection == "back")
|
||||||
{
|
{
|
||||||
stopDownload();
|
|
||||||
dismiss();
|
dismiss();
|
||||||
return GUIEngine::EVENT_BLOCK;
|
return GUIEngine::EVENT_BLOCK;
|
||||||
}
|
}
|
||||||
|
@ -41,6 +41,7 @@ private:
|
|||||||
* to the progress of a download. */
|
* to the progress of a download. */
|
||||||
std::shared_ptr<AddonsPackRequest> m_download_request;
|
std::shared_ptr<AddonsPackRequest> m_download_request;
|
||||||
AddonsPack(const std::string& url);
|
AddonsPack(const std::string& url);
|
||||||
|
~AddonsPack();
|
||||||
public:
|
public:
|
||||||
virtual GUIEngine::EventPropagation processEvent(const std::string& event_source) OVERRIDE;
|
virtual GUIEngine::EventPropagation processEvent(const std::string& event_source) OVERRIDE;
|
||||||
virtual void beforeAddingWidgets() OVERRIDE;
|
virtual void beforeAddingWidgets() OVERRIDE;
|
||||||
|
@ -110,6 +110,12 @@ DownloadAssets::DownloadAssets()
|
|||||||
getWidget<BubbleWidget>("description")->setText(msg);
|
getWidget<BubbleWidget>("description")->setText(msg);
|
||||||
} // DownloadAssets
|
} // DownloadAssets
|
||||||
|
|
||||||
|
// ----------------------------------------------------------------------------
|
||||||
|
DownloadAssets::~DownloadAssets()
|
||||||
|
{
|
||||||
|
stopDownload();
|
||||||
|
} // ~DownloadAssets
|
||||||
|
|
||||||
// ----------------------------------------------------------------------------
|
// ----------------------------------------------------------------------------
|
||||||
void DownloadAssets::beforeAddingWidgets()
|
void DownloadAssets::beforeAddingWidgets()
|
||||||
{
|
{
|
||||||
@ -125,7 +131,6 @@ void DownloadAssets::init()
|
|||||||
// ----------------------------------------------------------------------------
|
// ----------------------------------------------------------------------------
|
||||||
bool DownloadAssets::onEscapePressed()
|
bool DownloadAssets::onEscapePressed()
|
||||||
{
|
{
|
||||||
stopDownload();
|
|
||||||
ModalDialog::dismiss();
|
ModalDialog::dismiss();
|
||||||
return true;
|
return true;
|
||||||
} // onEscapePressed
|
} // onEscapePressed
|
||||||
@ -142,7 +147,6 @@ GUIEngine::EventPropagation DownloadAssets::processEvent(const std::string& even
|
|||||||
actions_ribbon->getSelectionIDString(PLAYER_ID_GAME_MASTER);
|
actions_ribbon->getSelectionIDString(PLAYER_ID_GAME_MASTER);
|
||||||
if (selection == "back")
|
if (selection == "back")
|
||||||
{
|
{
|
||||||
stopDownload();
|
|
||||||
dismiss();
|
dismiss();
|
||||||
return GUIEngine::EVENT_BLOCK;
|
return GUIEngine::EVENT_BLOCK;
|
||||||
}
|
}
|
||||||
|
@ -45,6 +45,7 @@ private:
|
|||||||
|
|
||||||
public:
|
public:
|
||||||
DownloadAssets();
|
DownloadAssets();
|
||||||
|
~DownloadAssets();
|
||||||
|
|
||||||
virtual GUIEngine::EventPropagation processEvent(const std::string& event_source) OVERRIDE;
|
virtual GUIEngine::EventPropagation processEvent(const std::string& event_source) OVERRIDE;
|
||||||
virtual void beforeAddingWidgets() OVERRIDE;
|
virtual void beforeAddingWidgets() OVERRIDE;
|
||||||
|
Loading…
Reference in New Issue
Block a user