Prevent race conditions when loading files into GUI from command line

This commit is contained in:
Alessandro Ranellucci 2017-03-05 16:52:05 +01:00
parent 5821f040c4
commit 7355d39584

View File

@ -112,12 +112,14 @@ if ((!@ARGV || $opt{gui}) && !$opt{save} && eval "require Slic3r::GUI; 1") {
} }
$gui = Slic3r::GUI->new; $gui = Slic3r::GUI->new;
setlocale(LC_NUMERIC, 'C'); setlocale(LC_NUMERIC, 'C');
$gui->{mainframe}->load_config_file($_) for @{$opt{load}}; $gui->CallAfter(sub {
$gui->{mainframe}->load_config($cli_config); $gui->{mainframe}->load_config_file($_) for @{$opt{load}};
foreach my $input_file (@ARGV) { $gui->{mainframe}->load_config($cli_config);
$input_file = Slic3r::decode_path($input_file); foreach my $input_file (@ARGV) {
$gui->{mainframe}{plater}->load_file($input_file) unless $opt{no_plater}; $input_file = Slic3r::decode_path($input_file);
} $gui->{mainframe}{plater}->load_file($input_file) unless $opt{no_plater};
}
});
$gui->MainLoop; $gui->MainLoop;
exit; exit;
} }