fix exception that was previously triggered when trying to insert after loading a parsed tree, by making sure that the arrowX and arrowY fields are clamped by the new canvas width and height

This commit is contained in:
2025-08-09 13:08:26 +01:00
parent 6f91c6fc52
commit 17a8885d77
3 changed files with 7 additions and 2 deletions

BIN
dotscape

Binary file not shown.

View File

@@ -1000,7 +1000,7 @@ struct
}
end
fun useLayerTree (app: app_type, layerTree, canvasWidth, canvasHeight) :
fun parsedLayerTree (app: app_type, layerTree, canvasWidth, canvasHeight) :
app_type =
let
val
@@ -1028,6 +1028,11 @@ struct
, layerTree = _
, modalNum
} = app
val arrowX =
if canvasWidth = 0 then 0 else Int.min (canvasWidth - 1, arrowX)
val arrowY =
if canvasHeight = 0 then 0 else Int.min (canvasHeight - 1, arrowY)
in
{ mode = mode
, mouseX = mouseX

View File

@@ -337,7 +337,7 @@ struct
fun useLayers (model, layerTree, canvasWidth, canvasHeight) =
let
val model =
AppWith.layerTree (model, layerTree, canvasWidth, canvasHeight)
AppWith.parsedLayerTree (model, layerTree, canvasWidth, canvasHeight)
in
getDrawMessage model
end