Fixed crashes on shader destruction on OSX.
This commit is contained in:
parent
ae2e37b4bd
commit
79ff013ea7
2 changed files with 8 additions and 2 deletions
|
@ -18,6 +18,9 @@
|
||||||
package Slic3r::GUI::GLShader;
|
package Slic3r::GUI::GLShader;
|
||||||
use OpenGL(':all');
|
use OpenGL(':all');
|
||||||
|
|
||||||
|
# Avoid cloning this class by the worker threads.
|
||||||
|
sub CLONE_SKIP { 1 }
|
||||||
|
|
||||||
# Shader constructor
|
# Shader constructor
|
||||||
sub new
|
sub new
|
||||||
{
|
{
|
||||||
|
|
|
@ -264,7 +264,11 @@ sub new {
|
||||||
EVT_TOOL($self, TB_SPLIT, sub { $self->split_object; });
|
EVT_TOOL($self, TB_SPLIT, sub { $self->split_object; });
|
||||||
EVT_TOOL($self, TB_CUT, sub { $_[0]->object_cut_dialog });
|
EVT_TOOL($self, TB_CUT, sub { $_[0]->object_cut_dialog });
|
||||||
EVT_TOOL($self, TB_SETTINGS, sub { $_[0]->object_settings_dialog });
|
EVT_TOOL($self, TB_SETTINGS, sub { $_[0]->object_settings_dialog });
|
||||||
EVT_TOOL($self, TB_LAYER_EDITING, sub { $self->on_layer_editing_toggled($self->{htoolbar}->GetToolState(TB_LAYER_EDITING)); });
|
EVT_TOOL($self, TB_LAYER_EDITING, sub {
|
||||||
|
my $state = $self->{canvas3D}->layer_editing_enabled;
|
||||||
|
$self->{htoolbar}->ToggleTool(TB_LAYER_EDITING, ! $state);
|
||||||
|
$self->on_layer_editing_toggled(! $state);
|
||||||
|
});
|
||||||
} else {
|
} else {
|
||||||
EVT_BUTTON($self, $self->{btn_add}, sub { $self->add; });
|
EVT_BUTTON($self, $self->{btn_add}, sub { $self->add; });
|
||||||
EVT_BUTTON($self, $self->{btn_remove}, sub { $self->remove() }); # explicitly pass no argument to remove
|
EVT_BUTTON($self, $self->{btn_remove}, sub { $self->remove() }); # explicitly pass no argument to remove
|
||||||
|
@ -476,7 +480,6 @@ sub _on_select_preset {
|
||||||
|
|
||||||
sub on_layer_editing_toggled {
|
sub on_layer_editing_toggled {
|
||||||
my ($self, $new_state) = @_;
|
my ($self, $new_state) = @_;
|
||||||
print "on_layer_editing_toggled $new_state\n";
|
|
||||||
$self->{canvas3D}->layer_editing_enabled($new_state);
|
$self->{canvas3D}->layer_editing_enabled($new_state);
|
||||||
$self->{canvas3D}->update;
|
$self->{canvas3D}->update;
|
||||||
}
|
}
|
||||||
|
|
Loading…
Add table
Reference in a new issue