diff options
author | Rémi Verschelde <rverschelde@gmail.com> | 2023-05-15 13:47:18 +0200 |
---|---|---|
committer | Rémi Verschelde <rverschelde@gmail.com> | 2023-05-15 13:47:18 +0200 |
commit | 5c653c27cdf779e1e70a16ec9514435537a01779 (patch) | |
tree | 0cb84fdf70c94a8ce4554e058dd4af73cb5829b3 | |
parent | 5adac3c6807c4414bc9629054f340a9da773d2cb (diff) | |
parent | 93de52942a0300209ec2227cb6ab2d4c313dd9ca (diff) | |
download | redot-engine-5c653c27cdf779e1e70a16ec9514435537a01779.tar.gz |
Merge pull request #77093 from RandomShaper/fix_mq_copy
Fix transfer of messages between queues
-rw-r--r-- | core/object/message_queue.cpp | 4 |
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]; } |