[gnome-builder/gnome-builder-3-26] html-preview: fix leak of IdeEditorView
- From: Christian Hergert <chergert src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gnome-builder/gnome-builder-3-26] html-preview: fix leak of IdeEditorView
- Date: Wed, 20 Sep 2017 09:49:21 +0000 (UTC)
commit bfd5a5693249ef6bfdf9438eeb79f82c007dda8d
Author: Christian Hergert <chergert redhat com>
Date: Wed Sep 20 02:44:00 2017 -0700
html-preview: fix leak of IdeEditorView
The html-preview plugin was creating lambda's which held
references to the various widgetry. These are apparently causing
leaks. Probably something to be worked out in PyGObject but
easier for us to just stop using lambda's when possible.
.../html-preview/html_preview_plugin/__init__.py | 11 +++++++----
1 files changed, 7 insertions(+), 4 deletions(-)
---
diff --git a/plugins/html-preview/html_preview_plugin/__init__.py
b/plugins/html-preview/html_preview_plugin/__init__.py
index aea51e0..e03215c 100644
--- a/plugins/html-preview/html_preview_plugin/__init__.py
+++ b/plugins/html-preview/html_preview_plugin/__init__.py
@@ -198,7 +198,7 @@ class HtmlPreviewAddin(GObject.Object, Ide.EditorViewAddin):
group = view.get_action_group('editor-view')
self.action = Gio.SimpleAction(name='preview-as-html', enabled=True)
- self.action.connect('activate', lambda *_: self.preview_activated(view))
+ self.action.connect('activate', self.preview_activated)
group.add_action(self.action)
document = view.get_buffer()
@@ -253,9 +253,12 @@ class HtmlPreviewAddin(GObject.Object, Ide.EditorViewAddin):
return sphinx_builddir
- def preview_activated(self, view):
+ def preview_activated(self):
global can_preview_rst
+ if self.view is None:
+ return
+
if self.lang_id == 'rst':
if self.sphinx_basedir:
if not can_preview_sphinx:
@@ -282,9 +285,9 @@ class HtmlPreviewAddin(GObject.Object, Ide.EditorViewAddin):
column.add(web_view)
self.action.set_enabled(False)
- web_view.connect('destroy', lambda *_: self.web_view_destroyed(web_view))
+ web_view.connect('destroy', self.web_view_destroyed)
- def web_view_destroyed(self, web_view):
+ def web_view_destroyed(self, web_view, *args):
self.action.set_enabled(True)
def search_sphinx_base_dir(self, path):
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]