@@ -930,7 +930,7 @@ void EditorPropertyFlags::setup(const Vector<String> &p_options) {
930930 if (text_split.size () != 1 ) {
931931 current_val = text_split[1 ].to_int ();
932932 } else {
933- current_val = 1 << i;
933+ current_val = 1u << i;
934934 }
935935 flag_values.push_back (current_val);
936936
@@ -961,9 +961,7 @@ EditorPropertyFlags::EditorPropertyFlags() {
961961
962962void EditorPropertyLayersGrid::_rename_pressed (int p_menu) {
963963 // Show rename popup for active layer.
964- if (renamed_layer_index == INT32_MAX) {
965- return ;
966- }
964+ ERR_FAIL_INDEX (renamed_layer_index, names.size ());
967965 String name = names[renamed_layer_index];
968966 rename_dialog->set_title (vformat (TTR (" Renaming layer %d:" ), renamed_layer_index + 1 ));
969967 rename_dialog_text->set_text (name);
@@ -982,7 +980,7 @@ void EditorPropertyLayersGrid::_rename_operation_confirm() {
982980 return ;
983981 }
984982 names.set (renamed_layer_index, new_name);
985- tooltips.set (renamed_layer_index, new_name + " \n " + vformat (TTR (" Bit %d, value %d" ), renamed_layer_index, 1 << renamed_layer_index));
983+ tooltips.set (renamed_layer_index, new_name + " \n " + vformat (TTR (" Bit %d, value %d" ), renamed_layer_index, 1u << renamed_layer_index));
986984 emit_signal (SNAME (" rename_confirmed" ), renamed_layer_index, new_name);
987985}
988986
@@ -1054,8 +1052,8 @@ void EditorPropertyLayersGrid::_update_hovered(const Vector2 &p_position) {
10541052 }
10551053
10561054 // Remove highlight when no square is hovered.
1057- if (hovered_index != INT32_MAX ) {
1058- hovered_index = INT32_MAX ;
1055+ if (hovered_index != HOVERED_INDEX_NONE ) {
1056+ hovered_index = HOVERED_INDEX_NONE ;
10591057 queue_redraw ();
10601058 }
10611059}
@@ -1065,32 +1063,28 @@ void EditorPropertyLayersGrid::_on_hover_exit() {
10651063 expand_hovered = false ;
10661064 queue_redraw ();
10671065 }
1068- if (hovered_index != INT32_MAX ) {
1069- hovered_index = INT32_MAX ;
1066+ if (hovered_index != HOVERED_INDEX_NONE ) {
1067+ hovered_index = HOVERED_INDEX_NONE ;
10701068 queue_redraw ();
10711069 }
10721070}
10731071
10741072void EditorPropertyLayersGrid::_update_flag (bool p_replace) {
1075- if (hovered_index != INT32_MAX ) {
1073+ if (hovered_index != HOVERED_INDEX_NONE ) {
10761074 // Toggle the flag.
10771075 // We base our choice on the hovered flag, so that it always matches the hovered flag.
10781076 if (p_replace) {
10791077 // Replace all flags with the hovered flag ("solo mode"),
10801078 // instead of toggling the hovered flags while preserving other flags' state.
1081- if (value == uint32_t ( 1 << hovered_index) ) {
1079+ if (value == 1u << hovered_index) {
10821080 // If the flag is already enabled, enable all other items and disable the current flag.
10831081 // This allows for quicker toggling.
1084- value = INT32_MAX - ( 1 << hovered_index) ;
1082+ value = ~value ;
10851083 } else {
1086- value = 1 << hovered_index;
1084+ value = 1u << hovered_index;
10871085 }
10881086 } else {
1089- if (value & (1 << hovered_index)) {
1090- value &= ~(1 << hovered_index);
1091- } else {
1092- value |= (1 << hovered_index);
1093- }
1087+ value ^= 1u << hovered_index;
10941088 }
10951089
10961090 emit_signal (SNAME (" flag_changed" ), value);
@@ -1118,7 +1112,7 @@ void EditorPropertyLayersGrid::gui_input(const Ref<InputEvent> &p_ev) {
11181112 _update_flag (mb->is_command_or_control_pressed ());
11191113 }
11201114 if (mb.is_valid () && mb->get_button_index () == MouseButton::RIGHT && mb->is_pressed ()) {
1121- if (hovered_index != INT32_MAX ) {
1115+ if (hovered_index != HOVERED_INDEX_NONE ) {
11221116 renamed_layer_index = hovered_index;
11231117 layer_rename->set_position (get_screen_position () + mb->get_position ());
11241118 layer_rename->reset_size ();
@@ -1171,7 +1165,7 @@ void EditorPropertyLayersGrid::_notification(int p_what) {
11711165
11721166 for (int i = 0 ; i < 2 ; i++) {
11731167 for (int j = 0 ; j < layer_group_size; j++) {
1174- const bool on = value & (1 << layer_index);
1168+ const bool on = value & (1u << layer_index);
11751169 Rect2 rect2 = Rect2 (ofs, Size2 (bsize, bsize));
11761170
11771171 color.a = on ? 0.6 : 0.2 ;
@@ -1361,7 +1355,7 @@ void EditorPropertyLayers::setup(LayerType p_layer_type) {
13611355 }
13621356
13631357 names.push_back (name);
1364- tooltips.push_back (name + " \n " + vformat (TTR (" Bit %d, value %d" ), i, 1 << i));
1358+ tooltips.push_back (name + " \n " + vformat (TTR (" Bit %d, value %d" ), i, 1u << i));
13651359 }
13661360
13671361 grid->names = names;
@@ -1396,7 +1390,7 @@ void EditorPropertyLayers::_button_pressed() {
13961390 }
13971391 layers->add_check_item (name, i);
13981392 int idx = layers->get_item_index (i);
1399- layers->set_item_checked (idx, grid->value & (1 << i));
1393+ layers->set_item_checked (idx, grid->value & (1u << i));
14001394 }
14011395
14021396 if (layers->get_item_count () == 0 ) {
@@ -1418,13 +1412,9 @@ void EditorPropertyLayers::_menu_pressed(int p_menu) {
14181412 ProjectSettingsEditor::get_singleton ()->popup_project_settings (true );
14191413 ProjectSettingsEditor::get_singleton ()->set_general_page (basename);
14201414 } else {
1421- if (grid->value & (1 << p_menu)) {
1422- grid->value &= ~(1 << p_menu);
1423- } else {
1424- grid->value |= (1 << p_menu);
1425- }
1415+ grid->value ^= 1u << p_menu;
14261416 grid->queue_redraw ();
1427- layers->set_item_checked (layers->get_item_index (p_menu), grid->value & (1 << p_menu));
1417+ layers->set_item_checked (layers->get_item_index (p_menu), grid->value & (1u << p_menu));
14281418 _grid_changed (grid->value );
14291419 }
14301420}
0 commit comments