diff --git a/src/openrct2-ui/windows/EditorInventionsList.cpp b/src/openrct2-ui/windows/EditorInventionsList.cpp index 8b8eefafcb..57ce405185 100644 --- a/src/openrct2-ui/windows/EditorInventionsList.cpp +++ b/src/openrct2-ui/windows/EditorInventionsList.cpp @@ -155,7 +155,7 @@ static void move_research_item(ResearchItem* beforeItem, int32_t scrollIndex) w->Invalidate(); } - research_remove(&_editorInventionsListDraggedItem); + research_remove(_editorInventionsListDraggedItem); auto& researchList = scrollIndex == 0 ? gResearchItemsInvented : gResearchItemsUninvented; if (beforeItem != nullptr) diff --git a/src/openrct2/EditorObjectSelectionSession.cpp b/src/openrct2/EditorObjectSelectionSession.cpp index 7b276dfe11..31a994bb41 100644 --- a/src/openrct2/EditorObjectSelectionSession.cpp +++ b/src/openrct2/EditorObjectSelectionSession.cpp @@ -318,7 +318,7 @@ static void remove_selected_objects_from_research(ObjectEntryDescriptor& descrip tmp.type = Research::EntryType::Ride; tmp.entryIndex = entryIndex; tmp.baseRideType = rideType; - research_remove(&tmp); + research_remove(tmp); } break; } @@ -327,7 +327,7 @@ static void remove_selected_objects_from_research(ObjectEntryDescriptor& descrip ResearchItem tmp = {}; tmp.type = Research::EntryType::Scenery; tmp.entryIndex = entryIndex; - research_remove(&tmp); + research_remove(tmp); break; } default: diff --git a/src/openrct2/management/Research.cpp b/src/openrct2/management/Research.cpp index 2e201a60b5..e41fa3ec2b 100644 --- a/src/openrct2/management/Research.cpp +++ b/src/openrct2/management/Research.cpp @@ -415,12 +415,12 @@ static void research_insert_researched(ResearchItem&& item) * * rct2: 0x006857CF */ -void research_remove(ResearchItem* researchItem) +void research_remove(const ResearchItem& researchItem) { for (auto it = gResearchItemsUninvented.begin(); it != gResearchItemsUninvented.end(); it++) { auto& researchItem2 = *it; - if (researchItem2 == *researchItem) + if (researchItem2 == researchItem) { gResearchItemsUninvented.erase(it); return; @@ -429,7 +429,7 @@ void research_remove(ResearchItem* researchItem) for (auto it = gResearchItemsInvented.begin(); it != gResearchItemsInvented.end(); it++) { auto& researchItem2 = *it; - if (researchItem2 == *researchItem) + if (researchItem2 == researchItem) { gResearchItemsInvented.erase(it); return; diff --git a/src/openrct2/management/Research.h b/src/openrct2/management/Research.h index ba0560a031..bd827dae8e 100644 --- a/src/openrct2/management/Research.h +++ b/src/openrct2/management/Research.h @@ -176,7 +176,7 @@ void research_populate_list_random(); void research_finish_item(ResearchItem* researchItem); void research_insert(ResearchItem&& item, bool researched); -void research_remove(ResearchItem* researchItem); +void research_remove(const ResearchItem& researchItem); bool research_insert_ride_entry(uint8_t rideType, ObjectEntryIndex entryIndex, ResearchCategory category, bool researched); void research_insert_ride_entry(ObjectEntryIndex entryIndex, bool researched);