Kaynağa Gözat

Make macro ON_MENU_LEAVE() usage similar to macros MENU_ITEM_BACK_P() and MENU_ITEM_FUNCTION_P().

Marek Bel 5 yıl önce
ebeveyn
işleme
1a0370e1c7
2 değiştirilmiş dosya ile 3 ekleme ve 3 silme
  1. 1 1
      Firmware/menu.h
  2. 2 2
      Firmware/ultralcd.cpp

+ 1 - 1
Firmware/menu.h

@@ -82,7 +82,7 @@ extern uint8_t menu_item_submenu_P(const char* str, menu_func_t submenu);
 extern uint8_t menu_item_back_P(const char* str);
 
 // leaving menu - this condition must be immediately before MENU_ITEM_BACK_P
-#define ON_MENU_LEAVE(func) if (((menu_item == menu_line) && menu_clicked && (lcd_encoder == menu_item)) || menu_leaving){ func }
+#define ON_MENU_LEAVE(func) do { if (((menu_item == menu_line) && menu_clicked && (lcd_encoder == menu_item)) || menu_leaving){ func } } while (0)
 
 #define MENU_ITEM_FUNCTION_P(str, func) do { if (menu_item_function_P(str, func)) return; } while (0)
 extern uint8_t menu_item_function_P(const char* str, menu_func_t func);

+ 2 - 2
Firmware/ultralcd.cpp

@@ -3352,7 +3352,7 @@ void lcd_adjust_bed(void)
         eeprom_update_int8((unsigned char*)EEPROM_BED_CORRECTION_FRONT, _md->front);
         eeprom_update_int8((unsigned char*)EEPROM_BED_CORRECTION_REAR,  _md->rear);
         eeprom_update_byte((unsigned char*)EEPROM_BED_CORRECTION_VALID, 1);
-    )
+    );
     MENU_ITEM_BACK_P(_T(MSG_SETTINGS));
 	MENU_ITEM_EDIT_int3_P(_i("Left side [um]"),  &_md->left,  -BED_ADJUSTMENT_UM_MAX, BED_ADJUSTMENT_UM_MAX);////MSG_BED_CORRECTION_LEFT c=14 r=1
     MENU_ITEM_EDIT_int3_P(_i("Right side[um]"), &_md->right, -BED_ADJUSTMENT_UM_MAX, BED_ADJUSTMENT_UM_MAX);////MSG_BED_CORRECTION_RIGHT c=14 r=1
@@ -5161,7 +5161,7 @@ void lcd_settings_linearity_correction_menu(void)
 	MENU_BEGIN();
     ON_MENU_LEAVE(
         lcd_settings_linearity_correction_menu_save();
-    )
+    );
 	MENU_ITEM_BACK_P(_T(MSG_SETTINGS));
 #ifdef TMC2130_LINEARITY_CORRECTION_XYZ
 	//tmc2130_wave_fac[X_AXIS]