diff --git a/Marlin/src/module/planner.cpp b/Marlin/src/module/planner.cpp index c3b1fdd72a..129b9962d3 100644 --- a/Marlin/src/module/planner.cpp +++ b/Marlin/src/module/planner.cpp @@ -2896,7 +2896,7 @@ void Planner::buffer_sync_block(TERN_(LASER_SYNCHRONOUS_M106_M107, const BlockFl block_t * const block = get_next_free_block(next_buffer_head); // Clear block - memset(block, 0, sizeof(block_t)); + block->reset(); block->flag.apply(sync_flag); diff --git a/Marlin/src/module/planner.h b/Marlin/src/module/planner.h index b8a108b4b3..2d8a966ca0 100644 --- a/Marlin/src/module/planner.h +++ b/Marlin/src/module/planner.h @@ -274,6 +274,8 @@ typedef struct block_t { block_laser_t laser; #endif + void reset() { memset((char*)this, 0, sizeof(*this)); } + } block_t; #if ANY(LIN_ADVANCE, SCARA_FEEDRATE_SCALING, GRADIENT_MIX, LCD_SHOW_E_TOTAL, POWER_LOSS_RECOVERY)