From d87345ef52657662ee936df759cd2a93bf9d80c0 Mon Sep 17 00:00:00 2001 From: Neel Patel Date: Sun, 8 Jan 2017 19:05:13 +0530 Subject: [PATCH] Ensure breakpoints are cleared properly when clearing all of them. Fixes #1745 --- .../debugger/templates/debugger/js/direct.js | 19 +++++++++++++++---- 1 file changed, 15 insertions(+), 4 deletions(-) diff --git a/web/pgadmin/tools/debugger/templates/debugger/js/direct.js b/web/pgadmin/tools/debugger/templates/debugger/js/direct.js index c482bcbf8..7c2347b01 100644 --- a/web/pgadmin/tools/debugger/templates/debugger/js/direct.js +++ b/web/pgadmin/tools/debugger/templates/debugger/js/direct.js @@ -804,10 +804,10 @@ define( // If gutterMarker is undefined that means there is no marker defined previously // So we need to set the breakpoint command here... if (info.gutterMarkers == undefined) { - baseUrl = "{{ url_for('debugger.index') }}" + "set_breakpoint/" + trans_id + "/" + self.active_line_no + "/" + "1"; + baseUrl = "{{ url_for('debugger.index') }}" + "set_breakpoint/" + trans_id + "/" + (self.active_line_no + 1) + "/" + "1"; } else { - baseUrl = "{{ url_for('debugger.index') }}" + "set_breakpoint/" + trans_id + "/" + self.active_line_no + "/" + "0"; + baseUrl = "{{ url_for('debugger.index') }}" + "set_breakpoint/" + trans_id + "/" + (self.active_line_no + 1) + "/" + "0"; } $.ajax({ @@ -1443,11 +1443,22 @@ define( controller.set_breakpoint(self.trans_id,m+1,1); //set the breakpoint } else { - controller.set_breakpoint(self.trans_id,m+1,0); //clear the breakpoint + if (info.gutterMarkers.breakpoints == undefined) { + controller.set_breakpoint(self.trans_id,m+1,1); //set the breakpoint + } + else { + controller.set_breakpoint(self.trans_id,m+1,0); //clear the breakpoint + } } + // If line folding is defined then gutterMarker will be defined so + // we need to find out 'breakpoints' information + var markers = info.gutterMarkers; + if (markers != undefined && info.gutterMarkers.breakpoints == undefined) + markers = info.gutterMarkers.breakpoints + cm.setGutterMarker( - m, "breakpoints", info.gutterMarkers ? null : function() { + m, "breakpoints", markers ? null : function() { var marker = document.createElement("div"); marker.style.color = "#822";