| 
																	
																	
																		
																			
																		
																	
																	
																 | 
																@ -1994,7 +1994,9 @@ void SetClipboardText(const char *text) | 
															
														
														
													
														
															
																 | 
																 | 
																    glfwSetClipboardString(CORE.Window.handle, text); | 
																 | 
																 | 
																    glfwSetClipboardString(CORE.Window.handle, text); | 
															
														
														
													
														
															
																 | 
																 | 
																#endif | 
																 | 
																 | 
																#endif | 
															
														
														
													
														
															
																 | 
																 | 
																#if defined(PLATFORM_WEB) | 
																 | 
																 | 
																#if defined(PLATFORM_WEB) | 
															
														
														
													
														
															
																 | 
																 | 
																    emscripten_run_script(TextFormat("navigator.clipboard.writeText('%s')", text)); | 
																 | 
																 | 
																 | 
															
														
														
													
														
															
																 | 
																 | 
																 | 
																 | 
																 | 
																    // Security check to (partially) avoid malicious code | 
															
														
														
													
														
															
																 | 
																 | 
																 | 
																 | 
																 | 
																    if (strchr(text, '\'') != NULL) TRACELOG(LOG_WARNING, "SYSTEM: Provided Clipboard could be potentially malicious, avoid [\'] character"); | 
															
														
														
													
														
															
																 | 
																 | 
																 | 
																 | 
																 | 
																    else emscripten_run_script(TextFormat("navigator.clipboard.writeText('%s')", text)); | 
															
														
														
													
														
															
																 | 
																 | 
																#endif | 
																 | 
																 | 
																#endif | 
															
														
														
													
														
															
																 | 
																 | 
																} | 
																 | 
																 | 
																} | 
															
														
														
													
														
															
																 | 
																 | 
																
 | 
																 | 
																 | 
																
 | 
															
														
														
													
												
													
														
															
																| 
																	
																	
																	
																		
																			
																		
																	
																 | 
																@ -2006,6 +2008,7 @@ const char *GetClipboardText(void) | 
															
														
														
													
														
															
																 | 
																 | 
																    return glfwGetClipboardString(CORE.Window.handle); | 
																 | 
																 | 
																    return glfwGetClipboardString(CORE.Window.handle); | 
															
														
														
													
														
															
																 | 
																 | 
																#endif | 
																 | 
																 | 
																#endif | 
															
														
														
													
														
															
																 | 
																 | 
																#if defined(PLATFORM_WEB) | 
																 | 
																 | 
																#if defined(PLATFORM_WEB) | 
															
														
														
													
														
															
																 | 
																 | 
																 | 
																 | 
																 | 
																/* | 
															
														
														
													
														
															
																 | 
																 | 
																    // Accessing clipboard data from browser is tricky due to security reasons | 
																 | 
																 | 
																    // Accessing clipboard data from browser is tricky due to security reasons | 
															
														
														
													
														
															
																 | 
																 | 
																    // The method to use is navigator.clipboard.readText() but this is an asynchronous method | 
																 | 
																 | 
																    // The method to use is navigator.clipboard.readText() but this is an asynchronous method | 
															
														
														
													
														
															
																 | 
																 | 
																    // that will return at some moment after the function is called with the required data | 
																 | 
																 | 
																    // that will return at some moment after the function is called with the required data | 
															
														
														
													
												
													
														
															
																| 
																	
																	
																	
																		
																			
																		
																	
																 | 
																@ -2019,7 +2022,7 @@ const char *GetClipboardText(void) | 
															
														
														
													
														
															
																 | 
																 | 
																
 | 
																 | 
																 | 
																
 | 
															
														
														
													
														
															
																 | 
																 | 
																    // Another approach could be just copy the data in a HTML text field and try to retrieve it | 
																 | 
																 | 
																    // Another approach could be just copy the data in a HTML text field and try to retrieve it | 
															
														
														
													
														
															
																 | 
																 | 
																    // later on if available... and clean it for future accesses | 
																 | 
																 | 
																    // later on if available... and clean it for future accesses | 
															
														
														
													
														
															
																 | 
																 | 
																
 | 
																 | 
																 | 
																 | 
															
														
														
													
														
															
																 | 
																 | 
																 | 
																 | 
																 | 
																*/ | 
															
														
														
													
														
															
																 | 
																 | 
																    return NULL; | 
																 | 
																 | 
																    return NULL; | 
															
														
														
													
														
															
																 | 
																 | 
																#endif | 
																 | 
																 | 
																#endif | 
															
														
														
													
														
															
																 | 
																 | 
																    return NULL; | 
																 | 
																 | 
																    return NULL; | 
															
														
														
													
												
													
														
															
																| 
																	
																		
																			
																		
																	
																	
																		
																			
																		
																	
																	
																 | 
																@ -2910,6 +2913,9 @@ void SetConfigFlags(unsigned int flags) | 
															
														
														
													
														
															
																 | 
																 | 
																void TakeScreenshot(const char *fileName) | 
																 | 
																 | 
																void TakeScreenshot(const char *fileName) | 
															
														
														
													
														
															
																 | 
																 | 
																{ | 
																 | 
																 | 
																{ | 
															
														
														
													
														
															
																 | 
																 | 
																#if defined(SUPPORT_MODULE_RTEXTURES) | 
																 | 
																 | 
																#if defined(SUPPORT_MODULE_RTEXTURES) | 
															
														
														
													
														
															
																 | 
																 | 
																 | 
																 | 
																 | 
																    // Security check to (partially) avoid malicious code on PLATFORM_WEB | 
															
														
														
													
														
															
																 | 
																 | 
																 | 
																 | 
																 | 
																    if (strchr(fileName, '\'') != NULL) { TRACELOG(LOG_WARNING, "SYSTEM: Provided fileName could be potentially malicious, avoid [\'] character");  return; } | 
															
														
														
													
														
															
																 | 
																 | 
																 | 
																 | 
																 | 
																
 | 
															
														
														
													
														
															
																 | 
																 | 
																    Vector2 scale = GetWindowScaleDPI(); | 
																 | 
																 | 
																    Vector2 scale = GetWindowScaleDPI(); | 
															
														
														
													
														
															
																 | 
																 | 
																    unsigned char *imgData = rlReadScreenPixels((int)((float)CORE.Window.render.width*scale.x), (int)((float)CORE.Window.render.height*scale.y)); | 
																 | 
																 | 
																    unsigned char *imgData = rlReadScreenPixels((int)((float)CORE.Window.render.width*scale.x), (int)((float)CORE.Window.render.height*scale.y)); | 
															
														
														
													
														
															
																 | 
																 | 
																    Image image = { imgData, (int)((float)CORE.Window.render.width*scale.x), (int)((float)CORE.Window.render.height*scale.y), 1, PIXELFORMAT_UNCOMPRESSED_R8G8B8A8 }; | 
																 | 
																 | 
																    Image image = { imgData, (int)((float)CORE.Window.render.width*scale.x), (int)((float)CORE.Window.render.height*scale.y), 1, PIXELFORMAT_UNCOMPRESSED_R8G8B8A8 }; | 
															
														
														
													
												
													
														
															
																| 
																	
																		
																			
																		
																	
																	
																		
																			
																		
																	
																	
																 | 
																@ -3536,12 +3542,8 @@ unsigned char *DecodeDataBase64(const unsigned char *data, int *outputSize) | 
															
														
														
													
														
															
																 | 
																 | 
																// Ref: https://github.com/raysan5/raylib/issues/686 | 
																 | 
																 | 
																// Ref: https://github.com/raysan5/raylib/issues/686 | 
															
														
														
													
														
															
																 | 
																 | 
																void OpenURL(const char *url) | 
																 | 
																 | 
																void OpenURL(const char *url) | 
															
														
														
													
														
															
																 | 
																 | 
																{ | 
																 | 
																 | 
																{ | 
															
														
														
													
														
															
																 | 
																 | 
																    // Small security check trying to avoid (partially) malicious code... | 
																 | 
																 | 
																 | 
															
														
														
													
														
															
																 | 
																 | 
																    // sorry for the inconvenience when you hit this point... | 
																 | 
																 | 
																 | 
															
														
														
													
														
															
																 | 
																 | 
																    if (strchr(url, '\'') != NULL) | 
																 | 
																 | 
																 | 
															
														
														
													
														
															
																 | 
																 | 
																    { | 
																 | 
																 | 
																 | 
															
														
														
													
														
															
																 | 
																 | 
																        TRACELOG(LOG_WARNING, "SYSTEM: Provided URL is not valid"); | 
																 | 
																 | 
																 | 
															
														
														
													
														
															
																 | 
																 | 
																    } | 
																 | 
																 | 
																 | 
															
														
														
													
														
															
																 | 
																 | 
																 | 
																 | 
																 | 
																    // Security check to (aprtially) avoid malicious code on PLATFORM_WEB | 
															
														
														
													
														
															
																 | 
																 | 
																 | 
																 | 
																 | 
																    if (strchr(url, '\'') != NULL) TRACELOG(LOG_WARNING, "SYSTEM: Provided URL could be potentially malicious, avoid [\'] character"); | 
															
														
														
													
														
															
																 | 
																 | 
																    else | 
																 | 
																 | 
																    else | 
															
														
														
													
														
															
																 | 
																 | 
																    { | 
																 | 
																 | 
																    { | 
															
														
														
													
														
															
																 | 
																 | 
																#if defined(PLATFORM_DESKTOP) | 
																 | 
																 | 
																#if defined(PLATFORM_DESKTOP) | 
															
														
														
													
												
													
														
															
																| 
																	
																		
																			
																		
																	
																	
																	
																 | 
																
 |