@@ -211,15 +211,16 @@ class CornerstoneViewport extends Component {
211211 isStackPrefetchEnabled : prevIsStackPrefetchEnabled ,
212212 } = prevProps ;
213213 const hasStackChanged = ! areStringArraysEqual ( prevStack , stack ) ;
214- const hasImageIndexChanged = imageIndex !== prevImageIndex ;
214+ const hasImageIndexChanged =
215+ imageIndex != null && imageIndex !== prevImageIndex ;
215216 let updatedState = { } ;
216217
217218 if ( hasStackChanged ) {
218219 // update stack toolstate
219220 cornerstoneTools . clearToolState ( this . element , 'stack' ) ;
220221 cornerstoneTools . addToolState ( this . element , 'stack' , {
221222 imageIds : [ ...stack ] ,
222- currentImageIdIndex : imageIndex ,
223+ currentImageIdIndex : imageIndex || 0 ,
223224 } ) ;
224225
225226 // New stack; reset counter
@@ -228,7 +229,7 @@ class CornerstoneViewport extends Component {
228229
229230 try {
230231 // load + display image
231- const imageId = stack [ imageIndex ] ;
232+ const imageId = stack [ imageIndex || 0 ] ;
232233 cornerstoneTools . stopClip ( this . element ) ;
233234 const image = await cornerstone . loadAndCacheImage ( imageId ) ;
234235
@@ -711,6 +712,10 @@ class CornerstoneViewport extends Component {
711712 }
712713 } ;
713714
715+ onResize = ( ) => {
716+ cornerstone . resize ( this . element ) ;
717+ } ;
718+
714719 render ( ) {
715720 const isLoading = this . state . isLoading ;
716721 const displayLoadingIndicator = isLoading || this . state . error ;
@@ -730,9 +735,7 @@ class CornerstoneViewport extends Component {
730735 skipOnMount = { true }
731736 refreshMode = { 'throttle' }
732737 refreshRate = { this . props . resizeThrottleMs }
733- onResize = { ( ) => {
734- cornerstone . resize ( this . element ) ;
735- } }
738+ onResize = { this . onResize }
736739 />
737740 < div
738741 className = "viewport-element"
0 commit comments