[FIXED] New storyboard bug - could someone confirm?

My understanding of storyboard was that while a transition is in effect, touch events aren’t registered in either the outgoing or incoming scene. One guesses that they throw up a full screen rect capturing the events or something, not really sure.

Anyway, as of daily build 2018, it appears this is no longer true, and it causes a crash as I’m guessing storyboard gets confused about scenes (attempting to handle 3 scenes at once instead of 2 - the latest scene does not receive the parameters it should from the button in the second).

I just wanted to confirm my understanding of how storyboard works with transitions before I file a bug, because I’m not sure on some of this, although one thing is certain: My code now dies if I click early, and before it didn’t :frowning:

What is the 3rd scene?

I’m unaware of any thing blocking touches while scenes are transitioning.

Rob thats what Im not sure of and wanted to check, but I dont recall ever having problems in the past relating to buttons on the incoming scene. With my memory that isnt 100% surety, so Ill just have to do some tests. On the other hand, if there isnt an event blocker until the transitions finish, there probably should be :slight_smile:

I wasn’t aware that storyboard did that for you either (at least that’s what I’ve assumed for a loooong time).

The way I’ve handled it is to create a display object called transitionCover (local to every scene), which is a newRect created as the last object in createScene (so it’s on top of everything else). It covers the whole screen where isVisible=false, isHitTestable=true and has an event listener which just returns true to swallow any events.

In every enterScene I set transitionCover.isHitTestable=false, and in every exitScene I set transitionCover.isHitTestable=true.

I add this to all the storyboard scenes of the app, and it seems to work well ;) .

Cheers - looks like Ive just been lucky up until now. Which means - time to go back and fix my projects as I really don’t like being lucky :slight_smile: So end result is - not a bug, just weird coincidence that it only started happening in the latest daily (but weirder cos it literally never happened before and then started happening a lot. I must have got impatient recently). Thanks for the info gs, and sorry for the false alarm!

After thinking about it some more, it does feel like something that could be taken care of by Storyboard though…

For anybody who’s interested: I just put up a feature request here:

http://feedback.coronalabs.com/forums/188732-corona-sdk-feature-requests-feedback/suggestions/4803539-disable-widgets-event-handlers-during-storyboard-t

Voted +3

Can someone file a bug for this please?
I know for a fact that storyboard has code to prevent touches during scene transitions so this is either a regression bug or a new bug due to G2.0 changes.

Can someone please confirm if it happens on both non and G2.0 builds and submit a bug and pass me on the bug #?

Thanks!

I won’t have time to do the checking and bug filing until tomorrow though, if someone else has the time beforehand let us know here.

Cheers Danny, I can sleep a little easier knowing I am not mad. I blame Rob :slight_smile:

The problem might be the fullscreen blocker being off-center now with the anchor point changes.

In fact, given how we can now change the default anchor points (and indeed I do do that in several projects) I imagine you’d want to check you specifically set them on the blocker rectangle.

I came to this conclusion by doing a quick test - my screen has a grid of buttons on it so I set the transition time to something high and I just saw which buttons responding during the transition and which ones didn’t - only the ones in the top left quarter of the screen still are blocked, so it is almost certainly a position / anchor issue.

Oh joy!  I can remove some code!

I’ve had my own handlers in place ever since storyboard came out assuming it didn’t have any “touch-inhibitors”  :P.

I’ll have a stab at this during the day to see what I can some up with. I do know that I had to adjust my own code for G2 since the center of my rect became placed in the upper-left of the screen. As @rakoonic says, it’s possibly the same issue for the built-in handler.

OSX Mavericks

Corona SDK 2013.2021

Xcode 5.0.1

Reported as Case #27351 which includes a sample project.

It’s a G2.0 issue. G1 blocks all taps correctly.

Only the upper left quadrant of the screen blocks taps in 2.0, so it does seem to be an anchor-point issue with the built-in blocking rect.

Cheers for doing that Ingemar, most appreciated :slight_smile:

Thanks for the report. This is fixed in daily build 2060.

Confirmed fixed in 2060. Thanks!

Cheers :slight_smile:

What is the 3rd scene?

I’m unaware of any thing blocking touches while scenes are transitioning.

Rob thats what Im not sure of and wanted to check, but I dont recall ever having problems in the past relating to buttons on the incoming scene. With my memory that isnt 100% surety, so Ill just have to do some tests. On the other hand, if there isnt an event blocker until the transitions finish, there probably should be :slight_smile:

I wasn’t aware that storyboard did that for you either (at least that’s what I’ve assumed for a loooong time).

The way I’ve handled it is to create a display object called transitionCover (local to every scene), which is a newRect created as the last object in createScene (so it’s on top of everything else). It covers the whole screen where isVisible=false, isHitTestable=true and has an event listener which just returns true to swallow any events.

In every enterScene I set transitionCover.isHitTestable=false, and in every exitScene I set transitionCover.isHitTestable=true.

I add this to all the storyboard scenes of the app, and it seems to work well ;) .

Cheers - looks like Ive just been lucky up until now. Which means - time to go back and fix my projects as I really don’t like being lucky :slight_smile: So end result is - not a bug, just weird coincidence that it only started happening in the latest daily (but weirder cos it literally never happened before and then started happening a lot. I must have got impatient recently). Thanks for the info gs, and sorry for the false alarm!