Remember selected subtile when updating the TileMap editor

Fixes #29444.

(cherry picked from commit 0a03ed7544)
This commit is contained in:
Michael Alexsander Silva Dias 2019-06-03 20:01:27 -03:00 committed by Rémi Verschelde
parent 22abeff592
commit 02ccd4d78c
1 changed files with 6 additions and 3 deletions

View File

@ -363,6 +363,8 @@ void TileMapEditor::_update_palette() {
// Update the palette // Update the palette
Vector<int> selected = get_selected_tiles(); Vector<int> selected = get_selected_tiles();
int selected_single = palette->get_current();
int selected_manual = manual_palette->get_current();
palette->clear(); palette->clear();
manual_palette->clear(); manual_palette->clear();
manual_palette->hide(); manual_palette->hide();
@ -511,9 +513,10 @@ void TileMapEditor::_update_palette() {
if (manual_palette->get_item_count() > 0) { if (manual_palette->get_item_count() > 0) {
// Only show the manual palette if at least tile exists in it // Only show the manual palette if at least tile exists in it
int selected2 = manual_palette->get_current(); if (selected_manual == -1 || selected_single != palette->get_current())
if (selected2 == -1) selected2 = 0; selected_manual = 0;
manual_palette->set_current(selected2); if (selected_manual < manual_palette->get_item_count())
manual_palette->set_current(selected_manual);
manual_palette->show(); manual_palette->show();
} }