diff --git a/src/DrawingProgram/EllipseDrawTool.cpp b/src/DrawingProgram/EllipseDrawTool.cpp index 272595c..4fa365b 100644 --- a/src/DrawingProgram/EllipseDrawTool.cpp +++ b/src/DrawingProgram/EllipseDrawTool.cpp @@ -28,7 +28,6 @@ void EllipseDrawTool::gui_toolbox() { } bool EllipseDrawTool::edit_gui(const std::shared_ptr& a) { - DrawEllipse::Data oldData = a->d; Toolbar& t = drawP.world.main.toolbar; t.gui.push_id("edit tool ellipse"); t.gui.text_label_centered("Edit Ellipse"); @@ -55,7 +54,10 @@ bool EllipseDrawTool::edit_gui(const std::shared_ptr& a) { }); } t.gui.pop_id(); - return a->d != oldData; + + bool editHappened = a->d != controls.oldData; + controls.oldData = a->d; + return editHappened; } void EllipseDrawTool::edit_start(const std::shared_ptr& a, std::any& prevData) { diff --git a/src/DrawingProgram/EllipseDrawTool.hpp b/src/DrawingProgram/EllipseDrawTool.hpp index 8c23013..bd15fde 100644 --- a/src/DrawingProgram/EllipseDrawTool.hpp +++ b/src/DrawingProgram/EllipseDrawTool.hpp @@ -25,6 +25,7 @@ class EllipseDrawTool { void commit(); struct EllipseDrawControls { + DrawEllipse::Data oldData; Vector2f startAt; int fillStrokeMode = 1; int drawStage = 0; diff --git a/src/DrawingProgram/RectDrawTool.cpp b/src/DrawingProgram/RectDrawTool.cpp index 2f386b8..5b75a08 100644 --- a/src/DrawingProgram/RectDrawTool.cpp +++ b/src/DrawingProgram/RectDrawTool.cpp @@ -26,7 +26,6 @@ void RectDrawTool::gui_toolbox() { } bool RectDrawTool::edit_gui(const std::shared_ptr& a) { - DrawRectangle::Data oldData = a->d; Toolbar& t = drawP.world.main.toolbar; t.gui.push_id("edit tool rectangle"); t.gui.text_label_centered("Edit Rectangle"); @@ -54,7 +53,10 @@ bool RectDrawTool::edit_gui(const std::shared_ptr& a) { }); } t.gui.pop_id(); - return a->d != oldData; + + bool editHappened = a->d != controls.oldData; + controls.oldData = a->d; + return editHappened; } void RectDrawTool::reset_tool() { diff --git a/src/DrawingProgram/RectDrawTool.hpp b/src/DrawingProgram/RectDrawTool.hpp index e0c2bea..385374d 100644 --- a/src/DrawingProgram/RectDrawTool.hpp +++ b/src/DrawingProgram/RectDrawTool.hpp @@ -25,6 +25,7 @@ class RectDrawTool { void commit_rectangle(); struct RectDrawControls { + DrawRectangle::Data oldData; Vector2f startAt; float relativeRadiusWidth = 10.0f; int fillStrokeMode = 1;