… | |
… | |
165 | my ($self) = @_; |
165 | my ($self) = @_; |
166 | |
166 | |
167 | # XXX: Move to GCE::MapEdior in a popup-menu or real menu |
167 | # XXX: Move to GCE::MapEdior in a popup-menu or real menu |
168 | my $map = $self->{last_map_window}{map}; # the Crossfire::MapWidget |
168 | my $map = $self->{last_map_window}{map}; # the Crossfire::MapWidget |
169 | |
169 | |
170 | warn "USI: $map->{undo_stack_pos} @{$map->{undo_stack} || []}\n";#d# |
|
|
171 | $map->{undo_stack_pos} |
170 | $map->{undo_stack_pos} |
172 | or return; |
171 | or return; |
173 | |
172 | |
174 | $map->change_swap ($map->{undo_stack}[--$map->{undo_stack_pos}]); |
173 | $map->change_swap ($map->{undo_stack}[--$map->{undo_stack_pos}]); |
175 | } |
174 | } |
… | |
… | |
177 | sub redo { |
176 | sub redo { |
178 | my ($self) = @_; |
177 | my ($self) = @_; |
179 | |
178 | |
180 | # XXX: Move to GCE::MapEdior in a popup-menu or real menu |
179 | # XXX: Move to GCE::MapEdior in a popup-menu or real menu |
181 | my $map = $self->{last_map_window}{map}; # the Crossfire::MapWidget |
180 | my $map = $self->{last_map_window}{map}; # the Crossfire::MapWidget |
182 | |
|
|
183 | warn "RSI: $map->{undo_stack_pos} @{$map->{undo_stack}}\n";#d# |
|
|
184 | |
181 | |
185 | $map->{undo_stack_pos} < @{$map->{undo_stack}} |
182 | $map->{undo_stack_pos} < @{$map->{undo_stack}} |
186 | or return; |
183 | or return; |
187 | |
184 | |
188 | $map->change_swap ($map->{undo_stack}[$map->{undo_stack_pos}++]); |
185 | $map->change_swap ($map->{undo_stack}[$map->{undo_stack_pos}++]); |