mirror of
https://github.com/SoftFever/OrcaSlicer.git
synced 2025-07-23 06:33:57 -06:00
Removed unneeded scene reloads when selecting objects
This commit is contained in:
parent
e9b83a20d0
commit
e2e4310322
5 changed files with 34 additions and 12 deletions
|
@ -1809,8 +1809,7 @@ sub list_item_deselected {
|
|||
if ($self->{list}->GetFirstSelected == -1) {
|
||||
$self->select_object(undef);
|
||||
$self->{canvas}->Refresh;
|
||||
#FIXME VBOs are being refreshed just to change a selection color?
|
||||
$self->{canvas3D}->reload_scene if $self->{canvas3D};
|
||||
$self->{canvas3D}->deselect_volumes if $self->{canvas3D};
|
||||
}
|
||||
undef $self->{_lecursor};
|
||||
}
|
||||
|
@ -1822,8 +1821,7 @@ sub list_item_selected {
|
|||
my $obj_idx = $event->GetIndex;
|
||||
$self->select_object($obj_idx);
|
||||
$self->{canvas}->Refresh;
|
||||
#FIXME VBOs are being refreshed just to change a selection color?
|
||||
$self->{canvas3D}->reload_scene if $self->{canvas3D};
|
||||
$self->{canvas3D}->update_volumes_selection if $self->{canvas3D};
|
||||
undef $self->{_lecursor};
|
||||
}
|
||||
|
||||
|
@ -2015,8 +2013,15 @@ sub selection_changed {
|
|||
|
||||
sub select_object {
|
||||
my ($self, $obj_idx) = @_;
|
||||
|
||||
# remove current selection
|
||||
foreach my $o (0..$#{$self->{objects}}) {
|
||||
$PreventListEvents = 1;
|
||||
$self->{objects}->[$o]->selected(0);
|
||||
$self->{list}->Select($o, 0);
|
||||
$PreventListEvents = 0;
|
||||
}
|
||||
|
||||
$_->selected(0) for @{ $self->{objects} };
|
||||
if (defined $obj_idx) {
|
||||
$self->{objects}->[$obj_idx]->selected(1);
|
||||
# We use this flag to avoid circular event handling
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue