diff options
author | Max Horn | 2009-05-18 12:34:25 +0000 |
---|---|---|
committer | Max Horn | 2009-05-18 12:34:25 +0000 |
commit | f59456274530175e6b41d78d29c95b6db1c4299a (patch) | |
tree | 388d6f8bec605f3afe2caeb48b5dcf079c911dd4 /engines | |
parent | fc9096ba1d8a08af5e6d84981087c6b506e86b5b (diff) | |
download | scummvm-rg350-f59456274530175e6b41d78d29c95b6db1c4299a.tar.gz scummvm-rg350-f59456274530175e6b41d78d29c95b6db1c4299a.tar.bz2 scummvm-rg350-f59456274530175e6b41d78d29c95b6db1c4299a.zip |
SCI: Added a FIXME to graph_save_box
svn-id: r40684
Diffstat (limited to 'engines')
-rw-r--r-- | engines/sci/engine/kgraphics.cpp | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/engines/sci/engine/kgraphics.cpp b/engines/sci/engine/kgraphics.cpp index 2c81409fce..051c6f8b2e 100644 --- a/engines/sci/engine/kgraphics.cpp +++ b/engines/sci/engine/kgraphics.cpp @@ -200,8 +200,13 @@ int _find_priority_band(EngineState *s, int nr) { reg_t graph_save_box(EngineState *s, rect_t area) { reg_t handle = kalloc(s, "graph_save_box()", sizeof(gfxw_snapshot_t *)); - gfxw_snapshot_t **ptr = (gfxw_snapshot_t **) kmem(s, handle); + gfxw_snapshot_t **ptr = (gfxw_snapshot_t **)kmem(s, handle); + // FIXME: gfxw_make_snapshot returns a pointer. Now why do we store a + // pointer to real memory inside the SCI heap? + // If we save and the load again, this cannot work in general. + // This seems like bad design. Either the snapshot data itself should be + // stored in the heap, or a unique persistent id. *ptr = gfxw_make_snapshot(s->visual, area); return handle; |