X-Git-Url: http://dolda2000.com/gitweb/?a=blobdiff_plain;f=manga%2Freader.py;h=51d27793e7fcfac3487f315900255f0f529a931b;hb=03fdcb32535b1920a6c9ac0875ea7d44a47969be;hp=ca8f43337d5d374de45308a324a02763fc9af7df;hpb=04f773e3923930aa517e196962e4304eecabd1ce;p=automanga.git diff --git a/manga/reader.py b/manga/reader.py index ca8f433..51d2779 100644 --- a/manga/reader.py +++ b/manga/reader.py @@ -76,18 +76,20 @@ class imgload(future): def value(self): buf = gtk.gdk.PixbufLoader() - with self.page.open() as st: - self.p = 0 - self.st = st - while True: - read = st.read(1024) - if read == "": - break - self.p += len(read) - buf.write(read) - self.progcb() - self.st = None - buf.close() + try: + with self.page.open() as st: + self.p = 0 + self.st = st + while True: + read = st.read(1024) + if read == "": + break + self.p += len(read) + buf.write(read) + self.progcb() + self.st = None + finally: + buf.close() return buf.get_pixbuf() @property @@ -293,11 +295,12 @@ class msgproc(object): self._prog = None def prog(self, p): - if p is not None and self._prog is None: - self._prog = gtk.ProgressBar() + if p is not None: + if self._prog is None: + self._prog = gtk.ProgressBar() + self.hlay.pack_start(self._prog, padding=5) + self._prog.show() self._prog.set_fraction(p) - self.hlay.pack_start(self._prog, padding=5) - self._prog.show() elif p is None and self._prog is not None: self.hlay.remove(self._prog) self._prog = None