 
   calculateAndFetchMoreIfNeeded: ->
 
-    viewHeight = @getView().getHeight()
-    listHeight = @getListView().getHeight()
+    mainView   = @getView()
+    listView   = @getListView()
+
+    viewHeight = mainView.getHeight()
+    listHeight = listView.getHeight()
+
+    debug 'calculateAndFetchMoreIfNeeded', {
+      listHeight, viewHeight, listView, mainView
+    }
+
+    return  if 0 in [ viewHeight, listHeight ]
 
     if listHeight <= viewHeight
       @lazyLoader.show()


  bindEvents: ->

    @followLazyLoad()  if @getOption 'loadWithScroll'

    listView = @getListView()

    listView
      .on 'ItemAction', ({ action, item, options }) =>
        switch action


  followLazyLoad: ->

    { limit } = @getOptions()

    @on 'LazyLoadThresholdReached', kd.utils.debounce 300, =>

      return @hideLazyLoader()  if @filterStates.busy

      @filterStates.skip += limit

      @fetch @filterStates.query, (items) =>
        @addListItems items
        @filterStates.page++

        if items.length is limit
          @calculateAndFetchMoreIfNeeded()

      , { skip : @filterStates.skip }


