Browse code

Don't clobber openfilename when reloading.

Fixes https://github.com/jrfonseca/xdot.py/issues/50

Jose Fonseca authored on 11/01/2018 10:55:12
Showing 1 changed files

... ...
@@ -122,8 +122,7 @@ class DotWidget(Gtk.DrawingArea):
122 122
             return None
123 123
         return xdotcode
124 124
 
125
-    def set_dotcode(self, dotcode, filename=None):
126
-        self.openfilename = None
125
+    def _set_dotcode(self, dotcode, filename=None):
127 126
         # By default DOT language is UTF-8, but it accepts other encodings
128 127
         assert isinstance(dotcode, bytes)
129 128
         xdotcode = self.run_filter(dotcode)
... ...
@@ -135,6 +134,11 @@ class DotWidget(Gtk.DrawingArea):
135 134
             self.error_dialog(str(ex))
136 135
             return False
137 136
         else:
137
+            return True
138
+
139
+    def set_dotcode(self, dotcode, filename=None):
140
+        self.openfilename = None
141
+        if self._set_dotcode(dotcode, filename):
138 142
             if filename is None:
139 143
                 self.last_mtime = None
140 144
             else:
... ...
@@ -152,7 +156,7 @@ class DotWidget(Gtk.DrawingArea):
152 156
         if self.openfilename is not None:
153 157
             try:
154 158
                 fp = open(self.openfilename, 'rb')
155
-                self.set_dotcode(fp.read(), self.openfilename)
159
+                self._set_dotcode(fp.read(), self.openfilename)
156 160
                 fp.close()
157 161
             except IOError:
158 162
                 pass