Browse Source

Merge branch 'master' of https://github.com/raysan5/raylib

pull/1977/head
Ray 3 years ago
parent
commit
fa79ae8a3d
1 changed files with 13 additions and 2 deletions
  1. +13
    -2
      src/extras/rmem.h

+ 13
- 2
src/extras/rmem.h View File

@ -276,7 +276,10 @@ static void __InsertMemNode(MemPool *const mempool, AllocList *const list, MemNo
mempool->arena.offs += iter->size; mempool->arena.offs += iter->size;
__RemoveMemNode(list, iter); __RemoveMemNode(list, iter);
iter = list->head; iter = list->head;
if (iter == NULL) return;
if (iter == NULL) {
list->head = node;
return;
}
} }
const uintptr_t inode = ( uintptr_t )node; const uintptr_t inode = ( uintptr_t )node;
const uintptr_t iiter = ( uintptr_t )iter; const uintptr_t iiter = ( uintptr_t )iter;
@ -293,6 +296,14 @@ static void __InsertMemNode(MemPool *const mempool, AllocList *const list, MemNo
iter->size += node->size; iter->size += node->size;
return; return;
} }
else if (iter->next == NULL)
{
// we reached the end of the free list -> append the node
iter->next = node;
node->prev = iter;
list->len++;
return;
}
} }
else if (iter > node) else if (iter > node)
{ {
@ -326,7 +337,7 @@ static void __InsertMemNode(MemPool *const mempool, AllocList *const list, MemNo
} }
else else
{ {
__InsertMemNodeBefore(list, iter, node);
__InsertMemNodeBefore(list, node, iter);
list->len++; list->len++;
return; return;
} }

Loading…
Cancel
Save