### Godot version

4.0 stable

### System information

Manjaro Linux using i3, Foward+

### Issue description

Whenever the tileset property of any tilemap node is like open in the editor like this:
![image](https://user-images.githubusercontent.com/13070158/223416376-be0d7bca-1af8-43ad-9f19-a22de0a5a3c6.png)

If I select any other node and then select the TileMap node again it will print this error:
![image](https://user-images.githubusercontent.com/13070158/223416512-abbf4d45-e6c8-4c5f-894a-9b5810bf0cc2.png)
` editor/editor_node.cpp:8152 - Condition "plugins_list.has(p_plugin)" is true.`

This seems to be actually true to any plugin or `EditorInspectorPlugin` that edits node. In my project I have a InspectorPlugin that adds some buttons in `_parse_begin` for a specific kind of node, and that node also has an exported custom resource, and whenever I select any of that Node and their resource is open for edit in the Inspector I get the same error.

### Steps to reproduce

- Create a TileMap node on any scene
- Create a new TileSet resource on the TileMap node
- click on the TileSet resource to edit it in place in the TileMap node
- Select any other node
- Select the TileMap node again.


### Minimal reproduction project

[plugin_error_resource_edit.zip](https://github.com/godotengine/godot/files/10909135/plugin_error_resource_edit.zip)

- Open main scene
- Select the TileMap node
- Click the tileset resource in the inspector
- Select the root node
- Select TileMap node again
Color grid_color = EDITOR_GET("editors/tiles_editor/grid_color");
		for (int x = displayed_rect.position.x; x < (displayed_rect.position.x + displayed_rect.size.x); x++) {
			for (int y = displayed_rect.position.y; y < (displayed_rect.position.y + displayed_rect.size.y); y++) {
				Vector2i pos_in_rect = Vector2i(x, y) - displayed_rect.position;
				
				float left_opacity = CLAMP(Math::inverse_lerp(0.0f, (float)fading, (float)pos_in_rect.x), 0.0f, 1.0f);
				float right_opacity = CLAMP(Math::inverse_lerp((float)displayed_rect.size.x, (float)(displayed_rect.size.x - fading), (float)(pos_in_rect.x + 1)), 0.0f, 1.0f);
				float top_opacity = CLAMP(Math::inverse_lerp(0.0f, (float)fading, (float)pos_in_rect.y), 0.0f, 1.0f);
				float bottom_opacity = CLAMP(Math::inverse_lerp((float)displayed_rect.size.y, (float)(displayed_rect.size.y - fading), (float)(pos_in_rect.y + 1)), 0.0f, 1.0f);
				float opacity = CLAMP(MIN(left_opacity, MIN(right_opacity, MIN(top_opacity, bottom_opacity))) + 0.1, 0.0f, 1.0f);
				Transform2D tile_xform;
				tile_xform.set_origin(tile_map->map_to_local(Vector2(x, y)));
				tile_xform.set_scale(tile_shape_size);
				Color color = grid_color;
				color.a = color.a * opacity;
				tile_set->draw_tile_shape(p_overlay, xform * tile_xform, color, false);
			}
		}
	}
	
	/*Ref<Font> font = get_theme_font(SNAME("font"), SNAME("Label"));
	for (int x = displayed_rect.position.x; x < (displayed_rect.position.x + displayed_rect.size.x); x++) {
		for (int y = displayed_rect.position.y; y < (displayed_rect.position.y + displayed_rect.size.y); y++) {
			p_overlay->draw_string(font, xform.xform(tile_map->map_to_local(Vector2(x, y))) + Vector2i(-tile_shape_size.x / 2, 0), vformat("%s", Vector2(x, y)));
		}
	}*/
	
	tabs_plugins[tabs_bar->get_current_tab()]->forward_canvas_draw_over_viewport(p_overlay);
}
void TileMapEditor::edit(TileMap *p_tile_map) {