diff --git a/editor/docks/scene_tree_dock.cpp b/editor/docks/scene_tree_dock.cpp index eab86edfd2..801e8fec1f 100644 --- a/editor/docks/scene_tree_dock.cpp +++ b/editor/docks/scene_tree_dock.cpp @@ -3814,10 +3814,32 @@ void SceneTreeDock::_tree_rmb(const Vector2 &p_menu_pos) { return; } + bool section_started = false; + bool section_ended = false; + +// Marks beginning of a new separated section. When used multiple times in a row, only first use has effect. +#define BEGIN_SECTION() \ + { \ + if (section_ended) { \ + section_ended = false; \ + menu->add_separator(); \ + } \ + section_started = true; \ + } +// Marks end of a section. +#define END_SECTION() \ + { \ + if (section_started) { \ + section_ended = true; \ + section_started = false; \ + } \ + } + Ref