Skip to content

Commit efc2ecc

Browse files
committed
Fix remote deselection not working when selection limit is reached
1 parent 53be3b7 commit efc2ecc

File tree

1 file changed

+10
-17
lines changed

1 file changed

+10
-17
lines changed

scene/debugger/scene_debugger.cpp

Lines changed: 10 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -1922,18 +1922,6 @@ void RuntimeNodeSelect::_send_ids(const Vector<Node *> &p_picked_nodes, bool p_i
19221922
return;
19231923
}
19241924

1925-
int limit = max_selection - selected_ci_nodes.size();
1926-
#ifndef _3D_DISABLED
1927-
limit -= selected_3d_nodes.size();
1928-
#endif // _3D_DISABLED
1929-
if (limit <= 0) {
1930-
return;
1931-
}
1932-
if (picked_nodes.size() > limit) {
1933-
picked_nodes.resize(limit);
1934-
EngineDebugger::get_singleton()->send_message("show_selection_limit_warning", Array());
1935-
}
1936-
19371925
LocalVector<Node *> nodes;
19381926
LocalVector<ObjectID> ids;
19391927
for (Node *node : picked_nodes) {
@@ -1963,6 +1951,16 @@ void RuntimeNodeSelect::_send_ids(const Vector<Node *> &p_picked_nodes, bool p_i
19631951
}
19641952
}
19651953

1954+
uint32_t limit = max_selection - selected_ci_nodes.size();
1955+
#ifndef _3D_DISABLED
1956+
limit -= selected_3d_nodes.size();
1957+
#endif // _3D_DISABLED
1958+
if (ids.size() > limit) {
1959+
ids.resize(limit);
1960+
nodes.resize(limit);
1961+
EngineDebugger::get_singleton()->send_message("show_selection_limit_warning", Array());
1962+
}
1963+
19661964
for (ObjectID id : selected_ci_nodes) {
19671965
ids.push_back(id);
19681966
nodes.push_back(ObjectDB::get_instance<Node>(id));
@@ -1974,11 +1972,6 @@ void RuntimeNodeSelect::_send_ids(const Vector<Node *> &p_picked_nodes, bool p_i
19741972
}
19751973
#endif // _3D_DISABLED
19761974

1977-
if (ids.size() > (unsigned)max_selection) {
1978-
ids.resize(max_selection);
1979-
EngineDebugger::get_singleton()->send_message("show_selection_limit_warning", Array());
1980-
}
1981-
19821975
if (ids.is_empty()) {
19831976
EngineDebugger::get_singleton()->send_message("remote_nothing_selected", message);
19841977
} else {

0 commit comments

Comments
 (0)