[pypy-commit] lang-smalltalk default: maybe fixed BIT_BLT primitive repainting on return
lwassermann
noreply at buildbot.pypy.org
Wed Apr 3 13:49:06 CEST 2013
Author: Lars Wassermann <lars.wassermann at gmail.com>
Branch:
Changeset: r247:bd6f9429a58c
Date: 2013-04-03 13:48 +0200
http://bitbucket.org/pypy/lang-smalltalk/changeset/bd6f9429a58c/
Log: maybe fixed BIT_BLT primitive repainting on return
diff --git a/spyvm/primitives.py b/spyvm/primitives.py
--- a/spyvm/primitives.py
+++ b/spyvm/primitives.py
@@ -573,13 +573,15 @@
raise PrimitiveFailedError
space = interp.space
- s_frame._sendSelfSelector(interp.image.w_simulateCopyBits, 0, interp)
-
- w_dest_form = w_rcvr.fetch(space, 0)
- if w_dest_form.is_same_object(space.objtable['w_display']):
- w_bitmap = w_dest_form.fetch(space, 0)
- assert isinstance(w_bitmap, model.W_DisplayBitmap)
- w_bitmap.flush_to_screen()
+ try:
+ s_frame._sendSelfSelector(interp.image.w_simulateCopyBits, 0, interp)
+ except Return:
+ w_dest_form = w_rcvr.fetch(space, 0)
+ if w_dest_form.is_same_object(space.objtable['w_display']):
+ #import pdb; pdb.set_trace()
+ w_bitmap = w_dest_form.fetch(space, 0)
+ assert isinstance(w_bitmap, model.W_DisplayBitmap)
+ w_bitmap.flush_to_screen()
# in case we return normally, we have to restore the removed w_rcvr
return w_rcvr
More information about the pypy-commit
mailing list