diff options
author | Aneesh Dogra <lionaneesh@gmail.com> | 2012-12-20 18:04:35 (GMT) |
---|---|---|
committer | Aneesh Dogra <lionaneesh@gmail.com> | 2012-12-20 18:04:57 (GMT) |
commit | 6314183a9a6d1acb15cb30f9bdb0357638163c0f (patch) | |
tree | 921eeb437ebea8a7b1c5bf2e7b7665f733e1491b | |
parent | 2b4971f87d4267604623165ab4cb8b5f74512e57 (diff) |
Add a hack to fix the keep error.
-rw-r--r-- | SliderPuzzleWidget.py | 20 |
1 files changed, 9 insertions, 11 deletions
diff --git a/SliderPuzzleWidget.py b/SliderPuzzleWidget.py index 29e0203..a88a144 100644 --- a/SliderPuzzleWidget.py +++ b/SliderPuzzleWidget.py @@ -575,17 +575,15 @@ class SliderPuzzleWidget (Gtk.Table): def get_image_as_png (self, cb=None): if self.image is None: return None - rv = None - if cb is None: - rv = StringIO() - cb = rv.write - def cb_inter(data, r, r2): - cb(data) - self.image.save_to_callbackv(cb_inter, None, "png", [], []) - if rv is not None: - return rv.getvalue() - else: - return True + # save_to_streamv is missing entirely, + # save_to_bufferv appears to be unusable, + # and it looks like save_to_callback's data is being truncated on NULL. + # Check http://ubuntuforums.org/showthread.php?t=1877793 + # XXX: Hack + self.image.savev("tmp.png", "png", [], []) + pb_s = GdkPixbuf.Pixbuf.new_from_file("tmp.png").to_string() + os.remove("tmp.png") + return pb_s def _freeze (self, journal=True): """ returns a json writable object representation capable of being used to restore our current status """ |