mirror of
https://github.com/rvtr/ctr_Repair.git
synced 2025-10-31 13:51:08 -04:00
進捗表示時にブロックしていたのを修正
git-svn-id: file:///Volumes/Transfer/gigaleak_20231201/2020-05-23%20-%20ctr.7z%20+%20svn_v1.068.zip/ctr/svn/ctr_Repair@851 385bec56-5757-e545-9c3a-d8741f4650f1
This commit is contained in:
parent
8283130685
commit
0faf549782
@ -72,7 +72,7 @@ nn::Result PreorderTitleRestorer::Execute(nn::ProgramId list[], size_t size, nn:
|
||||
|
||||
for(s32 i = 0; i < size; ++i)
|
||||
{
|
||||
m_Progress = i * 100 / size;
|
||||
NN_LOG("progress=%llu\n", m_Progress);
|
||||
std::string xml;
|
||||
nn::cfg::CfgCountryCode deliveredCountry;
|
||||
COMMON_LOGGER_RETURN_RESULT_IF_FAILED(
|
||||
@ -80,6 +80,7 @@ nn::Result PreorderTitleRestorer::Execute(nn::ProgramId list[], size_t size, nn:
|
||||
|
||||
COMMON_LOGGER_RETURN_RESULT_IF_FAILED(
|
||||
SetExternalSeedOrPlayableDate(list[i], deliveredCountry, xml));
|
||||
m_Progress = (i + 1) * 100 / size;
|
||||
}
|
||||
|
||||
COMMON_LOGGER_RETURN_RESULT_IF_FAILED(
|
||||
|
||||
@ -22,7 +22,6 @@ const size_t PreorderTitleRestorerManager::STACK_SIZE;
|
||||
nn::Result PreorderTitleRestorerManager::s_Result;
|
||||
nn::os::Thread PreorderTitleRestorerManager::s_Thread;
|
||||
nn::os::StackBuffer<PreorderTitleRestorerManager::STACK_SIZE> PreorderTitleRestorerManager::s_ThreadStack;
|
||||
bool PreorderTitleRestorerManager::s_Started = false;
|
||||
PreorderTitleRestorer* PreorderTitleRestorerManager::m_Restorer = NULL;
|
||||
nn::ProgramId* PreorderTitleRestorerManager::s_List;
|
||||
size_t PreorderTitleRestorerManager::s_Size;
|
||||
@ -43,21 +42,17 @@ PreorderTitleRestorerManager::~PreorderTitleRestorerManager()
|
||||
}
|
||||
|
||||
void PreorderTitleRestorerManager::Start(nn::ProgramId list[], size_t size, nn::cfg::CTR::CfgCountryCode country, nn::cfg::CTR::CfgRegionCode region)
|
||||
{
|
||||
if(!s_Started)
|
||||
{
|
||||
s_List = list;
|
||||
s_Size = size;
|
||||
s_Country = country;
|
||||
s_Region = region;
|
||||
s_Thread.Start(ThreadFunc, s_ThreadStack);
|
||||
s_Started = true;
|
||||
}
|
||||
}
|
||||
|
||||
bool PreorderTitleRestorerManager::IsFinished()
|
||||
{
|
||||
return s_Thread.IsAlive();
|
||||
return s_Thread.IsValid() && !s_Thread.IsAlive();
|
||||
}
|
||||
|
||||
nn::Result PreorderTitleRestorerManager::GetResult()
|
||||
@ -67,7 +62,7 @@ nn::Result PreorderTitleRestorerManager::GetResult()
|
||||
|
||||
void PreorderTitleRestorerManager::End()
|
||||
{
|
||||
if(s_Started)
|
||||
if(s_Thread.IsValid())
|
||||
{
|
||||
s_Thread.Join();
|
||||
s_Thread.Finalize();
|
||||
@ -75,7 +70,6 @@ void PreorderTitleRestorerManager::End()
|
||||
{
|
||||
delete m_Restorer;
|
||||
}
|
||||
s_Started = false;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@ -49,7 +49,6 @@ private:
|
||||
static const size_t STACK_SIZE = 12 * 1024;
|
||||
static nn::os::StackBuffer<STACK_SIZE> s_ThreadStack;
|
||||
static PreorderTitleRestorer* m_Restorer;
|
||||
static bool s_Started;
|
||||
};
|
||||
|
||||
} /* namespace ConsoleRestore */
|
||||
|
||||
Loading…
Reference in New Issue
Block a user