Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDan Williams <dcbw@redhat.com>2007-03-13 17:26:09 (GMT)
committer Dan Williams <dcbw@redhat.com>2007-03-13 17:26:09 (GMT)
commite3f57526ae5d6b43e532e79b362b650ef6a598a1 (patch)
tree9e63ad7a93f8a6ff653c10ea6feb166ca3bf5fe6
parent605b702bdf90f6753553fc6a3859c39421203037 (diff)
Dispose document when loading new one
-rw-r--r--XbookActivity.py15
1 files changed, 9 insertions, 6 deletions
diff --git a/XbookActivity.py b/XbookActivity.py
index ba0624e..c730742 100644
--- a/XbookActivity.py
+++ b/XbookActivity.py
@@ -11,6 +11,7 @@ from xbooktoolbar import XbookToolbar
class XbookActivity(activity.Activity):
def __init__(self, handle):
activity.Activity.__init__(self, handle)
+ self._document = None
logging.debug('Starting xbook...')
self.set_title(_('Read Activity'))
@@ -21,9 +22,9 @@ class XbookActivity(activity.Activity):
vbox = hippo.CanvasBox()
self.set_root(vbox)
- toolbar = XbookToolbar(self._view)
- toolbar.connect('open-document', self._open_document_cb)
- vbox.append(toolbar)
+ self._toolbar = XbookToolbar(self._view)
+ self._toolbar.connect('open-document', self._open_document_cb)
+ vbox.append(self._toolbar)
canvas_widget = hippo.CanvasWidget()
vbox.append(canvas_widget, hippo.PACK_EXPAND)
@@ -42,9 +43,11 @@ class XbookActivity(activity.Activity):
self._load_document(handle.uri)
def _load_document(self, filename):
- document = evince.factory_get_document('file://' + filename)
- self._view.set_document(document)
- toolbar.set_document(document)
+ if self._document:
+ del self._document
+ self._document = evince.factory_get_document('file://' + filename)
+ self._view.set_document(self._document)
+ self._toolbar.set_document(self._document)
def _open_document_cb(self, widget, fname):
self._load_document(fname)