aboutsummaryrefslogtreecommitdiff
path: root/engines/sci/graphics/video32.h
diff options
context:
space:
mode:
authorColin Snover2017-02-23 10:32:12 -0600
committerColin Snover2017-04-22 19:38:13 -0500
commit16fe6d3cb1835bd0cd852ad78f4b00c54e3fdcd1 (patch)
treef42a30e89c58ac6cc9c93f178b49e716070e20d3 /engines/sci/graphics/video32.h
parent092a809c783ddf75aa553817d353ab6daa0718e7 (diff)
downloadscummvm-rg350-16fe6d3cb1835bd0cd852ad78f4b00c54e3fdcd1.tar.gz
scummvm-rg350-16fe6d3cb1835bd0cd852ad78f4b00c54e3fdcd1.tar.bz2
scummvm-rg350-16fe6d3cb1835bd0cd852ad78f4b00c54e3fdcd1.zip
SCI32: Store handle to VMD bitmap separately from ScreenItem
In at least RAMA, when using the pocket computer to view a mail and then pressing the "return" button, the ScreenItem containing the VMD will be destroyed before the VMD player is told to close the video, resulting in a use-after-free trying to access the bitmap ID through the deleted ScreenItem.
Diffstat (limited to 'engines/sci/graphics/video32.h')
-rw-r--r--engines/sci/graphics/video32.h5
1 files changed, 5 insertions, 0 deletions
diff --git a/engines/sci/graphics/video32.h b/engines/sci/graphics/video32.h
index fae5cafbbe..751604fd47 100644
--- a/engines/sci/graphics/video32.h
+++ b/engines/sci/graphics/video32.h
@@ -380,6 +380,11 @@ private:
*/
ScreenItem *_screenItem;
+ /**
+ * The bitmap used to render the VMD.
+ */
+ reg_t _bitmapId;
+
// TODO: planeIsOwned and priority are used in SCI3+ only
/**