diff --git a/src/C4EditCursor.cpp b/src/C4EditCursor.cpp index 9d1553779..3e3f3d230 100644 --- a/src/C4EditCursor.cpp +++ b/src/C4EditCursor.cpp @@ -59,7 +59,7 @@ void C4EditCursor::Execute() case C4CNS_ModeEdit: // Hold selection if (Hold) - EMMoveObject(EMMO_Move, 0, 0, nullptr, &Selection); + EMMoveObject(EMMO_Move, 0, 0, nullptr, Selection); break; case C4CNS_ModeDraw: @@ -355,7 +355,7 @@ void C4EditCursor::MiddleButtonUp(C4Section §ion) bool C4EditCursor::Delete() { if (!EditingOK()) return false; - EMMoveObject(EMMO_Remove, 0, 0, nullptr, &Selection); + EMMoveObject(EMMO_Remove, 0, 0, nullptr, Selection); if (Game.Control.isCtrlHost()) { OnSelectionChanged(); @@ -380,7 +380,7 @@ bool C4EditCursor::OpenPropTools() bool C4EditCursor::Duplicate() { - EMMoveObject(EMMO_Duplicate, 0, 0, nullptr, &Selection); + EMMoveObject(EMMO_Duplicate, 0, 0, nullptr, Selection); return true; } @@ -449,7 +449,7 @@ void C4EditCursor::DrawSelectMark(C4Facet &cgo) void C4EditCursor::MoveSelection(int32_t iXOff, int32_t iYOff) { - EMMoveObject(EMMO_Move, iXOff, iYOff, nullptr, &Selection); + EMMoveObject(EMMO_Move, iXOff, iYOff, nullptr, Selection); } void C4EditCursor::FrameSelection(C4Section §ion) @@ -467,7 +467,7 @@ void C4EditCursor::FrameSelection(C4Section §ion) bool C4EditCursor::In(const char *szText) { - EMMoveObject(EMMO_Script, 0, 0, nullptr, &Selection, szText); + EMMoveObject(EMMO_Script, 0, 0, nullptr, Selection, szText); return true; } @@ -635,7 +635,7 @@ void C4EditCursor::GrabContents() Hold = true; // Exit all objects - EMMoveObject(EMMO_Exit, 0, 0, nullptr, &Selection); + EMMoveObject(EMMO_Exit, 0, 0, nullptr, Selection); } void C4EditCursor::UpdateDropTarget(C4Section §ion, uint16_t wKeyFlags) @@ -660,7 +660,7 @@ void C4EditCursor::UpdateDropTarget(C4Section §ion, uint16_t wKeyFlags) void C4EditCursor::PutContents() { if (!DropTarget) return; - EMMoveObject(EMMO_Enter, 0, 0, DropTarget, &Selection); + EMMoveObject(EMMO_Enter, 0, 0, DropTarget, Selection); } C4Object *C4EditCursor::GetTarget() @@ -719,16 +719,16 @@ void C4EditCursor::ApplyToolPicker(C4Section §ion) Hold = false; } -void C4EditCursor::EMMoveObject(C4ControlEMObjectAction eAction, int32_t tx, int32_t ty, C4Object *pTargetObj, const C4ObjectList *pObjs, const char *szScript) +void C4EditCursor::EMMoveObject(C4ControlEMObjectAction eAction, int32_t tx, int32_t ty, C4Object *pTargetObj, const C4ObjectList &objects, const char *szScript) { // construct object list int32_t iObjCnt = 0; int32_t *pObjIDs = nullptr; - if (pObjs && (iObjCnt = pObjs->ObjectCount())) + if ((iObjCnt = objects.ObjectCount())) { pObjIDs = new int32_t[iObjCnt]; // fill int32_t i = 0; - for (C4ObjectLink *pLnk = pObjs->First; pLnk; pLnk = pLnk->Next, i++) + for (C4ObjectLink *pLnk = objects.First; pLnk; pLnk = pLnk->Next, i++) if (pLnk->Obj && pLnk->Obj->Status) pObjIDs[i] = pLnk->Obj->Number; } diff --git a/src/C4EditCursor.h b/src/C4EditCursor.h index 5f0d58064..b9bb04824 100644 --- a/src/C4EditCursor.h +++ b/src/C4EditCursor.h @@ -92,7 +92,7 @@ class C4EditCursor void DrawSelectMark(C4Facet &cgo); void FrameSelection(C4Section §ion); void MoveSelection(int32_t iXOff, int32_t iYOff); - void EMMoveObject(enum C4ControlEMObjectAction eAction, int32_t tx, int32_t ty, C4Object *pTargetObj, const C4ObjectList *pObjs = nullptr, const char *szScript = nullptr); + void EMMoveObject(enum C4ControlEMObjectAction eAction, int32_t tx, int32_t ty, C4Object *pTargetObj, const C4ObjectList &objects, const char *szScript = nullptr); void EMControl(enum C4PacketType eCtrlType, class C4ControlPacket *pCtrl); #ifdef WITH_DEVELOPER_MODE