summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorPedro J. Estébanez <pedrojrulez@gmail.com>2023-05-15 11:51:39 +0200
committerPedro J. Estébanez <pedrojrulez@gmail.com>2023-05-15 11:51:58 +0200
commit93de52942a0300209ec2227cb6ab2d4c313dd9ca (patch)
tree5c12d1d1fdcbe1173080a08e15ca61ca7c634dfa
parentf717cc0a38862a038ae519f2a1e788a6f520fffc (diff)
downloadredot-engine-93de52942a0300209ec2227cb6ab2d4c313dd9ca.tar.gz
Fix transfer of messages between queues
-rw-r--r--core/object/message_queue.cpp4
1 files changed, 2 insertions, 2 deletions
diff --git a/core/object/message_queue.cpp b/core/object/message_queue.cpp
index 55ea5f5ecd..78fdb08f85 100644
--- a/core/object/message_queue.cpp
+++ b/core/object/message_queue.cpp
@@ -236,7 +236,7 @@ Error CallQueue::flush() {
uint32_t dst_page = mq->pages_used - 1;
uint32_t dst_offset = mq->page_bytes[dst_page];
if (dst_offset + page_bytes[0] < uint32_t(PAGE_SIZE_BYTES)) {
- memcpy(mq->pages[dst_page] + dst_offset, pages[0], page_bytes[0]);
+ memcpy(mq->pages[dst_page]->data + dst_offset, pages[0]->data, page_bytes[0]);
src_page++;
}
}
@@ -253,7 +253,7 @@ Error CallQueue::flush() {
for (; src_page < pages_used; src_page++) {
mq->_add_page();
- memcpy(mq->pages[mq->pages_used - 1], pages[src_page], page_bytes[src_page]);
+ memcpy(mq->pages[mq->pages_used - 1]->data, pages[src_page]->data, page_bytes[src_page]);
mq->page_bytes[mq->pages_used - 1] = page_bytes[src_page];
}