diff --git a/spec/pane-spec.coffee b/spec/pane-spec.coffee index 36803bde6..325087263 100644 --- a/spec/pane-spec.coffee +++ b/spec/pane-spec.coffee @@ -751,6 +751,12 @@ describe "Pane", -> pane2.destroy() expect(container.root).toBe pane1 + describe "::focus()", -> + it "doesn't blow up if the pane has been destroyed", -> + pane = new Pane(paneParams()) + pane.destroy() + pane.focus() + describe "serialization", -> pane = null diff --git a/src/pane.coffee b/src/pane.coffee index 412fc5251..06ffd8f49 100644 --- a/src/pane.coffee +++ b/src/pane.coffee @@ -248,7 +248,7 @@ class Pane extends Model # Called by the view layer to indicate that the pane has gained focus. focus: -> @focused = true - @activate() unless @isActive() + @activate() unless @isActive() or @isDestroyed() # Called by the view layer to indicate that the pane has lost focus. blur: ->