diff options
author | bubnikv <bubnikv@gmail.com> | 2018-08-06 00:36:25 +0300 |
---|---|---|
committer | bubnikv <bubnikv@gmail.com> | 2018-08-06 00:36:25 +0300 |
commit | ea163edc41f1e3394e89bd187b25c338418e1433 (patch) | |
tree | 4f6ae05a3d2c576fec1d3fc0107ac0252f307cde /lib/Slic3r/GUI | |
parent | c13cd284e4d9db9913214d5d55919441408dd35c (diff) |
Deregister the update callback on end of the application.
This fixes a crash on exit.
Diffstat (limited to 'lib/Slic3r/GUI')
-rw-r--r-- | lib/Slic3r/GUI/MainFrame.pm | 1 | ||||
-rw-r--r-- | lib/Slic3r/GUI/Plater.pm | 7 |
2 files changed, 2 insertions, 6 deletions
diff --git a/lib/Slic3r/GUI/MainFrame.pm b/lib/Slic3r/GUI/MainFrame.pm index 77d7956c9..6baefa545 100644 --- a/lib/Slic3r/GUI/MainFrame.pm +++ b/lib/Slic3r/GUI/MainFrame.pm @@ -107,6 +107,7 @@ sub new { wxTheApp->{app_config}->save; $self->{plater}->{print} = undef if($self->{plater}); Slic3r::GUI::_3DScene::remove_all_canvases(); + Slic3r::GUI::deregister_on_request_update_callback(); # propagate event $event->Skip; }); diff --git a/lib/Slic3r/GUI/Plater.pm b/lib/Slic3r/GUI/Plater.pm index 340807f5f..adaf101fb 100644 --- a/lib/Slic3r/GUI/Plater.pm +++ b/lib/Slic3r/GUI/Plater.pm @@ -145,11 +145,6 @@ sub new { $self->rotate(rad2deg($angle_z), Z, 'absolute'); }; - # callback to call schedule_background_process - my $on_request_update = sub { - $self->schedule_background_process; - }; - # callback to update object's geometry info while using gizmos my $on_update_geometry_info = sub { my ($size_x, $size_y, $size_z, $scale_factor) = @_; @@ -208,7 +203,7 @@ sub new { Slic3r::GUI::_3DScene::register_on_viewport_changed_callback($self->{canvas3D}, sub { Slic3r::GUI::_3DScene::set_viewport_from_scene($self->{preview3D}->canvas, $self->{canvas3D}); }); } - Slic3r::_GUI::register_on_request_update_callback($on_request_update); + Slic3r::GUI::register_on_request_update_callback(sub { $self->schedule_background_process; }); # # Initialize 2D preview canvas # $self->{canvas} = Slic3r::GUI::Plater::2D->new($self->{preview_notebook}, wxDefaultSize, $self->{objects}, $self->{model}, $self->{config}); |