From b2a67fdf1e41ac6f9e321b83a596e60d7555836e Mon Sep 17 00:00:00 2001 From: Katsuhisa Yuasa Date: Sat, 17 Nov 2018 22:27:32 +0900 Subject: [PATCH] =?UTF-8?q?=E8=A8=AD=E5=AE=9A=E3=83=87=E3=83=BC=E3=82=BF?= =?UTF-8?q?=E8=AA=AD=E3=81=BF=E8=BE=BC=E3=81=BF=E5=87=A6=E7=90=86=E3=81=AB?= =?UTF-8?q?=E3=81=8A=E3=81=84=E3=81=A6=E8=A8=80=E8=AA=9E=E8=A8=AD=E5=AE=9A?= =?UTF-8?q?=E5=88=87=E3=82=8A=E6=9B=BF=E3=81=88=E5=BE=8C=E3=81=ABMRU?= =?UTF-8?q?=E3=82=A8=E3=83=B3=E3=83=88=E3=83=AA=E3=81=8C=E7=84=A1=E3=81=84?= =?UTF-8?q?=E5=A0=B4=E5=90=88=E3=81=AF=E6=96=B0=E8=A6=8F=E3=82=A4=E3=83=B3?= =?UTF-8?q?=E3=82=B9=E3=83=88=E3=83=BC=E3=83=AB=E5=BE=8C=E3=81=A8=E3=81=BF?= =?UTF-8?q?=E3=81=AA=E3=81=97=20false=20=E3=82=92=E8=BF=94=E3=81=99?= =?UTF-8?q?=E3=82=88=E3=81=86=E3=81=AB=E5=A4=89=E6=9B=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 管理プロセスから呼び出ししている設定データ読み込み処理(CShareData_IO::LoadShareData)の戻り値を使うように変更 後続する設定データ保存処理(CShareData_IO::SaveShareData)の呼び出しは設定ファイルが存在しないという判断ではなくて、設定データ読み込みに処理に失敗したらという判断に変更 --- sakura_core/_main/CControlProcess.cpp | 6 ++---- sakura_core/env/CShareData_IO.cpp | 10 ++++++++++ 2 files changed, 12 insertions(+), 4 deletions(-) diff --git a/sakura_core/_main/CControlProcess.cpp b/sakura_core/_main/CControlProcess.cpp index ff4898b8fc..e531759458 100644 --- a/sakura_core/_main/CControlProcess.cpp +++ b/sakura_core/_main/CControlProcess.cpp @@ -90,10 +90,8 @@ bool CControlProcess::InitializeProcess() /* 共有データのロード */ // 2007.05.19 ryoji 「設定を保存して終了する」オプション処理(sakuext連携用)を追加 - TCHAR szIniFile[_MAX_PATH]; - CShareData_IO::LoadShareData(); - CFileNameManager::getInstance()->GetIniFileName( szIniFile, strProfileName.c_str() ); // 出力iniファイル名 - if( !fexist(szIniFile) || CCommandLine::getInstance()->IsWriteQuit() ){ + + if( !CShareData_IO::LoadShareData() || CCommandLine::getInstance()->IsWriteQuit() ){ /* レジストリ項目 作成 */ CShareData_IO::SaveShareData(); if( CCommandLine::getInstance()->IsWriteQuit() ){ diff --git a/sakura_core/env/CShareData_IO.cpp b/sakura_core/env/CShareData_IO.cpp index d953254c5a..3af8bac947 100644 --- a/sakura_core/env/CShareData_IO.cpp +++ b/sakura_core/env/CShareData_IO.cpp @@ -67,6 +67,8 @@ void CShareData_IO::SaveShareData() 共有データの読み込み/保存 2 @param[in] bRead true: 読み込み / false: 書き込み + @return 設定データの読み込み/保存が成功したかどうか + @note 読み込みの場合、言語設定切り替え後にMRUエントリが無い場合は新規インストール後とみなし false を返す事で初期設定を適用させる @date 2004-01-11 D.S.Koba CProfile変更によるコード簡略化 @date 2005-04-05 D.S.Koba 各セクションの入出力を関数として分離 @@ -125,6 +127,14 @@ bool CShareData_IO::ShareData_IO_2( bool bRead ) cProfile.IOProfileData( L"Common", L"szLanguageDll", MakeStringBufferT( pShareData->m_Common.m_sWindow.m_szLanguageDll ) ); CSelectLang::ChangeLang( pShareData->m_Common.m_sWindow.m_szLanguageDll ); pcShare->RefreshString(); + + // 新規インストール後の設定ファイルは言語設定しか存在しない + // MRUのエントリが無い場合は新規と判断 + int _MRU_Counts = 0; + if (!cProfile.IOProfileData( LTEXT("MRU"), LTEXT("_MRU_Counts"), _MRU_Counts )){ + // 言語設定の切り替えだけして false を返す事で初期設定を適用させる + return false; + } } // Feb. 12, 2006 D.S.Koba