Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/supermerill/SuperSlicer.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorbubnikv <bubnikv@gmail.com>2018-08-06 00:36:25 +0300
committerbubnikv <bubnikv@gmail.com>2018-08-06 00:36:25 +0300
commitea163edc41f1e3394e89bd187b25c338418e1433 (patch)
tree4f6ae05a3d2c576fec1d3fc0107ac0252f307cde /lib/Slic3r/GUI
parentc13cd284e4d9db9913214d5d55919441408dd35c (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.pm1
-rw-r--r--lib/Slic3r/GUI/Plater.pm7
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});