Why doesn't this work now? (Copy & paste of a card with a background)

Arthur Rann arthur.rann at gmail.com
Sun Feb 15 08:46:53 EST 2009


Hi,

On Mon, Feb 9, 2009 at 2:58 PM, J. Landman Gay <jacque at hyperactivesw.com>wrote:

> Arthur Rann wrote:
>
>  I've also noticed that while the docs say that 'Clone This Card' will set
>> the current card to the new card, on the stack that has issues, this is
>> definitely not the case. After a Clone This Card command is issued, the
>> current card is the original card, and not the clone.
>> On a virgin stack, the current card is the clone.
>>
>> What could be wrong?
>>
>
> Hard to say without actually debugging the stack. It could be a
> lockmessages issue (either messages are locked and shouldn't be, or they're
> unlocked and should be locked.) Or a frontscript or backscript could be
> interfering. Or maybe there is a command later in the script that returns to
> the originating card after the clone is made.
>
> Your best bet is to walk through the script line by line in the debugger.
> It should become apparent where it's going off track, because you'll see
> when the stack goes back to the original card. You can type into the message
> box during debugging, which can help. After the clone is made, type "the
> number of this cd" into the message box and see what it says. Maybe it
> really is the right card.
>
And how did you *think* I arrived at the conclusions above? ;)This is how I
always debug, and how I arrived at the theory there was something wrong.
And there ABSOLUTELY was.

I found that if I removed every instance of anything that did a copy & paste
for the cards, saved and quit, then copied every objects and script out of
the stack into a new stack, saved, quit, and opened again, it finally saved
the new stack in a usable format.

And no, just copying the objects out was not enough. As long as the scripts
had references to copy and paste of cards, as soon as one of those scripts
would run, the stack was forever damaged. It wasn't pretty, and I've spent a
week of nearly sleepless nights trying to track down how to fix this.

Every combination of the above steps that didn't follow that order would end
up with a corrupt stack.

So there's something absolutely broken in copy and paste of cards for at
least Rev v3.0, so I avoid those like the plague now. Long live clone card.
And it seems to be working!

So I guess the lesson is to not upgrade to a new version for any app that
I'm shipping, until I have a lot of time to test it. But it works now, and
it's a fairly simple app, so I'm hoping I don't have to touch it again for a
loooong time.

Thank you,
-Art



More information about the use-livecode mailing list