View Issue Details
|ID||Project||Category||View Status||Date Submitted||Last Update|
|0031536||Runner||Buffers||Public||2019-12-09 14:00||2020-01-23 08:50|
|Priority||High||Severity||C - General||Reproducibility||100%|
|Platform||-||OS||Windows 10||OS Version||Pro x64|
|Target Version||2.3.0||Fixed in Version||2.3.0|
|Summary||0031536: Buffers: Creating a buffer doesn't set its "used size" properly in some cases|
|Description||Creating/decompressing a buffer doesn't set its "used size" properly in some cases.|
1) When filling a buffer with the function buffer_get_surface(), other buffer functions will treat it as if the buffer was empty:
buffer_save() will create an empty file.
buffer_base64_encode() will return the string "AA=="
buffer_compress() will return a buffer of size 9, which upon decompression will return a buffer of (allegedly) only size 1.
The issue appears when trying to save, encode or compress buffers filled by the function buffer_get_surface().
2) Using game_save_buffer() and then game_load_buffer() won't result in a usable buffer. You currently have to game_save(), load that file into a buffer, and then game_load_buffer() that.
3) buffer_get_surface() will return the string "AA=="
|Steps To Reproduce||1. Run the first attached sample project.|
2. Observe the multi-coloured surface appears and your Output Window log gives the described results / as shown in the screenshot.
1. Run the second attached sample project.
2. Pressing 1 and then 3 will game_save_buffer() and then game_load_buffer(). Observe this fails to load anything.
|1.4 Found In|
|2.x Runtime Found In||18.104.22.1684|
|2.x Runtime Verified In|