diff --git a/cq_editor/widgets/debugger.py b/cq_editor/widgets/debugger.py index b7398fb..d039db5 100644 --- a/cq_editor/widgets/debugger.py +++ b/cq_editor/widgets/debugger.py @@ -162,7 +162,7 @@ class Debugger(QObject,ComponentMixin): def get_breakpoints(self): - return self.parent().components['editor'].get_breakpoints() + return self.parent().components['editor'].debugger.get_breakpoints() def compile_code(self,cq_script): @@ -178,12 +178,14 @@ class Debugger(QObject,ComponentMixin): def _exec(self, code, locals_dict, globals_dict): with ExitStack() as stack: - p = Path(self.parent().components['editor'].filename).dirname() - if self.preferences['Add script dir to path'] and p: + fname = self.parent().components['editor'].filename + p = Path(fname if fname else '').abspath().dirname() + if self.preferences['Add script dir to path'] and p.exists(): sys.path.append(p) stack.callback(sys.path.remove, p) - if self.preferences['Change working dir to script dir'] and p: + if self.preferences['Change working dir to script dir'] and p.exists(): stack.enter_context(p) + exec(code, locals_dict, globals_dict) def _inject_locals(self,module): diff --git a/cq_editor/widgets/editor.py b/cq_editor/widgets/editor.py index 45aa048..2763469 100644 --- a/cq_editor/widgets/editor.py +++ b/cq_editor/widgets/editor.py @@ -1,4 +1,4 @@ -from spyder.widgets.sourcecode.codeeditor import CodeEditor +from spyder.plugins.editor.widgets.codeeditor import CodeEditor from PyQt5.QtCore import pyqtSignal, QFileSystemWatcher, QTimer from PyQt5.QtWidgets import QAction, QFileDialog from PyQt5.QtGui import QFontDatabase @@ -32,6 +32,8 @@ class Editor(CodeEditor,ComponentMixin): def __init__(self,parent=None): + self._watched_file = None + super(Editor,self).__init__(parent) ComponentMixin.__init__(self) @@ -83,7 +85,6 @@ class Editor(CodeEditor,ComponentMixin): # autoreload support self._file_watcher = QFileSystemWatcher(self) - self._watched_file = None # we wait for 50ms after a file change for the file to be written completely self._file_watch_timer = QTimer(self) self._file_watch_timer.setInterval(50)