Look at the illegal file names you are generating for your saved image files.
Where is the .jpg file name suffix?

Look at the illegal file names you are generating for your saved image files.
Where is the .jpg file name suffix?

Also, where is the Screen.Initialize event where you capture the first image in the stack?
Lack of that would throw off the index (1 for an empty stack.)
Yes, I put that back. Not sure how it got deleted.
You need to capture one image before your first touch event, otherwise the bottom of your image stack won't have a total Undo image.
When you say “capture one image”, I am not sure what you mean. The Pinwheel Block Image is set as a Background Image on the Canvas (this was set on the Designer Tab).
But, that same Pinwheel image is also set as the background image in the Screen.Initialize event. Could this double setting of an image cause issues with the Stack?
Canvas SaveAs in combination with adding the resulting file name to the stack.
The Undo Click event does not change the contents of the stack.
My only guess is that the extension's flood fill is not reflected in the image files saved in the stack.
For debugging, try adding a List Picker whose Elements are loaded from the stack, and when selected, they are loaded into the Canvas Background for display.
I don't support extensions.
The sample app I supplied works okay without extensions,
Ty, I don’t know how to use a List Picker yet. I am going to sleep now, so I will check back here tomorrow. Ty again for all your help.
I just realized that if I click Undo, and then try to refill the area, the color does not fill completely, and the Outlines get distorted, just as they did when I used the Undo that came with the Extended Canvas extension. So, you may be right about that extension not supporting the image files saved in the stack. If this is true, is there any other way to do Flood Fill on these Quilt Blocks using the built-in tools? (I will check back tomorrow.)
Switch to a list of polygons and use the canvas polygons blocks.
Select the polygon using a slider ranging over the list indexes of the polygons.
Highlight the current polygon the same way the AI2 blocks editor highlights a block, with a yellow border.
Knowing which polygon to fill makes it a trivial redraw.
Ty. That does seem a bit too advanced for me. I did change the .jpg to .png, hoping that would make my redraws cleaner. It helped slightly. I also put in several “emptying” blocks for the global UndoIndex and ImageStack. I put these in places like my Reset Buttons, or changing Screens. It seems that things are working ok except for that last Redo. But, I can accept that, given my novice level with this software.
When you Undo and Redo, you are reloading the background image of the Canvas from a list of file names traversed by the Undo and Redo buttons.
There is no actual flood fill action happening during Undo and Redo.
So the question is: Is the stack of image files truly reflecting the actions that filled it?
That can be confirmed independently, using a List Picker whose Elements are loaded from the Undo stack, and whose selection action is to display the selected image file.
From your description, it sounds like either the Canvas SaveAs operation is missing results of flood fills, or is not adding images to the Undo stack..
Diagnosing this requires going through the Undo stack and examining the images, one after another.
Hi. There is a Video Link in my last comment, showing how it is behaving. Here is that Link again: https://youtu.be/PD2N-htjEbA
I don’t know how to set up the List Picker to see my Image files from the Stack. However, when I clicked “Do it” on the Image Stack, I could see that the correct number of Images were in the Stack.
Why are you using different global variables for the Undo/Redo stack?
Pick a variable, and stick with it.
I'm not using different variables.
Sorry, my eyes couldn't make out the names and the origins of the bubbles. You're right, it's the same variable.
How many Image Stacks do you have?
Could you be mistaking the Do It bubbles on global variables for live windows into their contents?
They are just snapshots in time.
If you stretch out a comment bubble, you might even find residue of previous Do It actions.
I am only using 1 ImageStack Variable, just like your example. But, when I click Do it on the different events, at the same moment in time, it shows a different amount of files within each event.
Before you do a Do It on a block, do a Remove Comment to flush out the prior Do It text.
Also, the comment bubbles lack scroll bars, so you might need to stretch them to see their entire content.
You would want to keep the Undo stack from becoming empty, because then you would lack fallback for undoing the first change.