track locale switching better in the event of errors
This commit is contained in:
parent
07ef170933
commit
0545f6811f
|
@ -79,6 +79,7 @@ void WinEDA_PcbFrame::GenModulesPosition( wxCommandEvent& event )
|
||||||
wxString Title;
|
wxString Title;
|
||||||
FILE* fpFront = NULL;
|
FILE* fpFront = NULL;
|
||||||
FILE* fpBack = NULL;
|
FILE* fpBack = NULL;
|
||||||
|
bool switchedLocale = false;
|
||||||
|
|
||||||
/* Calcul des echelles de conversion */
|
/* Calcul des echelles de conversion */
|
||||||
float conv_unit = 0.0001; /* unites = INCHES */
|
float conv_unit = 0.0001; /* unites = INCHES */
|
||||||
|
@ -159,6 +160,7 @@ void WinEDA_PcbFrame::GenModulesPosition( wxCommandEvent& event )
|
||||||
|
|
||||||
// Switch the locale to standard C (needed to print floating point numbers like 1.3)
|
// Switch the locale to standard C (needed to print floating point numbers like 1.3)
|
||||||
SetLocaleTo_C_standard( );
|
SetLocaleTo_C_standard( );
|
||||||
|
switchedLocale = true;
|
||||||
|
|
||||||
/* Affichage du bilan : */
|
/* Affichage du bilan : */
|
||||||
MsgPanel->EraseMsgBox();
|
MsgPanel->EraseMsgBox();
|
||||||
|
@ -264,7 +266,6 @@ void WinEDA_PcbFrame::GenModulesPosition( wxCommandEvent& event )
|
||||||
fputs( "## End\n", fpBack );
|
fputs( "## End\n", fpBack );
|
||||||
|
|
||||||
MyFree( Liste );
|
MyFree( Liste );
|
||||||
SetLocaleTo_Default( ); // revert to the current locale
|
|
||||||
|
|
||||||
msg = frontLayerName + wxT( " File: " ) + fnFront;
|
msg = frontLayerName + wxT( " File: " ) + fnFront;
|
||||||
|
|
||||||
|
@ -274,6 +275,9 @@ void WinEDA_PcbFrame::GenModulesPosition( wxCommandEvent& event )
|
||||||
DisplayInfo( this, msg );
|
DisplayInfo( this, msg );
|
||||||
|
|
||||||
exit:
|
exit:
|
||||||
|
if( switchedLocale )
|
||||||
|
SetLocaleTo_Default( ); // revert to the current locale
|
||||||
|
|
||||||
if( fpFront )
|
if( fpFront )
|
||||||
fclose( fpFront );
|
fclose( fpFront );
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue