Kevin Hawkins created CB-1694:
---------------------------------

             Summary: [iOS]: View controller not properly unregistered in 
CDVURLProtocol
                 Key: CB-1694
                 URL: https://issues.apache.org/jira/browse/CB-1694
             Project: Apache Cordova
          Issue Type: Bug
          Components: iOS
    Affects Versions: 2.2.0
         Environment: Xcode 4.5 / OS X 10.7.5 (Lion) / Commit 
b74752f42da53532150d17aab80c0c6ae36a1a69
            Reporter: Kevin Hawkins
            Assignee: Shazron Abdullah


[CDVURLProtocol unregisterViewController:] does not properly unregister the 
Cordova view controller from gRegisteredControllers.  The view controller is 
registered in gRegisteredControllers with its "long long" representation, but 
it's unregistered by attempting to remove the view controller object itself 
from the list, which of course is not in the set.

This causes a crash (EXC_BAD_ACCESS) in my test app (which removes and 
re-creates the view controller through a plugin), because something seems to 
call /!gap_exec again after my view controller has been deallocated.  I'm not 
sure if that points to a bigger problem or not.  But at any rate, when I change 
[CDVURLProtocol unregisterViewController:] to properly remove the view 
controller from the set, my app never crashes, through multiple recycles of the 
view controller.

I can attach my sample app, if that's helpful to understanding the crash 
scenario.  But the unregister bug is unambiguous, so we could just fix that.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira

Reply via email to