From cceeb9b61313928237736e79ebbbd6df847ffa20 Mon Sep 17 00:00:00 2001 From: Yousef Khadadeh Date: Sat, 6 Jun 2026 19:40:27 +0300 Subject: [PATCH] Touch devices show eraser path when real time eraser is disabled --- src/DrawingProgram/Tools/EraserTool.cpp | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/DrawingProgram/Tools/EraserTool.cpp b/src/DrawingProgram/Tools/EraserTool.cpp index c2aa67f..3bea75c 100644 --- a/src/DrawingProgram/Tools/EraserTool.cpp +++ b/src/DrawingProgram/Tools/EraserTool.cpp @@ -316,7 +316,9 @@ bool EraserTool::prevent_undo_or_redo() { } void EraserTool::draw(SkCanvas* canvas, const DrawData& drawData) { - if(!drawP.world.main.input.isTouchDevice && (!drawData.main->g.gui.cursor_obstructed() || isErasing) && !erasePath.isEmpty() && drawData.main->window.mouseFocus) { + bool touchDeviceRequirement = !drawP.world.main.input.isTouchDevice || (isErasing && !drawP.world.main.conf.realTimeEraser); + bool overGuiRequirement = !drawData.main->g.gui.cursor_obstructed() || isErasing; + if(touchDeviceRequirement && overGuiRequirement && !erasePath.isEmpty() && drawData.main->window.mouseFocus) { if(isErasing) { CanvasComponentContainer::TransformData drawTransform = CanvasComponentContainer::calculate_draw_transform(drawData.cam.c, genData.coords); canvas->save();