to be compatible with 1.1.8
This commit is contained in:
		
							parent
							
								
									ae79a36f7b
								
							
						
					
					
						commit
						3a6dc19616
					
				| @ -585,7 +585,10 @@ impl AudioHandler { | ||||
|                         ); | ||||
|                         audio_buffer.lock().unwrap().extend(buffer); | ||||
|                     } else { | ||||
|                         audio_buffer.lock().unwrap().extend(buffer[0..n].iter().cloned()); | ||||
|                         audio_buffer | ||||
|                             .lock() | ||||
|                             .unwrap() | ||||
|                             .extend(buffer[0..n].iter().cloned()); | ||||
|                     } | ||||
|                 } | ||||
|                 #[cfg(any(target_os = "android"))] | ||||
| @ -681,7 +684,7 @@ pub struct LoginConfigHandler { | ||||
|     pub port_forward: (String, i32), | ||||
|     pub support_press: bool, | ||||
|     pub support_refresh: bool, | ||||
|     pub internation_keyboard: bool, | ||||
|     pub version: i64, | ||||
| } | ||||
| 
 | ||||
| impl Deref for LoginConfigHandler { | ||||
| @ -938,7 +941,7 @@ impl LoginConfigHandler { | ||||
|         if !pi.version.is_empty() { | ||||
|             self.support_press = true; | ||||
|             self.support_refresh = true; | ||||
|             self.internation_keyboard = crate::get_version_number(&pi.version) > 1001008; | ||||
|             self.version = crate::get_version_number(&pi.version); | ||||
|         } | ||||
|         let serde = PeerInfoSerde { | ||||
|             username, | ||||
|  | ||||
| @ -233,6 +233,8 @@ impl Handler { | ||||
|         let mut me = self.clone(); | ||||
|         let peer = self.peer_platform(); | ||||
|         let is_win = peer == "Windows"; | ||||
|         let version = self.lc.read().unwrap().version; | ||||
|         const OFFSET_CASE: u8 = 'a' as u8 - 'A' as u8; | ||||
|         std::thread::spawn(move || { | ||||
|             // This will block.
 | ||||
|             std::env::set_var("KEYBOARD_ONLY", "y"); // pass to rdev
 | ||||
| @ -329,7 +331,7 @@ impl Handler { | ||||
|                 if let Some(k) = control_key { | ||||
|                     key_event.set_control_key(k); | ||||
|                 } else { | ||||
|                     let chr = match evt.name { | ||||
|                     let mut chr = match evt.name { | ||||
|                         Some(ref s) => s.chars().next().unwrap_or('\0'), | ||||
|                         _ => '\0', | ||||
|                     }; | ||||
| @ -338,6 +340,10 @@ impl Handler { | ||||
|                             me.lock_screen(); | ||||
|                             return; | ||||
|                         } | ||||
|                         // <= 1.1.8, caps modifier only for 'a' -> 'z', so here adjust it
 | ||||
|                         if version <= 1001008 && chr >= 'A' && chr <= 'Z' { | ||||
|                             chr = (chr as u8 + OFFSET_CASE) as _; | ||||
|                         } | ||||
|                         key_event.set_chr(chr as _); | ||||
|                     } else { | ||||
|                         log::error!("Unknown key {:?}", evt); | ||||
|  | ||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user