@@ -44,10 +44,14 @@ void c_heap_insert_if_needed(CHeap * heap, CHeapItem * item)
45 if (item->prev_next != NULL) return; // already inserted
45 if (item->prev_next != NULL) return; // already inserted
47+ if (heap->first != NULL)
47− heap->first->prev_next = &item->next;
49+ heap->first->prev_next = &item->next;
48− item->prev_next = &heap->first;
50+ }
52+ item->prev_next = &heap->first;
50 item->next = heap->first;
53 item->next = heap->first;
51 heap->first = item;
55 heap->first = item;