diff options
| author | Poommetee Ketson | 2018-03-02 12:25:28 +0700 |
|---|---|---|
| committer | Poommetee Ketson | 2018-03-02 17:14:55 +0700 |
| commit | 86938a06aaad69669b482c589840961ce1509cdc (patch) | |
| tree | ebdbb55e9cd125fc9b3b189fc903587dcbacc747 /editor/plugins/texture_region_editor_plugin.cpp | |
| parent | 08cadc3d871f681ef1f951894345359a85ba190e (diff) | |
| download | godot-86938a06aaad69669b482c589840961ce1509cdc.tar.gz godot-86938a06aaad69669b482c589840961ce1509cdc.tar.zst godot-86938a06aaad69669b482c589840961ce1509cdc.zip | |
TileSet&TextureRegion: fix error when getting nonexistent tile
Diffstat (limited to 'editor/plugins/texture_region_editor_plugin.cpp')
| -rw-r--r-- | editor/plugins/texture_region_editor_plugin.cpp | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/editor/plugins/texture_region_editor_plugin.cpp b/editor/plugins/texture_region_editor_plugin.cpp index 6cb4ca1e8..8272ec2ef 100644 --- a/editor/plugins/texture_region_editor_plugin.cpp +++ b/editor/plugins/texture_region_editor_plugin.cpp @@ -57,8 +57,9 @@ void TextureRegionEditor::_region_draw() { base_tex = obj_styleBox->get_texture(); else if (atlas_tex.is_valid()) base_tex = atlas_tex->get_atlas(); - else if (tile_set.is_valid() && selected_tile != -1) + else if (tile_set.is_valid() && selected_tile != -1 && tile_set->has_tile(selected_tile)) base_tex = tile_set->tile_get_texture(selected_tile); + if (base_tex.is_null()) return; @@ -688,10 +689,11 @@ void TextureRegionEditor::_edit_region() { texture = obj_styleBox->get_texture(); else if (atlas_tex.is_valid()) texture = atlas_tex->get_atlas(); - else if (tile_set.is_valid() && selected_tile != -1) + else if (tile_set.is_valid() && selected_tile != -1 && tile_set->has_tile(selected_tile)) texture = tile_set->tile_get_texture(selected_tile); if (texture.is_null()) { + edit_draw->update(); return; } @@ -780,6 +782,7 @@ TextureRegionEditor::TextureRegionEditor(EditorNode *p_editor) { tile_set = Ref<TileSet>(NULL); editor = p_editor; undo_redo = editor->get_undo_redo(); + selected_tile = -1; snap_step = Vector2(10, 10); snap_separation = Vector2(0, 0); |
