mirror of https://github.com/BOINC/boinc.git
Fix Mac crash bug introduced by commit e0ffbf106d
This commit is contained in:
parent
4f3afbf312
commit
d9f435d1b7
|
@ -205,10 +205,17 @@ bool CBOINCGUIApp::OnInit() {
|
||||||
#endif
|
#endif
|
||||||
m_pConfig->Read(wxT("DisableAutoStart"), &m_iBOINCMGRDisableAutoStart, 0L);
|
m_pConfig->Read(wxT("DisableAutoStart"), &m_iBOINCMGRDisableAutoStart, 0L);
|
||||||
m_pConfig->Read(wxT("LanguageISO"), &m_strISOLanguageCode, wxT(""));
|
m_pConfig->Read(wxT("LanguageISO"), &m_strISOLanguageCode, wxT(""));
|
||||||
bool bUseDefaultLocaleDefault =
|
#ifdef __WXMAC__ // wxWidgets System language detection does not work on Mac
|
||||||
|
m_bUseDefaultLocale = false;
|
||||||
|
#else
|
||||||
|
bool bUseDefaultLocaleDefault = false;
|
||||||
|
const wxLanguageInfo *defaultLanguageInfo = wxLocale::GetLanguageInfo(wxLANGUAGE_DEFAULT);
|
||||||
|
if (defaultLanguageInfo != NULL) {
|
||||||
// Migration: assume a selected language code that matches the system default means "auto select"
|
// Migration: assume a selected language code that matches the system default means "auto select"
|
||||||
m_strISOLanguageCode == wxLocale::GetLanguageInfo(wxLANGUAGE_DEFAULT)->CanonicalName;
|
bUseDefaultLocaleDefault = m_strISOLanguageCode == defaultLanguageInfo->CanonicalName;;
|
||||||
|
}
|
||||||
m_pConfig->Read(wxT("UseDefaultLocale"), &m_bUseDefaultLocale, bUseDefaultLocaleDefault);
|
m_pConfig->Read(wxT("UseDefaultLocale"), &m_bUseDefaultLocale, bUseDefaultLocaleDefault);
|
||||||
|
#endif
|
||||||
m_pConfig->Read(wxT("GUISelection"), &m_iGUISelected, BOINC_SIMPLEGUI);
|
m_pConfig->Read(wxT("GUISelection"), &m_iGUISelected, BOINC_SIMPLEGUI);
|
||||||
m_pConfig->Read(wxT("EventLogOpen"), &bOpenEventLog);
|
m_pConfig->Read(wxT("EventLogOpen"), &bOpenEventLog);
|
||||||
m_pConfig->Read(wxT("RunDaemon"), &m_bRunDaemon, 1L);
|
m_pConfig->Read(wxT("RunDaemon"), &m_bRunDaemon, 1L);
|
||||||
|
@ -946,7 +953,9 @@ void CBOINCGUIApp::InitSupportedLanguages() {
|
||||||
wxLayoutDirection uiLayoutDirection = pLIui ? pLIui->LayoutDirection : wxLayout_Default;
|
wxLayoutDirection uiLayoutDirection = pLIui ? pLIui->LayoutDirection : wxLayout_Default;
|
||||||
GUI_SUPPORTED_LANG newItem;
|
GUI_SUPPORTED_LANG newItem;
|
||||||
|
|
||||||
|
#ifndef __WXMAC__ // wxWidgets System language detection does not work on Mac
|
||||||
// CDlgOptions depends on "Auto" being the first item in the list
|
// CDlgOptions depends on "Auto" being the first item in the list
|
||||||
|
// if
|
||||||
newItem.Language = wxLANGUAGE_DEFAULT;
|
newItem.Language = wxLANGUAGE_DEFAULT;
|
||||||
wxString strAutoEnglish = wxT("(Automatic Detection)");
|
wxString strAutoEnglish = wxT("(Automatic Detection)");
|
||||||
wxString strAutoTranslated = wxGetTranslation(strAutoEnglish);
|
wxString strAutoTranslated = wxGetTranslation(strAutoEnglish);
|
||||||
|
@ -964,6 +973,7 @@ void CBOINCGUIApp::InitSupportedLanguages() {
|
||||||
newItem.Label += LRM + strAutoEnglish + LRM;
|
newItem.Label += LRM + strAutoEnglish + LRM;
|
||||||
}
|
}
|
||||||
m_astrLanguages.push_back(newItem);
|
m_astrLanguages.push_back(newItem);
|
||||||
|
#endif
|
||||||
|
|
||||||
// Add known locales to the list
|
// Add known locales to the list
|
||||||
for (int langID = wxLANGUAGE_UNKNOWN+1; langID < wxLANGUAGE_USER_DEFINED; ++langID) {
|
for (int langID = wxLANGUAGE_UNKNOWN+1; langID < wxLANGUAGE_USER_DEFINED; ++langID) {
|
||||||
|
|
|
@ -618,13 +618,13 @@ bool CDlgOptions::ReadSettings() {
|
||||||
wxString strBuffer = wxEmptyString;
|
wxString strBuffer = wxEmptyString;
|
||||||
wxArrayString astrDialupConnections;
|
wxArrayString astrDialupConnections;
|
||||||
|
|
||||||
|
|
||||||
wxASSERT(pDoc);
|
wxASSERT(pDoc);
|
||||||
wxASSERT(pFrame);
|
wxASSERT(pFrame);
|
||||||
wxASSERT(wxDynamicCast(pDoc, CMainDocument));
|
wxASSERT(wxDynamicCast(pDoc, CMainDocument));
|
||||||
wxASSERT(wxDynamicCast(pFrame, CBOINCBaseFrame));
|
wxASSERT(wxDynamicCast(pFrame, CBOINCBaseFrame));
|
||||||
|
|
||||||
|
// wxWidgets System language detection does not work on Mac
|
||||||
|
// so we always set UseDefaultLocale() to false on Mac
|
||||||
// General Tab
|
// General Tab
|
||||||
if (wxGetApp().UseDefaultLocale()) {
|
if (wxGetApp().UseDefaultLocale()) {
|
||||||
// CBOINCGUIApp::InitSupportedLanguages() ensures "Auto" is the first item in the list
|
// CBOINCGUIApp::InitSupportedLanguages() ensures "Auto" is the first item in the list
|
||||||
|
|
Loading…
Reference in New Issue