2525#if defined(CUSTOM_QUANTUM_PAINTER_ST7789_170X320 )
2626# include "display/painter/st7789_170x320.h"
2727#endif // CUSTOM_QUANTUM_PAINTER_ST7789_170X320
28+ #if defined(RGB_MATRIX_ENABLE )
29+ # include "rgb/rgb_matrix_stuff.h"
30+ #endif // defined(RGB_MATRIX_ENABLE)
31+ #if defined(RGBLIGHT_ENABLE )
32+ # include "rgb/rgb_stuff.h"
33+ #endif // defined(RGBLIGHT_ENABLE)
2834#ifdef RTC_ENABLE
2935# include "features/rtc/rtc.h"
3036#endif // RTC_ENABLE
@@ -1163,10 +1169,23 @@ void housekeeping_task_quantum_painter(void) {
11631169 static uint8_t last_second = 0xFF ;
11641170 if (rtc_read_time_struct ().second != last_second ) {
11651171 last_second = rtc_read_time_struct ().second ;
1166- display_menu_set_dirty ();
1172+ display_menu_set_dirty (true );
11671173 }
11681174 }
11691175#endif // RTC_ENABLE
1176+ if (menu_state_runtime .dirty ) {
1177+ display_menu_set_dirty (true);
1178+ }
1179+ #if defined(RGB_MATRIX_ENABLE )
1180+ if (has_rgb_matrix_config_changed ()) {
1181+ display_menu_set_dirty (true);
1182+ }
1183+ #endif
1184+ #if defined(RGBLIGHT_ENABLE )
1185+ if (has_rgblight_config_changed ()) {
1186+ display_menu_set_dirty (true);
1187+ }
1188+ #endif
11701189#ifndef MULTITHREADED_PAINTER_ENABLE
11711190 static uint32_t last_tick = 0 ;
11721191 uint32_t now = timer_read32 ();
@@ -1185,19 +1204,17 @@ void housekeeping_task_quantum_painter(void) {
11851204# endif // CUSTOM_QUANTUM_PAINTER_ST7789_170X320
11861205 last_tick = now ;
11871206 }
1188- #endif // MULTITHREADED_PAINTER_ENABLE
1189- extern bool has_flushed_menu ;
1190- if (!has_flushed_menu ) {
1191- has_flushed_menu = true;
1192- userspace_runtime_state .menu_state .dirty = false;
1193- }
1207+ #endif // MULTITHREADED_PAINTER_ENABLE
11941208#if (QUANTUM_PAINTER_DISPLAY_TIMEOUT ) > 0
11951209 if (is_keyboard_master () && (last_input_activity_elapsed () > QUANTUM_PAINTER_DISPLAY_TIMEOUT )) {
11961210 qp_backlight_disable ();
11971211 } else {
11981212 qp_backlight_enable ();
11991213 }
12001214#endif
1215+ if (!menu_state_runtime .has_rendered && !menu_state_runtime .dirty ) {
1216+ menu_state_runtime .has_rendered = true;
1217+ }
12011218 if (console_has_redrawn ) {
12021219 console_log_needs_redraw = false;
12031220 }
0 commit comments