瀏覽代碼

Defer updates of remote ops until Ace has been updated

James Allen 9 年之前
父節點
當前提交
7418d12bf8
共有 1 個文件被更改,包括 6 次插入 和 1 次删除
  1. 6 1
      services/web/public/coffee/ide/editor/Document.coffee

+ 6 - 1
services/web/public/coffee/ide/editor/Document.coffee

@@ -353,7 +353,12 @@ define [
 				@ranges.applyOp op, { user_id: track_changes_as }
 			if old_id_seed?
 				@ranges.setIdSeed(old_id_seed)
-			@emit "ranges:dirty"
+			if remote_op
+				# With remote ops, Ace hasn't been updated when we receive this op,
+				# so defer updating track changes until it has
+				setTimeout () => @emit "ranges:dirty"
+			else
+				@emit "ranges:dirty"
 		
 		_catchUpRanges: (changes = [], comments = []) ->
 			# We've just been given the current server's ranges, but need to apply any local ops we have.