Just witnessed MC do a strange double-save..

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
2 messages Options
Reply | Threaded
Open this post in threaded view
|

Just witnessed MC do a strange double-save..

Chris Muller-3
I just saved a new MCVersion a while ago and, after entering my notes
and clicking "Accept", the MCSave dialog disappeared, there was a
quick progress bar, but no Version Summary window appeared, AND my
working-copy still appeared dirty, and no new file was saved in the
repository.

Thinking it was a problem similar to what Bert's problem workarounded
with "This modal dialog was interrupted, please close it," I simply
resaved (thank goodness I still carry the habit of copying my notes
into teh clipboard!) and, this time, it "worked."

But then, several minutes later, out of the blue, another
VersionSummary window for that same Version appeared -- as if the one
that had gotten "stuck" earlier finally unstuck itself.  There was
also a menu question asking me if I wanted to overwrite the filename.
I think I chose to cancel, not overwrite.

Now, the state of my ancestry is that the VersionInfo for the saved
package has a different UUID id than the one in the repository.  I've
had to delete my working copy and re-adopt the one in the repository.

So, something about the way we handle our modal dialogs, we really
need to figure out a better way..!

Reply | Threaded
Open this post in threaded view
|

Re: Just witnessed MC do a strange double-save..

marcel.taeumel
This is only related to the way *Monticello* handles modal dialogs. ;-) In other places, we use HandMorph >> #newMouseFocus:. For example, take a look at the Save/Quit dialog.

Although our main loop in Morphic is reentrant, I dislike programming that way. One might easily call only a sub-part of that loop and the system feels responsive but, for example, omits to process step messages. That strange things occure once that inner part finishes and the regular (outer) main loop continues. Another thing is the debugger, which will just kill the UI process and hence all nested UI loops in it.

Best,
Marcel