diff --git a/lib/ace/edit_session/folding.js b/lib/ace/edit_session/folding.js index 3480bad2..174d4e41 100644 --- a/lib/ace/edit_session/folding.js +++ b/lib/ace/edit_session/folding.js @@ -464,6 +464,11 @@ function Folding() { return foldLine ? foldLine.end.row : docRow; }; + this.getRowFoldStart = function(docRow, startFoldRow) { + var foldLine = this.getFoldLine(docRow, startFoldRow); + return foldLine ? foldLine.start.row : docRow; + }; + this.getFoldDisplayLine = function(foldLine, endRow, endColumn, startRow, startColumn) { if (startRow == null) { startRow = foldLine.start.row; diff --git a/lib/ace/mouse/fold_handler.js b/lib/ace/mouse/fold_handler.js index 997ff314..e785f6f0 100644 --- a/lib/ace/mouse/fold_handler.js +++ b/lib/ace/mouse/fold_handler.js @@ -50,8 +50,6 @@ function FoldHandler(editor) { }); editor.on("guttermousedown", function(e) { - if (!editor.isFocused()) - return; var gutterRegion = editor.renderer.$gutterLayer.getRegion(e); if (gutterRegion == "foldWidgets") { @@ -59,6 +57,8 @@ function FoldHandler(editor) { var session = editor.session; if (session.foldWidgets && session.foldWidgets[row]) editor.session.onFoldWidgetClick(row, e); + if (!editor.isFocused()) + editor.focus(); e.stop(); } });