From 2f0948511dda5e3d129b5ad04d735ff1dd59bc71 Mon Sep 17 00:00:00 2001 From: Oskar Eichler <62393985+OskarEichler@users.noreply.github.com> Date: Fri, 28 Aug 2026 01:55:47 +0300 Subject: [PATCH] fix(ios): guard pager callbacks without a Fabric emitter --- ios/RNCPagerViewComponentView.mm | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/ios/RNCPagerViewComponentView.mm b/ios/RNCPagerViewComponentView.mm index eeeecde6..cdc093d1 100644 --- a/ios/RNCPagerViewComponentView.mm +++ b/ios/RNCPagerViewComponentView.mm @@ -102,17 +102,22 @@ - (void)updateProps:(const facebook::react::Props::Shared &)props oldProps:(cons #pragma mark - PagerViewProviderDelegate - (void)onPageScrollWithData:(OnPageScrollEventData *)data { - const auto eventEmitter = [self pagerEventEmitter]; [self sendScrollEventsForPosition:data.position offset:data.offset]; } - (void)onPageSelectedWithPosition:(NSInteger)position { const auto eventEmitter = [self pagerEventEmitter]; + if (!eventEmitter) { + return; + } eventEmitter->onPageSelected(RNCViewPagerEventEmitter::OnPageSelected{.position = static_cast(position)}); } - (void)onPageScrollStateChangedWithState:(enum PageScrollState)state { const auto eventEmitter = [self pagerEventEmitter]; + if (!eventEmitter) { + return; + } RNCViewPagerEventEmitter::OnPageScrollStateChangedPageScrollState scrollState; @@ -171,6 +176,9 @@ - (void)setScrollEnabledImperatively:(BOOL)scrollEnabled { - (void)sendScrollEventsForPosition:(NSInteger)position offset:(CGFloat)offset { const auto eventEmitter = [self pagerEventEmitter]; + if (!eventEmitter) { + return; + } eventEmitter->onPageScroll(RNCViewPagerEventEmitter::OnPageScroll{ .position = static_cast(position), .offset = offset