### Godot version

v4.2.beta2.official [f8818f85e]

### System information

Windows 10, 64bit

### Issue description

Some times can't add node in visualshader editor

### Steps to reproduce

1. Open a VisualShader file for edit.
2. Click the `Add Node...` button, it will popup menu, it is OK.
3. Direct close the menu.
4. Clikd the `Add Node...` again, the menu can't popup.
![GIF](https://github.com/godotengine/godot/assets/35988767/1326c63e-3e05-4423-9ec7-7ce305b3f4f5)

### Minimal reproduction project

/
return;
	}
	Shader::Mode mode = visual_shader->get_mode();
	Control *offset;
	static const Color type_color[] = {
		Color(0.38, 0.85, 0.96), 
		Color(0.49, 0.78, 0.94), 
		Color(0.20, 0.88, 0.67), 
		Color(0.74, 0.57, 0.95), 
		Color(0.84, 0.49, 0.93), 
		Color(1.0, 0.125, 0.95), 
		Color(0.55, 0.65, 0.94), 
		Color(0.96, 0.66, 0.43), 
		Color(1.0, 1.0, 0.0), 
	};
	static const String vector_expanded_name[4] = {
		"red",
		"green",
		"blue",
		"alpha"
	};
	
	Ref<Theme> vstheme;
	vstheme.instantiate();
	Ref<Font> label_font = EditorNode::get_singleton()->get_editor_theme()->get_font("main_msdf", EditorStringName(EditorFonts));
	Ref<Font> label_bold_font = EditorNode::get_singleton()->get_editor_theme()->get_font("main_bold_msdf", EditorStringName(EditorFonts));
	vstheme->set_font("font", "Label", label_font);
	vstheme->set_font("font", "GraphNodeTitleLabel", label_bold_font);
	vstheme->set_font("font", "LineEdit", label_font);
	vstheme->set_font("font", "Button", label_font);