diff --git a/src/DrawingProgram/BrushTool.cpp b/src/DrawingProgram/BrushTool.cpp index e4638ce..a6bb884 100644 --- a/src/DrawingProgram/BrushTool.cpp +++ b/src/DrawingProgram/BrushTool.cpp @@ -153,10 +153,12 @@ void BrushTool::tool_update() { } void BrushTool::commit_stroke() { - NetworkingObjects::NetObjOwnerPtr& containerPtr = objInfoBeingEdited->obj; - containerPtr->commit_update(drawP); - containerPtr->send_comp_update(drawP, true); - objInfoBeingEdited = nullptr; + if(objInfoBeingEdited) { + NetworkingObjects::NetObjOwnerPtr& containerPtr = objInfoBeingEdited->obj; + containerPtr->commit_update(drawP); + containerPtr->send_comp_update(drawP, true); + objInfoBeingEdited = nullptr; + } } void BrushTool::gui_toolbox() { diff --git a/src/DrawingProgram/EditTool.cpp b/src/DrawingProgram/EditTool.cpp index 056b776..ece6bed 100644 --- a/src/DrawingProgram/EditTool.cpp +++ b/src/DrawingProgram/EditTool.cpp @@ -57,8 +57,8 @@ void EditTool::switch_tool(DrawingProgramToolType newTool) { compEditTool->commit_edit_updates(objInfoBeingEdited, prevData); objInfoBeingEdited->obj->commit_update(drawP); objInfoBeingEdited->obj->send_comp_update(drawP, true); + objInfoBeingEdited = nullptr; } - objInfoBeingEdited = nullptr; pointHandles.clear(); pointDragging = nullptr; isEditing = false; diff --git a/src/DrawingProgram/EllipseDrawTool.cpp b/src/DrawingProgram/EllipseDrawTool.cpp index 5bcd612..136bc9c 100644 --- a/src/DrawingProgram/EllipseDrawTool.cpp +++ b/src/DrawingProgram/EllipseDrawTool.cpp @@ -97,10 +97,12 @@ bool EllipseDrawTool::prevent_undo_or_redo() { } void EllipseDrawTool::commit() { - NetworkingObjects::NetObjOwnerPtr& containerPtr = objInfoBeingEdited->obj; - containerPtr->commit_update(drawP); - containerPtr->send_comp_update(drawP, true); - objInfoBeingEdited = nullptr; + if(objInfoBeingEdited) { + NetworkingObjects::NetObjOwnerPtr& containerPtr = objInfoBeingEdited->obj; + containerPtr->commit_update(drawP); + containerPtr->send_comp_update(drawP, true); + objInfoBeingEdited = nullptr; + } } void EllipseDrawTool::draw(SkCanvas* canvas, const DrawData& drawData) { diff --git a/src/DrawingProgram/RectDrawTool.cpp b/src/DrawingProgram/RectDrawTool.cpp index 2c67b0f..8136ad8 100644 --- a/src/DrawingProgram/RectDrawTool.cpp +++ b/src/DrawingProgram/RectDrawTool.cpp @@ -96,10 +96,12 @@ bool RectDrawTool::prevent_undo_or_redo() { } void RectDrawTool::commit() { - NetworkingObjects::NetObjOwnerPtr& containerPtr = objInfoBeingEdited->obj; - containerPtr->commit_update(drawP); - containerPtr->send_comp_update(drawP, true); - objInfoBeingEdited = nullptr; + if(objInfoBeingEdited) { + NetworkingObjects::NetObjOwnerPtr& containerPtr = objInfoBeingEdited->obj; + containerPtr->commit_update(drawP); + containerPtr->send_comp_update(drawP, true); + objInfoBeingEdited = nullptr; + } } void RectDrawTool::draw(SkCanvas* canvas, const DrawData& drawData) { diff --git a/src/DrawingProgram/TextBoxTool.cpp b/src/DrawingProgram/TextBoxTool.cpp index d05498d..6c03904 100644 --- a/src/DrawingProgram/TextBoxTool.cpp +++ b/src/DrawingProgram/TextBoxTool.cpp @@ -96,10 +96,12 @@ bool TextBoxTool::prevent_undo_or_redo() { } void TextBoxTool::commit() { - NetworkingObjects::NetObjOwnerPtr& containerPtr = objInfoBeingEdited->obj; - containerPtr->commit_update(drawP); - containerPtr->send_comp_update(drawP, true); - objInfoBeingEdited = nullptr; + if(objInfoBeingEdited) { + NetworkingObjects::NetObjOwnerPtr& containerPtr = objInfoBeingEdited->obj; + containerPtr->commit_update(drawP); + containerPtr->send_comp_update(drawP, true); + objInfoBeingEdited = nullptr; + } } void TextBoxTool::draw(SkCanvas* canvas, const DrawData& drawData) {