crash when moving between stacks (again)

Nicolas Cueto niconiko at
Tue Mar 8 18:43:08 EST 2011

Dear List,

Posted this back in June. Got no reply. But am posting gain, in hopes.

In short, one of my more convoluted Rev creations keeps crashing
when some of its stacks close.

It's a combination of stacks. Here are the pieces:

- standalone-stack (holds the engine)
- central-stack (for game-stack selection)
- game-stacks (a myriad of these, some of them with substacks)

Crashes happen when a game-stack is closed to return to the central-stack.
Moreso for some game-stacks than others.

I double checked that every stack, substack, and card has a
preopen/open/close handler, even if this is empty.

I thought it may be a memory issue, cause the game-stack that almost
always crashes has many URL-referenced image objects and runs on older
Win machines. However, I tested on a newer machine with ample memory
and cpu power, but  still get crashes.

Below is an outline of the scripted inter-relation between stacks. Perhaps
someone will spot something I've overlooked

Thank you.


Nicolas Cueto

------  S T A R T    O F     S C R I P T S   -----

/*  In the card script of STANDALONE-STACK,
   this handler sets stackFiles and then goes to
  stack CENTRAL-STACK. */

on setUpTheFoundation
    start using stack "STANDALONE "
    put "GAMESTACK1,gamestack1.rev" & cr & "GAMESTACK2,gamestack2.rev"
& cr & ... \
        & "animationEngine,animationEngine.rev"       into      tStackFiles
    set the stackFiles of stack "niconiko" to tStackFiles
    ## Set the globals used by all stacks
    open stack "CENTRAL"
    hide stack "STANDALONE"
end setUpTheFoundation

/* In stack script of CENTRALSTACK. */

on closestack
end closestack

/* In a go-to-gamestack button script on

on mouseUp
   open stack GAMESTACK
   hide stack CENTRALSTACK
end mouseUp

/* In the stack script of  BAD-GAMESTACK */

on closeStack
   ## Reset custom props of some grouped objects.
   ## Clear pending messages
   ## Clear the cachedURLs.
   set the lockScreen to true
   ## Set to empty the filename of 100 images.
   set the lockScreen to false
   go to card "main" of stack "gss"
   show stack "gss"
   delete stack "blitz"
end closeStack

/* In the card script of  BAD-GAMESTACK, which script
   calls up the NAVIGATION-SUBSTACK that can take
   user back to CENTRALSTACK.  */

on rawKeyUp theKey
   switch theKey
      case "56"
         modal stack NAVIGATION-SUBSTACK
         pass rawKeyUp
         exit rawKeyUp
         exit to top
    end switch
end rawKeyUp

on closecard
   ## Clear the cachedURLs.
   ## Cancel pending messages.
   ## Reset custom props.
   ## For each of 100 image objects:
   ##   reset filename to "", outerglow,
   ##   and innerglow.
   ## Close the socket connection to
   ## the local server.
end closecard

/* In the card script of  NAVIGATION-SUBSTACK. */

on rawKeyUp theKey
   put "49,50,51,52" into tGameControllerRightsideButtons
   if theKey is not among the items of tGameControllerRightsideButtons then
      pass rawKeyUp
      exit rawKeyUp
   end if
  ## Find which navigational image is on.
   switch tCurentlyOnImage
      case "quit"
         send "closeStack" to stack BAD-GAMESTACK in 2 seconds
         close this stack -- i.e., NAVIGATION-SUBSTACK... should I
name the stack explicitly here?
         exit to top
   end switch
end rawKeyUp

------     E N D    O F     S C R I P T S   -----

More information about the use-livecode mailing list