Skip to content

Commit

Permalink
cellSearch: Change search state before invoking callbacks
Browse files Browse the repository at this point in the history
  • Loading branch information
CookiePLMonster authored and Nekotekina committed Apr 5, 2020
1 parent 0b6e2b2 commit fd09dde
Showing 1 changed file with 7 additions and 7 deletions.
14 changes: 7 additions & 7 deletions rpcs3/Emu/Cell/Modules/cellSearch.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -130,8 +130,8 @@ error_code cellSearchInitialize(CellSearchMode mode, u32 container, vm::ptr<Cell

sysutil_register_cb([=](ppu_thread& ppu) -> s32
{
search->state.store(search_state::idle);
func(ppu, CELL_SEARCH_EVENT_INITIALIZE_RESULT, CELL_OK, vm::null, userData);
search->state.release(search_state::idle);
return CELL_OK;
});

Expand Down Expand Up @@ -166,8 +166,8 @@ error_code cellSearchFinalize()
std::lock_guard lock(search->links_mutex);
search->content_links.clear();
}
search->state.store(search_state::not_initialized);
search->func(ppu, CELL_SEARCH_EVENT_FINALIZE_RESULT, CELL_OK, vm::null, search->userData);
search->state.release(search_state::not_initialized);
return CELL_OK;
});

Expand Down Expand Up @@ -230,8 +230,8 @@ error_code cellSearchStartListSearch(CellSearchListSearchType type, CellSearchSo
resultParam->searchId = id;
resultParam->resultNum = 0; // TODO

search->state.store(search_state::idle);
search->func(ppu, CELL_SEARCH_EVENT_LISTSEARCH_RESULT, CELL_OK, vm::cast(resultParam.addr()), search->userData);
search->state.release(search_state::idle);
return CELL_OK;
});

Expand Down Expand Up @@ -295,8 +295,8 @@ error_code cellSearchStartContentSearchInList(vm::cptr<CellSearchContentId> list
resultParam->searchId = id;
resultParam->resultNum = 0; // TODO

search->state.store(search_state::idle);
search->func(ppu, CELL_SEARCH_EVENT_CONTENTSEARCH_INLIST_RESULT, CELL_OK, vm::cast(resultParam.addr()), search->userData);
search->state.release(search_state::idle);
return CELL_OK;
});

Expand Down Expand Up @@ -496,8 +496,8 @@ error_code cellSearchStartContentSearch(CellSearchContentSearchType type, CellSe
searchInFolder(fmt::format("/dev_hdd0/%s", media_dir), "");
resultParam->resultNum = ::narrow<s32>(curr_search->content_ids.size());

search->state.store(search_state::idle);
search->func(ppu, CELL_SEARCH_EVENT_CONTENTSEARCH_RESULT, CELL_OK, vm::cast(resultParam.addr()), search->userData);
search->state.release(search_state::idle);
return CELL_OK;
});

Expand Down Expand Up @@ -557,8 +557,8 @@ error_code cellSearchStartSceneSearchInVideo(vm::cptr<CellSearchContentId> video
resultParam->searchId = id;
resultParam->resultNum = 0; // TODO

search->state.store(search_state::idle);
search->func(ppu, CELL_SEARCH_EVENT_SCENESEARCH_INVIDEO_RESULT, CELL_OK, vm::cast(resultParam.addr()), search->userData);
search->state.release(search_state::idle);
return CELL_OK;
});

Expand Down Expand Up @@ -613,8 +613,8 @@ error_code cellSearchStartSceneSearch(CellSearchSceneSearchType searchType, vm::
resultParam->searchId = id;
resultParam->resultNum = 0; // TODO

search->state.store(search_state::idle);
search->func(ppu, CELL_SEARCH_EVENT_SCENESEARCH_RESULT, CELL_OK, vm::cast(resultParam.addr()), search->userData);
search->state.release(search_state::idle);
return CELL_OK;
});

Expand Down

0 comments on commit fd09dde

Please sign in to comment.