Index: undo.c =================================================================== --- undo.c (revision 8132) +++ undo.c (revision 8133) @@ -586,7 +586,7 @@ type = pcb_search_obj_by_id(PCB->Data, &ptr1, &ptr2, &ptr3, Entry->ID, Entry->Kind); if (type != PCB_TYPE_NONE) { if (!RemoveList) - RemoveList = pcb_buffer_new(); + RemoveList = pcb_buffer_new(PCB); if (andDraw) pcb_erase_obj(type, ptr1, ptr2); /* in order to make this re-doable we move it to the RemoveList */ @@ -1229,7 +1229,7 @@ return; if (!RemoveList) - RemoveList = pcb_buffer_new(); + RemoveList = pcb_buffer_new(PCB); GetUndoSlot(PCB_UNDO_REMOVE, PCB_OBJECT_ID(Ptr3), Type); pcb_move_obj_to_buffer(RemoveList, PCB->Data, Type, Ptr1, Ptr2, Ptr3); @@ -1292,7 +1292,7 @@ return; if (!RemoveList) - RemoveList = pcb_buffer_new(); + RemoveList = pcb_buffer_new(PCB); undo = GetUndoSlot(undo_type, PCB_OBJECT_ID(Ptr2), Type); copy = (pcb_any_obj_t *) pcb_copy_obj_to_buffer(RemoveList, PCB->Data, Type, Ptr1, Ptr2, Ptr3);