react-native/React
DougBanksPersonal cc30e2b57c Update RCTNavigator.m
Summary:
I am using ReactNative in a hybrid App.

We have a setup like so:

Native Navigation Controller
  Native Tab Controller
    Native View Controller wrapping React
      React Navigation Controller
        React View Controller 1
          React View Controller 2
  Native View Controller 2.

When I pop Native View Controller 2 off the Navigation stack, I get a seg fault on this line:

NSUInteger indexOfFrom = [_currentViews indexOfObject:fromController.navItem];

I believe what's happening:
Your code is listening to Nav Controller transitions, assuming that they are all from React Native Nav Controllers.
You are catching this one instead, which is actually a Native Nav Controller transition.
You start trying to access the pushed/popped view controllers as if they were react native view controllers.

In this case, the view controllers are not react native -> no navItem field -> seg fault.

Solution: if we are catching this transition but it isn't from our react native nav controller, just
Closes https://github.com/facebook/react-native/pull/5495

Reviewed By: svcscm

Differential Revision: D2857473

Pulled By: nicklockwood

fb-gh-sync-id: cc7f0a16e2e0cea56ca9e49bcb87db4ebd3a0905
2016-01-22 17:27:32 -08:00
..
Base RCTGzipData() acceps nil input, but was not marked as returning nullable output 2016-01-22 08:40:29 -08:00
Executors Add context executor API for sync hooks 2016-01-05 08:00:38 -08:00
Layout updated css-layout and fixed callsites 2015-12-21 10:18:41 -08:00
Modules Make "Loading from pre-bundle" message more distinctive 2016-01-22 06:57:28 -08:00
Profiler Update createView C function on profiler 2016-01-07 12:03:38 -08:00
React.xcodeproj Refactor hot loading implementation on iOS 2016-01-04 10:40:32 -08:00
Views Update RCTNavigator.m 2016-01-22 17:27:32 -08:00