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();