     oldp = @stack[i]
     @stack[i] = p
     @emitter.emit 'did-update-progress', p
-    # if p.determinate changes, update the stack display
-    @emitter.emit 'did-update-stack' unless oldp.determinate is p.determinate
+    # if determinate-ness changes, update the stack display
+    @emitter.emit 'did-update-stack' unless oldp.progress*p.progress > 0
 
   emptyStack: () ->
     @stack = []

      # backwards iteration
      for i in [0...@stack.length].reverse()
        p = @stack[i]
        continue unless p.determinate
        table.appendChild @tableRowView p
        @emitter.emit 'did-update-progress', p



    updateView = (prg) =>
      return unless p.id is prg.id
      if prg.progress >= 0
        prog.setAttribute 'value', prg.progress
      else
        prog.removeAttribute 'value'
