mirror of
				https://github.com/godotengine/godot.git
				synced 2025-10-31 21:51:22 +00:00 
			
		
		
		
	Fix: Removed freed up FontData's dangling data in Advanced and Fallback text server
This commit is contained in:
		
							parent
							
								
									6c9765d87e
								
							
						
					
					
						commit
						00beda9691
					
				
					 2 changed files with 12 additions and 0 deletions
				
			
		|  | @ -397,6 +397,12 @@ void TextServerAdvanced::_free_rid(const RID &p_rid) { | ||||||
| 		MutexLock ftlock(ft_mutex); | 		MutexLock ftlock(ft_mutex); | ||||||
| 
 | 
 | ||||||
| 		FontAdvanced *fd = font_owner.get_or_null(p_rid); | 		FontAdvanced *fd = font_owner.get_or_null(p_rid); | ||||||
|  | 		for (const KeyValue<Vector2i, FontForSizeAdvanced *> &ffsd : fd->cache) { | ||||||
|  | 			OversamplingLevel *ol = oversampling_levels.getptr(ffsd.value->viewport_oversampling); | ||||||
|  | 			if (ol != nullptr) { | ||||||
|  | 				ol->fonts.erase(ffsd.value); | ||||||
|  | 			} | ||||||
|  | 		} | ||||||
| 		{ | 		{ | ||||||
| 			MutexLock lock(fd->mutex); | 			MutexLock lock(fd->mutex); | ||||||
| 			font_owner.free(p_rid); | 			font_owner.free(p_rid); | ||||||
|  |  | ||||||
|  | @ -121,6 +121,12 @@ void TextServerFallback::_free_rid(const RID &p_rid) { | ||||||
| 		MutexLock ftlock(ft_mutex); | 		MutexLock ftlock(ft_mutex); | ||||||
| 
 | 
 | ||||||
| 		FontFallback *fd = font_owner.get_or_null(p_rid); | 		FontFallback *fd = font_owner.get_or_null(p_rid); | ||||||
|  | 		for (const KeyValue<Vector2i, FontForSizeFallback *> &ffsd : fd->cache) { | ||||||
|  | 			OversamplingLevel *ol = oversampling_levels.getptr(ffsd.value->viewport_oversampling); | ||||||
|  | 			if (ol != nullptr) { | ||||||
|  | 				ol->fonts.erase(ffsd.value); | ||||||
|  | 			} | ||||||
|  | 		} | ||||||
| 		{ | 		{ | ||||||
| 			MutexLock lock(fd->mutex); | 			MutexLock lock(fd->mutex); | ||||||
| 			font_owner.free(p_rid); | 			font_owner.free(p_rid); | ||||||
|  |  | ||||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue
	
	 avnotaklu
						avnotaklu