react-native/React/Views
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
..
RCTActivityIndicatorViewManager.h Improved RCTActivityIndicatorView and fixed some flow errors 2015-04-26 02:17:13 -08:00
RCTActivityIndicatorViewManager.m Convert alloc/init to new to please linter 2015-08-17 08:46:00 -07:00
RCTAnimationType.h [LayoutAnimation] RCTAnimationTypeKeyboard 2015-06-25 09:17:01 -08:00
RCTAutoInsetsProtocol.h Automatically adjust content inset after view controller did layout subviews 2015-09-04 07:00:21 -08:00
RCTBorderDrawing.h Support dashed and dotted border styles on iOS 2015-12-23 10:07:28 -08:00
RCTBorderDrawing.m Fixed border smearing issue 2016-01-07 12:03:17 -08:00
RCTBorderStyle.h Add property mapping for `borderStyle` from JS to `RCTView` (iOS) 2015-12-01 09:00:28 -08:00
RCTComponent.h added `didSetProps` for views and shadow views 2015-11-27 04:03:42 -08:00
RCTComponentData.h Fix unused argument warnings 2015-12-30 14:16:29 -08:00
RCTComponentData.m Generalized image decoding and resizing logic 2016-01-20 11:11:13 -08:00
RCTConvert+CoreLocation.h [MapView] Support for annotation callouts, annotation press, callout presses and pin animation 2015-06-25 09:15:21 -08:00
RCTConvert+CoreLocation.m [MapView] Support for annotation callouts, annotation press, callout presses and pin animation 2015-06-25 09:15:21 -08:00
RCTConvert+MapKit.h Added ability to use a custom view for MapView annotations 2015-12-17 06:46:33 -08:00
RCTConvert+MapKit.m Implement draggable annotations on MapView. Closes #2512 2016-01-04 06:38:30 -08:00
RCTDatePicker.h Added mechanism for directly mapping JS event handlers to blocks 2015-09-02 06:11:24 -08:00
RCTDatePicker.m Added mechanism for directly mapping JS event handlers to blocks 2015-09-02 06:11:24 -08:00
RCTDatePickerManager.h Removed deprecated RCT_EXPORT + code paths 2015-06-05 09:58:25 -08:00
RCTDatePickerManager.m Replaced RCTSparseArray with NSDictionary 2015-11-14 10:28:28 -08:00
RCTImageComponent.h Implemented inline image support for <Text> 2015-10-08 11:56:25 -07:00
RCTMap.h Implement draggable annotations on MapView. Closes #2512 2016-01-04 06:38:30 -08:00
RCTMap.m Map follow user location 2016-01-06 11:00:34 -08:00
RCTMapAnnotation.h Implement draggable annotations on MapView. Closes #2512 2016-01-04 06:38:30 -08:00
RCTMapAnnotation.m Add Polyline support to MapView 2015-11-26 08:54:16 -08:00
RCTMapManager.h [ReactNative] s/ReactKit/React/g 2015-03-26 02:42:24 -08:00
RCTMapManager.m Map follow user location 2016-01-06 11:00:34 -08:00
RCTMapOverlay.h Add Polyline support to MapView 2015-11-26 08:54:16 -08:00
RCTMapOverlay.m Add Polyline support to MapView 2015-11-26 08:54:16 -08:00
RCTModalHostView.h Enable transparent modal presentation with <Modal /> 2015-08-14 04:47:12 -08:00
RCTModalHostView.m Return viewsWithNewFrame instead of passing it around 2015-11-17 06:37:31 -08:00
RCTModalHostViewController.h Add <Modal /> component 2015-07-28 07:21:50 -08:00
RCTModalHostViewController.m Refactored module access to allow for lazy loading 2015-11-25 04:49:45 -08:00
RCTModalHostViewManager.h Enable transparent modal presentation with <Modal /> 2015-08-14 04:47:12 -08:00
RCTModalHostViewManager.m Refactored module access to allow for lazy loading 2015-11-25 04:49:45 -08:00
RCTNavItem.h Added RCTImageSource 2015-12-08 03:32:30 -08:00
RCTNavItem.m Added RCTImageSource 2015-12-08 03:32:30 -08:00
RCTNavItemManager.h [ReactNative] s/ReactKit/React/g 2015-03-26 02:42:24 -08:00
RCTNavItemManager.m Added RCTImageSource 2015-12-08 03:32:30 -08:00
RCTNavigator.h Remove isValid from RCTInvalidating 2015-08-14 01:57:18 -08:00
RCTNavigator.m Update RCTNavigator.m 2016-01-22 17:27:32 -08:00
RCTNavigatorManager.h [ReactNative] s/ReactKit/React/g 2015-03-26 02:42:24 -08:00
RCTNavigatorManager.m Replaced RCTSparseArray with NSDictionary 2015-11-14 10:28:28 -08:00
RCTPicker.h Added support for styling the PickerIOS 2015-12-08 07:48:26 -08:00
RCTPicker.m Added support for styling the PickerIOS 2015-12-08 07:48:26 -08:00
RCTPickerManager.h [ReactNative] s/ReactKit/React/g 2015-03-26 02:42:24 -08:00
RCTPickerManager.m Replaced RegExp method parser with recursive descent 2015-12-10 10:12:29 -08:00
RCTPointerEvents.h [ReactNative] s/ReactKit/React/g 2015-03-26 02:42:24 -08:00
RCTProgressViewManager.h Added ProgressViewIOS 2015-06-03 09:49:35 -08:00
RCTProgressViewManager.m Replaced RCTSparseArray with NSDictionary 2015-11-14 10:28:28 -08:00
RCTRefreshControl.h Cross platform PullToRefreshView component 2016-01-04 08:00:29 -08:00
RCTRefreshControl.m Cross platform PullToRefreshView component 2016-01-04 08:00:29 -08:00
RCTRefreshControlManager.h Cross platform PullToRefreshView component 2016-01-04 08:00:29 -08:00
RCTRefreshControlManager.m Cross platform PullToRefreshView component 2016-01-04 08:00:29 -08:00
RCTScrollView.h UIRefreshControl added to scroll view 2015-11-19 11:15:48 -08:00
RCTScrollView.m Cross platform PullToRefreshView component 2016-01-04 08:00:29 -08:00
RCTScrollViewManager.h Remove scrollview support from UIManager, remove mainScrollView(delegate) 2015-11-25 04:12:34 -08:00
RCTScrollViewManager.m Deprecated `scrollResponderScrollWithoutAnimationTo` 2016-01-14 07:42:34 -08:00
RCTScrollableProtocol.h Remove scrollview support from UIManager, remove mainScrollView(delegate) 2015-11-25 04:12:34 -08:00
RCTSegmentedControl.h Added lightweight generic annotations 2015-11-03 14:49:30 -08:00
RCTSegmentedControl.m Added lightweight generic annotations 2015-11-03 14:49:30 -08:00
RCTSegmentedControlManager.h Add SegmentedControlIOS 2015-04-29 08:08:45 -08:00
RCTSegmentedControlManager.m Replaced RegExp method parser with recursive descent 2015-12-10 10:12:29 -08:00
RCTShadowView.h use didSetProps instead of updateLayout 2015-11-27 04:03:48 -08:00
RCTShadowView.m updated css-layout and fixed callsites 2015-12-21 10:18:41 -08:00
RCTSlider.h Add option for both min/max track image. 2015-12-21 10:30:39 -08:00
RCTSlider.m Add option for both min/max track image. 2015-12-21 10:30:39 -08:00
RCTSliderManager.h [ReactNative] s/ReactKit/React/g 2015-03-26 02:42:24 -08:00
RCTSliderManager.m Add option for both min/max track image. 2015-12-21 10:30:39 -08:00
RCTSwitch.h Added mechanism for directly mapping JS event handlers to blocks 2015-09-02 06:11:24 -08:00
RCTSwitch.m [ReactNative] s/ReactKit/React/g 2015-03-26 02:42:24 -08:00
RCTSwitchManager.h [ReactNative] s/ReactKit/React/g 2015-03-26 02:42:24 -08:00
RCTSwitchManager.m Added mechanism for directly mapping JS event handlers to blocks 2015-09-02 06:11:24 -08:00
RCTTabBar.h Added mechanism for directly mapping JS event handlers to blocks 2015-09-02 06:11:24 -08:00
RCTTabBar.m fix the memory leaks caused by RCTTabBar 2015-11-05 09:39:30 -08:00
RCTTabBarItem.h Added RCTImageSource 2015-12-08 03:32:30 -08:00
RCTTabBarItem.m Added RCTImageSource 2015-12-08 03:32:30 -08:00
RCTTabBarItemManager.h [ReactNative] s/ReactKit/React/g 2015-03-26 02:42:24 -08:00
RCTTabBarItemManager.m Added RCTImageSource 2015-12-08 03:32:30 -08:00
RCTTabBarManager.h [ReactNative] s/ReactKit/React/g 2015-03-26 02:42:24 -08:00
RCTTabBarManager.m Added mechanism for directly mapping JS event handlers to blocks 2015-09-02 06:11:24 -08:00
RCTTextDecorationLineType.h <Text> module add textDecoration style attributes 2015-07-07 06:15:20 -08:00
RCTView.h Add property mapping for `borderStyle` from JS to `RCTView` (iOS) 2015-12-01 09:00:28 -08:00
RCTView.m Improved shadow performance 2016-01-14 14:04:34 -08:00
RCTViewControllerProtocol.h [ReactNative] s/ReactKit/React/g 2015-03-26 02:42:24 -08:00
RCTViewManager.h removed `viewWithProps:` from `RCTViewManager` 2015-12-21 10:18:47 -08:00
RCTViewManager.m removed `viewWithProps:` from `RCTViewManager` 2015-12-21 10:18:47 -08:00
RCTWebView.h Replaced RCTSparseArray with NSDictionary 2015-11-14 10:28:28 -08:00
RCTWebView.m Replaced RCTSparseArray with NSDictionary 2015-11-14 10:28:28 -08:00
RCTWebViewManager.h [ReactNative] s/ReactKit/React/g 2015-03-26 02:42:24 -08:00
RCTWebViewManager.m add allowsInlineMediaPlayback prop to play inline html5 video 2015-11-19 07:11:29 -08:00
RCTWrapperViewController.h Added mechanism for directly mapping JS event handlers to blocks 2015-09-02 06:11:24 -08:00
RCTWrapperViewController.m Automatically adjust content inset after view controller did layout subviews 2015-09-04 07:00:21 -08:00
UIView+Private.h Perform clip update on RCTScrollView in increments of 50 pt 2015-08-13 07:56:41 -08:00
UIView+React.h Replaced RCTSparseArray with NSDictionary 2015-11-14 10:28:28 -08:00
UIView+React.m PixelRatio.pixel() 2016-01-15 05:15:31 -08:00