Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAneesh Dogra <lionaneesh@gmail.com>2012-12-20 18:04:35 (GMT)
committer Aneesh Dogra <lionaneesh@gmail.com>2012-12-20 18:04:57 (GMT)
commit6314183a9a6d1acb15cb30f9bdb0357638163c0f (patch)
tree921eeb437ebea8a7b1c5bf2e7b7665f733e1491b
parent2b4971f87d4267604623165ab4cb8b5f74512e57 (diff)
Add a hack to fix the keep error.
-rw-r--r--SliderPuzzleWidget.py20
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 """