diff --git a/src/app/edit-session.coffee b/src/app/edit-session.coffee index 53d4a265c..6f2ececfe 100644 --- a/src/app/edit-session.coffee +++ b/src/app/edit-session.coffee @@ -12,8 +12,8 @@ module.exports = class EditSession @idCounter: 1 - @deserialize: (state, editor, rootView) -> - session = rootView.project.open(state.buffer) + @deserialize: (state, project) -> + session = project.open(state.buffer) session.setScrollTop(state.scrollTop) session.setScrollLeft(state.scrollLeft) session.setCursorScreenPosition(state.cursorScreenPosition) @@ -65,6 +65,9 @@ class EditSession scrollLeft: @getScrollLeft() cursorScreenPosition: @getCursorScreenPosition().serialize() + copy: -> + EditSession.deserialize(@serialize(), @project) + isEqual: (other) -> return false unless other instanceof EditSession @buffer == other.buffer and diff --git a/src/app/editor.coffee b/src/app/editor.coffee index c3fbe71d7..7fe8edba2 100644 --- a/src/app/editor.coffee +++ b/src/app/editor.coffee @@ -46,7 +46,7 @@ class Editor extends View lineOverdraw: 100 @deserialize: (state, rootView) -> - editSessions = state.editSessions.map (state) -> EditSession.deserialize(state, editor, rootView) + editSessions = state.editSessions.map (state) -> EditSession.deserialize(state, rootView.project) editor = new Editor(editSession: editSessions[state.activeEditSessionIndex], mini: state.mini) editor.editSessions = editSessions editor.isFocused = state.isFocused @@ -520,8 +520,7 @@ class Editor extends View @updateRenderedLines() newSplitEditor: -> - editSession = EditSession.deserialize(@activeEditSession.serialize(), this, @rootView()) - new Editor { editSession } + new Editor { editSession: @activeEditSession.copy() } splitLeft: -> @pane()?.splitLeft(@newSplitEditor()).wrappedView