[ 
https://issues.apache.org/jira/browse/CB-3534?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13786371#comment-13786371
 ] 

Andrew Grieve commented on CB-3534:
-----------------------------------

Just tried this with Cordova 3.1 (downloaded the zip, swapped out the 
cordova.js file as well as the CordovaLib directory with the 3.1 versions), and 
both alerts fire. Confirmed that they didn't fire with the 2.7 versions. Maybe 
this is already fixed?

> Multiple CDVViewControllers - deviceready not fired and cordova.exec events 
> queued up till backgrounding
> --------------------------------------------------------------------------------------------------------
>
>                 Key: CB-3534
>                 URL: https://issues.apache.org/jira/browse/CB-3534
>             Project: Apache Cordova
>          Issue Type: Bug
>          Components: App Hello World, CordovaJS, iOS
>    Affects Versions: 2.3.0, 2.7.0
>         Environment: Reproducible on iPhone/iPad 6.1 Simulator and Device.
>            Reporter: Mike Kwan
>            Assignee: Shazron Abdullah
>            Priority: Critical
>             Fix For: 3.2.0
>
>         Attachments: CordovaBug.zip, Screen Shot 2013-05-29 at 13.55.42.png, 
> Screen Shot 2013-05-29 at 14.31.44.png
>
>
> Minimal example reproducing the problem is attached and set up as follows:
>  # Custom container view controller split into two halves each containing a 
> _CDVViewController_
>  # Top half loads and after a delay (3000ms) fires a _NSNotification_
>  # In response to the _NSNotification_ the top half loads a green page and 
> the bottom half loads a red page
> Both red pages and green pages have an event listener for *deviceready*:
> {code}
> function onDeviceReady() {
>     alert('deviceready from XXXXX'); // colour here
>     cordova.exec(null, null, 'Echo', 'echo', ['hello']);
> };
> {code}
> {panel:title=Observed 
> Behaviour|borderStyle=dashed|borderColor=#ccc|titleBGColor=#F7D6C1|bgColor=#FFFFCE}
>  - _deviceready_ is fired only for the red page (bottom)
>  - The _cordova.exec_ succeeds for the red page (bottom)
>  - _deviceready_ is not fired for the green page (top)
> {panel}
> {panel:title=Expected 
> Behaviour|borderStyle=dashed|borderColor=#ccc|titleBGColor=#F7D6C1|bgColor=#FFFFCE}
> _deviceready_ should be fired for both the green and red page simultaneously 
> and the _cordova.exec_ events should go through immediately.
> {panel}
> {panel:title=Extra 
> Details|borderStyle=dashed|borderColor=#ccc|titleBGColor=#F7D6C1|bgColor=#FFFFCE}
> This bug reproduces the first time the app is launched (reset the simulator 
> to reproduce). On subsequent launches the app behaves as expected.
> The _deviceready_ can be triggered by certain events for the top page:
>  - Pulling down the notification bar
>  - Backgrounding
> If _deviceready_ is triggered by pulling down the notification bar, the 
> _cordova.exec_ is still not fired for the green page. The _cordova.exec_ 
> message is queued up and finally does go through when the app is backgrounded.
> {panel}
> This bug is remarkably similar to the following:
> https://issues.apache.org/jira/browse/CB-2094
> Perhaps it is an edge case which was overlooked? This bug reproduces on 2.3.0 
> and 2.7.0 - I have not tried other versions yet.



--
This message was sent by Atlassian JIRA
(v6.1#6144)

Reply via email to