From 88e9ba510b966490212238ad32f7b3cc895696fe Mon Sep 17 00:00:00 2001 From: bubnikv Date: Thu, 14 Dec 2017 17:35:06 +0100 Subject: Run the wizard from OnIdle routine to be executed first after the UI is initialized. This is necessary for the UI to initialize correctly on OSX. --- lib/Slic3r/GUI.pm | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/lib/Slic3r/GUI.pm b/lib/Slic3r/GUI.pm index 5176c9c91..6e5279727 100644 --- a/lib/Slic3r/GUI.pm +++ b/lib/Slic3r/GUI.pm @@ -116,9 +116,6 @@ sub OnInit { no_plater => $no_plater, ); $self->SetTopWindow($frame); - if ($run_wizard) { - $self->{mainframe}->config_wizard; - } EVT_IDLE($frame, sub { while (my $cb = shift @cb) { @@ -126,6 +123,14 @@ sub OnInit { } $self->{app_config}->save if $self->{app_config}->dirty; }); + + if ($run_wizard) { + # On OSX the UI was not initialized correctly if the wizard was called + # before the UI was up and running. + $self->CallAfter(sub { + $self->{mainframe}->config_wizard; + }); + } return 1; } -- cgit v1.2.3