From 31729a963a6f2e909d6742ca2f670c3fac685dab Mon Sep 17 00:00:00 2001 From: nightwing Date: Sat, 19 May 2012 20:38:09 +0400 Subject: [PATCH] do not store copy of breakpoints array in gutter --- lib/ace/editor.js | 2 +- lib/ace/layer/gutter.js | 7 ++----- lib/ace/test/mockrenderer.js | 2 +- lib/ace/virtual_renderer.js | 8 +++----- 4 files changed, 7 insertions(+), 12 deletions(-) diff --git a/lib/ace/editor.js b/lib/ace/editor.js index 7534081e..eddd7cf1 100644 --- a/lib/ace/editor.js +++ b/lib/ace/editor.js @@ -570,7 +570,7 @@ var Editor = function(renderer, session) { * Emitted when a breakpoint changes. **/ this.onChangeBreakpoint = function() { - this.renderer.setBreakpoints(this.session.getBreakpoints()); + this.renderer.updateBreakpoints(); }; /** diff --git a/lib/ace/layer/gutter.js b/lib/ace/layer/gutter.js index 6b5036ee..be72a172 100644 --- a/lib/ace/layer/gutter.js +++ b/lib/ace/layer/gutter.js @@ -75,10 +75,6 @@ var Gutter = function(parentEl) { this.$decorations[row] = (this.$decorations[row] || "").replace(" " + className, ""); }; - this.setBreakpoints = function(rows) { - this.$breakpoints = rows.concat(); - }; - this.setAnnotations = function(annotations) { // iterate over sparse array this.$annotations = []; @@ -116,6 +112,7 @@ var Gutter = function(parentEl) { var fold = this.session.getNextFoldLine(i); var foldStart = fold ? fold.start.row : Infinity; var foldWidgets = this.$showFoldWidgets && this.session.foldWidgets; + var breakpoints = this.session.$breakpoints; while (true) { if(i > foldStart) { @@ -129,7 +126,7 @@ var Gutter = function(parentEl) { var annotation = this.$annotations[i] || emptyAnno; html.push("
", (i+1)); diff --git a/lib/ace/test/mockrenderer.js b/lib/ace/test/mockrenderer.js index 381a7918..4e5c515d 100644 --- a/lib/ace/test/mockrenderer.js +++ b/lib/ace/test/mockrenderer.js @@ -163,7 +163,7 @@ MockRenderer.prototype.updateBackMarkers = function() { MockRenderer.prototype.updateFrontMarkers = function() { }; -MockRenderer.prototype.setBreakpoints = function() { +MockRenderer.prototype.updateBreakpoints = function() { }; MockRenderer.prototype.onResize = function() { diff --git a/lib/ace/virtual_renderer.js b/lib/ace/virtual_renderer.js index e80ca2c6..88719079 100644 --- a/lib/ace/virtual_renderer.js +++ b/lib/ace/virtual_renderer.js @@ -889,13 +889,11 @@ var VirtualRenderer = function(container, theme) { }; /** - * VirtualRenderer.setBreakpoints(rows) -> Void - * - rows (Array): An array containg row numbers + * VirtualRenderer.updateBreakpoints() -> Void * - * Sets a breakpoint for every row number indicated on `rows`. + * Redraw breakpoints. **/ - this.setBreakpoints = function(rows) { - this.$gutterLayer.setBreakpoints(rows); + this.updateBreakpoints = function(rows) { this.$loop.schedule(this.CHANGE_GUTTER); };