@@ -0,0 +1,58 @@
1+diff --git a/cq_editor/widgets/debugger.py b/cq_editor/widgets/debugger.py
2+index b7398fb..d039db5 100644
3+--- a/cq_editor/widgets/debugger.py
4++++ b/cq_editor/widgets/debugger.py
5+@@ -162,7 +162,7 @@ class Debugger(QObject,ComponentMixin):
7+ def get_breakpoints(self):
9+- return self.parent().components['editor'].get_breakpoints()
10++ return self.parent().components['editor'].debugger.get_breakpoints()
12+ def compile_code(self,cq_script):
14+@@ -178,12 +178,14 @@ class Debugger(QObject,ComponentMixin):
15+ def _exec(self, code, locals_dict, globals_dict):
17+ with ExitStack() as stack:
18+- p = Path(self.parent().components['editor'].filename).dirname()
19+- if self.preferences['Add script dir to path'] and p:
20++ fname = self.parent().components['editor'].filename
21++ p = Path(fname if fname else '').abspath().dirname()
22++ if self.preferences['Add script dir to path'] and p.exists():
24+ stack.callback(sys.path.remove, p)
25+- if self.preferences['Change working dir to script dir'] and p:
26++ if self.preferences['Change working dir to script dir'] and p.exists():
27+ stack.enter_context(p)
29+ exec(code, locals_dict, globals_dict)
31+ def _inject_locals(self,module):
32+diff --git a/cq_editor/widgets/editor.py b/cq_editor/widgets/editor.py
33+index 45aa048..2763469 100644
34+--- a/cq_editor/widgets/editor.py
35++++ b/cq_editor/widgets/editor.py
37+-from spyder.widgets.sourcecode.codeeditor import CodeEditor
38++from spyder.plugins.editor.widgets.codeeditor import CodeEditor
39+ from PyQt5.QtCore import pyqtSignal, QFileSystemWatcher, QTimer
40+ from PyQt5.QtWidgets import QAction, QFileDialog
41+ from PyQt5.QtGui import QFontDatabase
42+@@ -32,6 +32,8 @@ class Editor(CodeEditor,ComponentMixin):
44+ def __init__(self,parent=None):
46++ self._watched_file = None
48+ super(Editor,self).__init__(parent)
49+ ComponentMixin.__init__(self)
51+@@ -83,7 +85,6 @@ class Editor(CodeEditor,ComponentMixin):
54+ self._file_watcher = QFileSystemWatcher(self)
55+- self._watched_file = None
56+ # we wait for 50ms after a file change for the file to be written completely
57+ self._file_watch_timer = QTimer(self)
58+ self._file_watch_timer.setInterval(50)