X-Git-Url: https://git.cinelerra-gg.org/git/?p=goodguy%2Fcinelerra.git;a=blobdiff_plain;f=cinelerra-5.1%2Fcinelerra%2Fmain.C;fp=cinelerra-5.1%2Fcinelerra%2Fmain.C;h=0def64b724aab1bc01c416d0bafc0aad3a04b3a9;hp=8a4815f9eb32d469189a6e30fd963ce67b34e826;hb=a6fa7638ac79011ab3188e1f4120680c641cca52;hpb=6a85ddeaab7b4a87cffb57f105b7a5a96a6e2ff4 diff --git a/cinelerra-5.1/cinelerra/main.C b/cinelerra-5.1/cinelerra/main.C index 8a4815f9..0def64b7 100644 --- a/cinelerra-5.1/cinelerra/main.C +++ b/cinelerra-5.1/cinelerra/main.C @@ -22,6 +22,7 @@ #include "arraylist.h" #include "batchrender.h" #include "bcsignals.h" +#include "cstrdup.h" #include "edl.h" #include "file.h" #include "filexml.h" @@ -167,7 +168,8 @@ int main(int argc, char *argv[]) batch_path[0] = 0; deamon_path[0] = 0; Units::init(); - + const char *lang = getenv("LANGUAGE"); + if( lang ) lang = cstrdup(lang); File::init_cin_path(); const char *locale_path = File::get_locale_path(); const char *cin = File::get_cin(); @@ -397,7 +399,6 @@ int main(int argc, char *argv[]) } if( restart <= 0 ) done = 1; - mwindow.save_defaults(); mwindow.save_undo_data(); //PRINT_TRACE @@ -406,6 +407,10 @@ int main(int argc, char *argv[]) } if( restart < 0 ) { + if( lang ) // reset to cmdline state + setenv("LANGUAGE", lang, 1); + else + unsetenv("LANGUAGE"); char exe_path[BCTEXTLEN]; int len = readlink("/proc/self/exe", exe_path, sizeof(exe_path)-1); if( len < 0 ) break; @@ -423,6 +428,7 @@ DISABLE_BUFFER } filenames.remove_all_objects(); + delete [] lang; Units::finit(); BC_WindowBase::finit_resources();