mirror of
				https://github.com/godotengine/godot.git
				synced 2025-10-31 13:41:03 +00:00 
			
		
		
		
	Modernize Thread
- Based on C++11's `thread` and `thread_local` - No more need to allocate-deallocate or check for null - No pointer anymore, just a member variable - Platform-specific implementations no longer needed (except for the few cases of non-portable functions) - Simpler for `NO_THREADS` - Thread ids are now the same across platforms (main is 1; others follow)
This commit is contained in:
		
							parent
							
								
									8f6a636ae7
								
							
						
					
					
						commit
						6d89f675b1
					
				
					 84 changed files with 370 additions and 1080 deletions
				
			
		|  | @ -49,7 +49,7 @@ DirAccess *DirAccessJAndroid::create_fs() { | |||
| Error DirAccessJAndroid::list_dir_begin() { | ||||
| 
 | ||||
| 	list_dir_end(); | ||||
| 	JNIEnv *env = ThreadAndroid::get_env(); | ||||
| 	JNIEnv *env = get_jni_env(); | ||||
| 
 | ||||
| 	jstring js = env->NewStringUTF(current_dir.utf8().get_data()); | ||||
| 	int res = env->CallIntMethod(io, _dir_open, js); | ||||
|  | @ -65,7 +65,7 @@ String DirAccessJAndroid::get_next() { | |||
| 
 | ||||
| 	ERR_FAIL_COND_V(id == 0, ""); | ||||
| 
 | ||||
| 	JNIEnv *env = ThreadAndroid::get_env(); | ||||
| 	JNIEnv *env = get_jni_env(); | ||||
| 	jstring str = (jstring)env->CallObjectMethod(io, _dir_next, id); | ||||
| 	if (!str) | ||||
| 		return ""; | ||||
|  | @ -77,7 +77,7 @@ String DirAccessJAndroid::get_next() { | |||
| 
 | ||||
| bool DirAccessJAndroid::current_is_dir() const { | ||||
| 
 | ||||
| 	JNIEnv *env = ThreadAndroid::get_env(); | ||||
| 	JNIEnv *env = get_jni_env(); | ||||
| 
 | ||||
| 	return env->CallBooleanMethod(io, _dir_is_dir, id); | ||||
| } | ||||
|  | @ -92,7 +92,7 @@ void DirAccessJAndroid::list_dir_end() { | |||
| 	if (id == 0) | ||||
| 		return; | ||||
| 
 | ||||
| 	JNIEnv *env = ThreadAndroid::get_env(); | ||||
| 	JNIEnv *env = get_jni_env(); | ||||
| 	env->CallVoidMethod(io, _dir_close, id); | ||||
| 	id = 0; | ||||
| } | ||||
|  | @ -109,7 +109,7 @@ String DirAccessJAndroid::get_drive(int p_drive) { | |||
| 
 | ||||
| Error DirAccessJAndroid::change_dir(String p_dir) { | ||||
| 
 | ||||
| 	JNIEnv *env = ThreadAndroid::get_env(); | ||||
| 	JNIEnv *env = get_jni_env(); | ||||
| 
 | ||||
| 	if (p_dir == "" || p_dir == "." || (p_dir == ".." && current_dir == "")) | ||||
| 		return OK; | ||||
|  | @ -166,7 +166,7 @@ bool DirAccessJAndroid::file_exists(String p_file) { | |||
| 
 | ||||
| bool DirAccessJAndroid::dir_exists(String p_dir) { | ||||
| 
 | ||||
| 	JNIEnv *env = ThreadAndroid::get_env(); | ||||
| 	JNIEnv *env = get_jni_env(); | ||||
| 
 | ||||
| 	String sd; | ||||
| 
 | ||||
|  | @ -225,7 +225,7 @@ size_t DirAccessJAndroid::get_space_left() { | |||
| 
 | ||||
| void DirAccessJAndroid::setup(jobject p_io) { | ||||
| 
 | ||||
| 	JNIEnv *env = ThreadAndroid::get_env(); | ||||
| 	JNIEnv *env = get_jni_env(); | ||||
| 	io = p_io; | ||||
| 
 | ||||
| 	jclass c = env->GetObjectClass(io); | ||||
|  |  | |||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue
	
	 Pedro J. Estébanez
						Pedro J. Estébanez