fixes to build on linux
This commit is contained in:
		| @@ -2,9 +2,12 @@ cmake_minimum_required(VERSION 2.6) | |||||||
|  |  | ||||||
| project(citra) | project(citra) | ||||||
|  |  | ||||||
|  | SET(GCC_COVERAGE_COMPILE_FLAGS "-std=c++11 -fpermissive") | ||||||
|  |  | ||||||
| # silence some spam | # silence some spam | ||||||
| add_definitions(-Wno-attributes) | add_definitions(-Wno-attributes) | ||||||
| add_definitions(-DSINGLETHREADED) | add_definitions(-DSINGLETHREADED) | ||||||
|  | add_definitions(${GCC_COVERAGE_COMPILE_FLAGS}) | ||||||
|  |  | ||||||
| # dependency checking | # dependency checking | ||||||
| set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} ${CMAKE_SOURCE_DIR}/CMakeTests) | set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} ${CMAKE_SOURCE_DIR}/CMakeTests) | ||||||
|   | |||||||
| @@ -1,7 +1,8 @@ | |||||||
| add_subdirectory(common) | add_subdirectory(common) | ||||||
| add_subdirectory(core) | add_subdirectory(core) | ||||||
| add_subdirectory(citra) |  | ||||||
| add_subdirectory(video_core) | add_subdirectory(video_core) | ||||||
|  | add_subdirectory(citra) | ||||||
|  | add_subdirectory(citra_qt) | ||||||
|  |  | ||||||
| if(QT4_FOUND AND QT_QTCORE_FOUND AND QT_QTGUI_FOUND AND QT_QTOPENGL_FOUND AND NOT DISABLE_QT4) | if(QT4_FOUND AND QT_QTCORE_FOUND AND QT_QTGUI_FOUND AND QT_QTOPENGL_FOUND AND NOT DISABLE_QT4) | ||||||
|     #add_subdirectory(citra_qt) |     #add_subdirectory(citra_qt) | ||||||
|   | |||||||
| @@ -7,6 +7,6 @@ if (NOT X11_xf86vmode_LIB) | |||||||
| endif() | endif() | ||||||
|  |  | ||||||
| add_executable(citra ${SRCS}) | add_executable(citra ${SRCS}) | ||||||
| target_link_libraries(citra core common ${OPENGL_LIBRARIES} ${GLFW_LIBRARIES} GLEW rt ${X11_Xrandr_LIB} ${X11_xv86vmode_LIB}) | target_link_libraries(citra core common video_core GLEW glfw3 pthread X11 Xxf86vm Xi ${OPENGL_LIBRARIES} ${GLFW_LIBRARIES} rt ${X11_Xrandr_LIB} ${X11_xv86vmode_LIB}) | ||||||
|  |  | ||||||
| #install(TARGETS citra RUNTIME DESTINATION ${bindir}) | #install(TARGETS citra RUNTIME DESTINATION ${bindir}) | ||||||
|   | |||||||
| @@ -1,30 +1,30 @@ | |||||||
| set(SRCS | set(SRCS | ||||||
|             bootmanager.cpp |             bootmanager.cpp | ||||||
|             callstack.cpp |             debugger/callstack.cpp | ||||||
|             disassembler.cpp |             debugger/disassembler.cpp | ||||||
|             registers.cpp |             debugger/ramview.cpp | ||||||
|  |             debugger/registers.cpp | ||||||
|             hotkeys.cpp |             hotkeys.cpp | ||||||
|             main.cpp |             main.cpp | ||||||
|             ramview.cpp |  | ||||||
|             config/controller_config.cpp |             config/controller_config.cpp | ||||||
|             config/controller_config_util.cpp) |             config/controller_config_util.cpp) | ||||||
|  |  | ||||||
| qt4_wrap_ui(UI_HDRS | qt4_wrap_ui(UI_HDRS | ||||||
|                     callstack.ui |                     debugger/callstack.ui | ||||||
|                     disassembler.ui |                     debugger/disassembler.ui | ||||||
|                     registers.ui |                     debugger/registers.ui | ||||||
|                     hotkeys.ui |                     hotkeys.ui | ||||||
|                     main.ui |                     main.ui | ||||||
|                     config/controller_config.ui) |                     config/controller_config.ui) | ||||||
|  |  | ||||||
| qt4_wrap_cpp(MOC_SRCS | qt4_wrap_cpp(MOC_SRCS | ||||||
|                         bootmanager.hxx |                         bootmanager.hxx | ||||||
|                         callstack.hxx |                         debugger/callstack.hxx | ||||||
|                         disassembler.hxx |                         debugger/disassembler.hxx | ||||||
|                         registers.hxx |                         debugger/registers.hxx | ||||||
|  |                         debugger/ramview.hxx | ||||||
|                         hotkeys.hxx |                         hotkeys.hxx | ||||||
|                         main.hxx |                         main.hxx | ||||||
|                         ramview.hxx |  | ||||||
|                         config/controller_config.hxx |                         config/controller_config.hxx | ||||||
|                         config/controller_config_util.hxx) |                         config/controller_config_util.hxx) | ||||||
|  |  | ||||||
| @@ -33,6 +33,6 @@ include_directories(${CMAKE_CURRENT_BINARY_DIR}) | |||||||
| include_directories(./) | include_directories(./) | ||||||
|  |  | ||||||
| add_executable(citra-qt ${SRCS} ${MOC_SRCS} ${UI_HDRS}) | add_executable(citra-qt ${SRCS} ${MOC_SRCS} ${UI_HDRS}) | ||||||
| target_link_libraries(citra-qt core common qhexedit ${QT_LIBRARIES} ${OPENGL_LIBRARIES} ${SDL2_LIBRARY} rt GLEW ${GLFW_LIBRARIES}) | target_link_libraries(citra-qt core common video_core qhexedit ${QT_LIBRARIES} ${OPENGL_LIBRARIES} ${SDL2_LIBRARY} rt GLEW ${GLFW_LIBRARIES}) | ||||||
|  |  | ||||||
| #install(TARGETS citra-qt RUNTIME DESTINATION ${bindir}) | #install(TARGETS citra-qt RUNTIME DESTINATION ${bindir}) | ||||||
|   | |||||||
| @@ -672,7 +672,7 @@ const std::string& GetUserPath(const unsigned int DirIDX, const std::string &new | |||||||
|         else |         else | ||||||
|             paths[D_USER_IDX] = std::string(getenv("HOME") ?  |             paths[D_USER_IDX] = std::string(getenv("HOME") ?  | ||||||
|                 getenv("HOME") : getenv("PWD") ?  |                 getenv("HOME") : getenv("PWD") ?  | ||||||
|                 getenv("PWD") : "") + DIR_SEP DOLPHIN_DATA_DIR DIR_SEP; |                 getenv("PWD") : "") + DIR_SEP EMU_DATA_DIR DIR_SEP; | ||||||
| #endif | #endif | ||||||
|  |  | ||||||
|         paths[D_CONFIG_IDX]            = paths[D_USER_IDX] + CONFIG_DIR DIR_SEP; |         paths[D_CONFIG_IDX]            = paths[D_USER_IDX] + CONFIG_DIR DIR_SEP; | ||||||
|   | |||||||
| @@ -497,27 +497,27 @@ typedef s64 s64_le; | |||||||
| typedef float float_le; | typedef float float_le; | ||||||
| typedef double double_le; | typedef double double_le; | ||||||
|  |  | ||||||
| typedef swap_struct_t<u64, swap_64_t<u64>> u64_be; | typedef swap_struct_t<u64, swap_64_t<u64> > u64_be; | ||||||
| typedef swap_struct_t<s64, swap_64_t<s64>> s64_be; | typedef swap_struct_t<s64, swap_64_t<s64> > s64_be; | ||||||
|  |  | ||||||
| typedef swap_struct_t<u32, swap_32_t<u32>> u32_be; | typedef swap_struct_t<u32, swap_32_t<u32> > u32_be; | ||||||
| typedef swap_struct_t<s32, swap_32_t<s32>> s32_be; | typedef swap_struct_t<s32, swap_32_t<s32> > s32_be; | ||||||
|  |  | ||||||
| typedef swap_struct_t<u16, swap_16_t<u16>> u16_be; | typedef swap_struct_t<u16, swap_16_t<u16> > u16_be; | ||||||
| typedef swap_struct_t<s16, swap_16_t<s16>> s16_be; | typedef swap_struct_t<s16, swap_16_t<s16> > s16_be; | ||||||
|  |  | ||||||
| typedef swap_struct_t<float, swap_float_t<float> > float_be; | typedef swap_struct_t<float, swap_float_t<float> > float_be; | ||||||
| typedef swap_struct_t<double, swap_double_t<double> > double_be; | typedef swap_struct_t<double, swap_double_t<double> > double_be; | ||||||
| #else | #else | ||||||
|  |  | ||||||
| typedef swap_struct_t<u64, swap_64_t<u64>> u64_le; | typedef swap_struct_t<u64, swap_64_t<u64> > u64_le; | ||||||
| typedef swap_struct_t<s64, swap_64_t<s64>> s64_le; | typedef swap_struct_t<s64, swap_64_t<s64> > s64_le; | ||||||
|  |  | ||||||
| typedef swap_struct_t<u32, swap_32_t<u32>> u32_le; | typedef swap_struct_t<u32, swap_32_t<u32> > u32_le; | ||||||
| typedef swap_struct_t<s32, swap_32_t<s32>> s32_le; | typedef swap_struct_t<s32, swap_32_t<s32> > s32_le; | ||||||
|  |  | ||||||
| typedef swap_struct_t<u16, swap_16_t<u16>> u16_le; | typedef swap_struct_t<u16, swap_16_t<u16> > u16_le; | ||||||
| typedef swap_struct_t<s16, swap_16_t<s16>> s16_le; | typedef swap_struct_t< s16, swap_16_t<s16> > s16_le; | ||||||
|  |  | ||||||
| typedef swap_struct_t<float, swap_float_t<float> > float_le; | typedef swap_struct_t<float, swap_float_t<float> > float_le; | ||||||
| typedef swap_struct_t<double, swap_double_t<double> > double_le; | typedef swap_struct_t<double, swap_double_t<double> > double_le; | ||||||
| @@ -532,4 +532,4 @@ typedef s64 s64_be; | |||||||
|  |  | ||||||
| typedef float float_be; | typedef float float_be; | ||||||
| typedef double double_be; | typedef double double_be; | ||||||
| #endif | #endif | ||||||
|   | |||||||
| @@ -22,6 +22,8 @@ | |||||||
| #include <stdlib.h> | #include <stdlib.h> | ||||||
| #include <errno.h> | #include <errno.h> | ||||||
|  |  | ||||||
|  | #include "common/platform.h" | ||||||
|  |  | ||||||
| #if EMU_PLATFORM == PLATFORM_WINDOWS | #if EMU_PLATFORM == PLATFORM_WINDOWS | ||||||
| #include <windows.h> | #include <windows.h> | ||||||
| #endif | #endif | ||||||
|   | |||||||
| @@ -161,7 +161,7 @@ static bool RealPath(const std::string ¤tDirectory, const std::string &inP | |||||||
|  |  | ||||||
| IFileSystem *MetaFileSystem::GetHandleOwner(u32 handle) | IFileSystem *MetaFileSystem::GetHandleOwner(u32 handle) | ||||||
| { | { | ||||||
| 	std::lock_guard<std::mutex> guard(lock); | 	std::lock_guard<std::recursive_mutex> guard(lock); | ||||||
| 	for (size_t i = 0; i < fileSystems.size(); i++) | 	for (size_t i = 0; i < fileSystems.size(); i++) | ||||||
| 	{ | 	{ | ||||||
| 		if (fileSystems[i].system->OwnsHandle(handle)) | 		if (fileSystems[i].system->OwnsHandle(handle)) | ||||||
| @@ -173,7 +173,7 @@ IFileSystem *MetaFileSystem::GetHandleOwner(u32 handle) | |||||||
|  |  | ||||||
| bool MetaFileSystem::MapFilePath(const std::string &_inpath, std::string &outpath, MountPoint **system) | bool MetaFileSystem::MapFilePath(const std::string &_inpath, std::string &outpath, MountPoint **system) | ||||||
| { | { | ||||||
| 	std::lock_guard<std::mutex> guard(lock); | 	std::lock_guard<std::recursive_mutex> guard(lock); | ||||||
| 	std::string realpath; | 	std::string realpath; | ||||||
|  |  | ||||||
| 	// Special handling: host0:command.txt (as seen in Super Monkey Ball Adventures, for example) | 	// Special handling: host0:command.txt (as seen in Super Monkey Ball Adventures, for example) | ||||||
| @@ -227,7 +227,7 @@ bool MetaFileSystem::MapFilePath(const std::string &_inpath, std::string &outpat | |||||||
|  |  | ||||||
| void MetaFileSystem::Mount(std::string prefix, IFileSystem *system) | void MetaFileSystem::Mount(std::string prefix, IFileSystem *system) | ||||||
| { | { | ||||||
| 	std::lock_guard<std::mutex> guard(lock); | 	std::lock_guard<std::recursive_mutex> guard(lock); | ||||||
| 	MountPoint x; | 	MountPoint x; | ||||||
| 	x.prefix = prefix; | 	x.prefix = prefix; | ||||||
| 	x.system = system; | 	x.system = system; | ||||||
| @@ -236,7 +236,7 @@ void MetaFileSystem::Mount(std::string prefix, IFileSystem *system) | |||||||
|  |  | ||||||
| void MetaFileSystem::Unmount(std::string prefix, IFileSystem *system) | void MetaFileSystem::Unmount(std::string prefix, IFileSystem *system) | ||||||
| { | { | ||||||
| 	std::lock_guard<std::mutex> guard(lock); | 	std::lock_guard<std::recursive_mutex> guard(lock); | ||||||
| 	MountPoint x; | 	MountPoint x; | ||||||
| 	x.prefix = prefix; | 	x.prefix = prefix; | ||||||
| 	x.system = system; | 	x.system = system; | ||||||
| @@ -245,7 +245,7 @@ void MetaFileSystem::Unmount(std::string prefix, IFileSystem *system) | |||||||
|  |  | ||||||
| void MetaFileSystem::Shutdown() | void MetaFileSystem::Shutdown() | ||||||
| { | { | ||||||
| 	std::lock_guard<std::mutex> guard(lock); | 	std::lock_guard<std::recursive_mutex> guard(lock); | ||||||
| 	current = 6; | 	current = 6; | ||||||
|  |  | ||||||
| 	// Ownership is a bit convoluted. Let's just delete everything once. | 	// Ownership is a bit convoluted. Let's just delete everything once. | ||||||
| @@ -267,7 +267,7 @@ void MetaFileSystem::Shutdown() | |||||||
|  |  | ||||||
| u32 MetaFileSystem::OpenWithError(int &error, std::string filename, FileAccess access, const char *devicename) | u32 MetaFileSystem::OpenWithError(int &error, std::string filename, FileAccess access, const char *devicename) | ||||||
| { | { | ||||||
| 	std::lock_guard<std::mutex> guard(lock); | 	std::lock_guard<std::recursive_mutex> guard(lock); | ||||||
| 	u32 h = OpenFile(filename, access, devicename); | 	u32 h = OpenFile(filename, access, devicename); | ||||||
| 	error = lastOpenError; | 	error = lastOpenError; | ||||||
| 	return h; | 	return h; | ||||||
| @@ -275,7 +275,7 @@ u32 MetaFileSystem::OpenWithError(int &error, std::string filename, FileAccess a | |||||||
|  |  | ||||||
| u32 MetaFileSystem::OpenFile(std::string filename, FileAccess access, const char *devicename) | u32 MetaFileSystem::OpenFile(std::string filename, FileAccess access, const char *devicename) | ||||||
| { | { | ||||||
| 	std::lock_guard<std::mutex> guard(lock); | 	std::lock_guard<std::recursive_mutex> guard(lock); | ||||||
| 	lastOpenError = 0; | 	lastOpenError = 0; | ||||||
| 	std::string of; | 	std::string of; | ||||||
| 	MountPoint *mount; | 	MountPoint *mount; | ||||||
| @@ -291,7 +291,7 @@ u32 MetaFileSystem::OpenFile(std::string filename, FileAccess access, const char | |||||||
|  |  | ||||||
| FileInfo MetaFileSystem::GetFileInfo(std::string filename) | FileInfo MetaFileSystem::GetFileInfo(std::string filename) | ||||||
| { | { | ||||||
| 	std::lock_guard<std::mutex> guard(lock); | 	std::lock_guard<std::recursive_mutex> guard(lock); | ||||||
| 	std::string of; | 	std::string of; | ||||||
| 	IFileSystem *system; | 	IFileSystem *system; | ||||||
| 	if (MapFilePath(filename, of, &system)) | 	if (MapFilePath(filename, of, &system)) | ||||||
| @@ -307,7 +307,7 @@ FileInfo MetaFileSystem::GetFileInfo(std::string filename) | |||||||
|  |  | ||||||
| bool MetaFileSystem::GetHostPath(const std::string &inpath, std::string &outpath) | bool MetaFileSystem::GetHostPath(const std::string &inpath, std::string &outpath) | ||||||
| { | { | ||||||
| 	std::lock_guard<std::mutex> guard(lock); | 	std::lock_guard<std::recursive_mutex> guard(lock); | ||||||
| 	std::string of; | 	std::string of; | ||||||
| 	IFileSystem *system; | 	IFileSystem *system; | ||||||
| 	if (MapFilePath(inpath, of, &system)) { | 	if (MapFilePath(inpath, of, &system)) { | ||||||
| @@ -319,7 +319,7 @@ bool MetaFileSystem::GetHostPath(const std::string &inpath, std::string &outpath | |||||||
|  |  | ||||||
| std::vector<FileInfo> MetaFileSystem::GetDirListing(std::string path) | std::vector<FileInfo> MetaFileSystem::GetDirListing(std::string path) | ||||||
| { | { | ||||||
| 	std::lock_guard<std::mutex> guard(lock); | 	std::lock_guard<std::recursive_mutex> guard(lock); | ||||||
| 	std::string of; | 	std::string of; | ||||||
| 	IFileSystem *system; | 	IFileSystem *system; | ||||||
| 	if (MapFilePath(path, of, &system)) | 	if (MapFilePath(path, of, &system)) | ||||||
| @@ -335,13 +335,13 @@ std::vector<FileInfo> MetaFileSystem::GetDirListing(std::string path) | |||||||
|  |  | ||||||
| void MetaFileSystem::ThreadEnded(int threadID) | void MetaFileSystem::ThreadEnded(int threadID) | ||||||
| { | { | ||||||
| 	std::lock_guard<std::mutex> guard(lock); | 	std::lock_guard<std::recursive_mutex> guard(lock); | ||||||
| 	currentDir.erase(threadID); | 	currentDir.erase(threadID); | ||||||
| } | } | ||||||
|  |  | ||||||
| int MetaFileSystem::ChDir(const std::string &dir) | int MetaFileSystem::ChDir(const std::string &dir) | ||||||
| { | { | ||||||
| 	std::lock_guard<std::mutex> guard(lock); | 	std::lock_guard<std::recursive_mutex> guard(lock); | ||||||
| 	// Retain the old path and fail if the arg is 1023 bytes or longer. | 	// Retain the old path and fail if the arg is 1023 bytes or longer. | ||||||
| 	if (dir.size() >= 1023) | 	if (dir.size() >= 1023) | ||||||
| 		return -1;//SCE_KERNEL_ERROR_NAMETOOLONG; | 		return -1;//SCE_KERNEL_ERROR_NAMETOOLONG; | ||||||
| @@ -378,7 +378,7 @@ int MetaFileSystem::ChDir(const std::string &dir) | |||||||
|  |  | ||||||
| bool MetaFileSystem::MkDir(const std::string &dirname) | bool MetaFileSystem::MkDir(const std::string &dirname) | ||||||
| { | { | ||||||
| 	std::lock_guard<std::mutex> guard(lock); | 	std::lock_guard<std::recursive_mutex> guard(lock); | ||||||
| 	std::string of; | 	std::string of; | ||||||
| 	IFileSystem *system; | 	IFileSystem *system; | ||||||
| 	if (MapFilePath(dirname, of, &system)) | 	if (MapFilePath(dirname, of, &system)) | ||||||
| @@ -393,7 +393,7 @@ bool MetaFileSystem::MkDir(const std::string &dirname) | |||||||
|  |  | ||||||
| bool MetaFileSystem::RmDir(const std::string &dirname) | bool MetaFileSystem::RmDir(const std::string &dirname) | ||||||
| { | { | ||||||
| 	std::lock_guard<std::mutex> guard(lock); | 	std::lock_guard<std::recursive_mutex> guard(lock); | ||||||
| 	std::string of; | 	std::string of; | ||||||
| 	IFileSystem *system; | 	IFileSystem *system; | ||||||
| 	if (MapFilePath(dirname, of, &system)) | 	if (MapFilePath(dirname, of, &system)) | ||||||
| @@ -408,7 +408,7 @@ bool MetaFileSystem::RmDir(const std::string &dirname) | |||||||
|  |  | ||||||
| int MetaFileSystem::RenameFile(const std::string &from, const std::string &to) | int MetaFileSystem::RenameFile(const std::string &from, const std::string &to) | ||||||
| { | { | ||||||
| 	std::lock_guard<std::mutex> guard(lock); | 	std::lock_guard<std::recursive_mutex> guard(lock); | ||||||
| 	std::string of; | 	std::string of; | ||||||
| 	std::string rf; | 	std::string rf; | ||||||
| 	IFileSystem *osystem; | 	IFileSystem *osystem; | ||||||
| @@ -440,7 +440,7 @@ int MetaFileSystem::RenameFile(const std::string &from, const std::string &to) | |||||||
|  |  | ||||||
| bool MetaFileSystem::RemoveFile(const std::string &filename) | bool MetaFileSystem::RemoveFile(const std::string &filename) | ||||||
| { | { | ||||||
| 	std::lock_guard<std::mutex> guard(lock); | 	std::lock_guard<std::recursive_mutex> guard(lock); | ||||||
| 	std::string of; | 	std::string of; | ||||||
| 	IFileSystem *system; | 	IFileSystem *system; | ||||||
| 	if (MapFilePath(filename, of, &system)) | 	if (MapFilePath(filename, of, &system)) | ||||||
| @@ -455,7 +455,7 @@ bool MetaFileSystem::RemoveFile(const std::string &filename) | |||||||
|  |  | ||||||
| void MetaFileSystem::CloseFile(u32 handle) | void MetaFileSystem::CloseFile(u32 handle) | ||||||
| { | { | ||||||
| 	std::lock_guard<std::mutex> guard(lock); | 	std::lock_guard<std::recursive_mutex> guard(lock); | ||||||
| 	IFileSystem *sys = GetHandleOwner(handle); | 	IFileSystem *sys = GetHandleOwner(handle); | ||||||
| 	if (sys) | 	if (sys) | ||||||
| 		sys->CloseFile(handle); | 		sys->CloseFile(handle); | ||||||
| @@ -463,7 +463,7 @@ void MetaFileSystem::CloseFile(u32 handle) | |||||||
|  |  | ||||||
| size_t MetaFileSystem::ReadFile(u32 handle, u8 *pointer, s64 size) | size_t MetaFileSystem::ReadFile(u32 handle, u8 *pointer, s64 size) | ||||||
| { | { | ||||||
| 	std::lock_guard<std::mutex> guard(lock); | 	std::lock_guard<std::recursive_mutex> guard(lock); | ||||||
| 	IFileSystem *sys = GetHandleOwner(handle); | 	IFileSystem *sys = GetHandleOwner(handle); | ||||||
| 	if (sys) | 	if (sys) | ||||||
| 		return sys->ReadFile(handle,pointer,size); | 		return sys->ReadFile(handle,pointer,size); | ||||||
| @@ -473,7 +473,7 @@ size_t MetaFileSystem::ReadFile(u32 handle, u8 *pointer, s64 size) | |||||||
|  |  | ||||||
| size_t MetaFileSystem::WriteFile(u32 handle, const u8 *pointer, s64 size) | size_t MetaFileSystem::WriteFile(u32 handle, const u8 *pointer, s64 size) | ||||||
| { | { | ||||||
| 	std::lock_guard<std::mutex> guard(lock); | 	std::lock_guard<std::recursive_mutex> guard(lock); | ||||||
| 	IFileSystem *sys = GetHandleOwner(handle); | 	IFileSystem *sys = GetHandleOwner(handle); | ||||||
| 	if (sys) | 	if (sys) | ||||||
| 		return sys->WriteFile(handle,pointer,size); | 		return sys->WriteFile(handle,pointer,size); | ||||||
| @@ -483,7 +483,7 @@ size_t MetaFileSystem::WriteFile(u32 handle, const u8 *pointer, s64 size) | |||||||
|  |  | ||||||
| size_t MetaFileSystem::SeekFile(u32 handle, s32 position, FileMove type) | size_t MetaFileSystem::SeekFile(u32 handle, s32 position, FileMove type) | ||||||
| { | { | ||||||
| 	std::lock_guard<std::mutex> guard(lock); | 	std::lock_guard<std::recursive_mutex> guard(lock); | ||||||
| 	IFileSystem *sys = GetHandleOwner(handle); | 	IFileSystem *sys = GetHandleOwner(handle); | ||||||
| 	if (sys) | 	if (sys) | ||||||
| 		return sys->SeekFile(handle,position,type); | 		return sys->SeekFile(handle,position,type); | ||||||
| @@ -493,7 +493,7 @@ size_t MetaFileSystem::SeekFile(u32 handle, s32 position, FileMove type) | |||||||
|  |  | ||||||
| void MetaFileSystem::DoState(PointerWrap &p) | void MetaFileSystem::DoState(PointerWrap &p) | ||||||
| { | { | ||||||
| 	std::lock_guard<std::mutex> guard(lock); | 	std::lock_guard<std::recursive_mutex> guard(lock); | ||||||
| 	 | 	 | ||||||
| 	auto s = p.Section("MetaFileSystem", 1); | 	auto s = p.Section("MetaFileSystem", 1); | ||||||
| 	if (!s) | 	if (!s) | ||||||
|   | |||||||
| @@ -104,7 +104,7 @@ public: | |||||||
| 	// TODO: void IoCtl(...) | 	// TODO: void IoCtl(...) | ||||||
|  |  | ||||||
| 	void SetStartingDirectory(const std::string &dir) { | 	void SetStartingDirectory(const std::string &dir) { | ||||||
| 		std::lock_guard<std::mutex> guard(lock); | 		std::lock_guard<std::recursive_mutex> guard(lock); | ||||||
| 		startingDirectory = dir; | 		startingDirectory = dir; | ||||||
| 	} | 	} | ||||||
| }; | }; | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user