Skip to content

Commit 097247d

Browse files
committed
Merge pull request #109058 from KoBeWi/____________________________________________
Prevent invalid and ambiguous tag names
2 parents 321f239 + 529860e commit 097247d

File tree

1 file changed

+20
-0
lines changed

1 file changed

+20
-0
lines changed

editor/project_manager/project_manager.cpp

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1014,6 +1014,24 @@ void ProjectManager::_set_new_tag_name(const String p_name) {
10141014
return;
10151015
}
10161016

1017+
if (p_name[0] == '_' || p_name[p_name.length() - 1] == '_') {
1018+
tag_error->set_text(TTRC("Tag name can't begin or end with underscore."));
1019+
return;
1020+
}
1021+
1022+
bool was_underscore = false;
1023+
for (const char32_t &c : p_name.span()) {
1024+
if (c == '_') {
1025+
if (was_underscore) {
1026+
tag_error->set_text(TTRC("Tag name can't contain consecutive underscores."));
1027+
return;
1028+
}
1029+
was_underscore = true;
1030+
} else {
1031+
was_underscore = false;
1032+
}
1033+
}
1034+
10171035
for (const String &c : forbidden_tag_characters) {
10181036
if (p_name.contains(c)) {
10191037
tag_error->set_text(vformat(TTRC("These characters are not allowed in tags: %s."), String(" ").join(forbidden_tag_characters)));
@@ -1830,6 +1848,8 @@ ProjectManager::ProjectManager() {
18301848
create_tag_btn->set_accessibility_name(TTRC("Create Tag"));
18311849
all_tags->add_child(create_tag_btn);
18321850
create_tag_btn->connect(SceneStringName(pressed), callable_mp((Window *)create_tag_dialog, &Window::popup_centered).bind(Vector2i(500, 0) * EDSCALE));
1851+
1852+
_set_new_tag_name("");
18331853
}
18341854

18351855
// Initialize project list.

0 commit comments

Comments
 (0)