Merge pull request #1885 from fufesou/fix_win_crash
win: fix some potential bugs
This commit is contained in:
		
						commit
						27de5b6971
					
				| @ -1210,8 +1210,11 @@ Future<void> initUniLinks() async { | |||||||
|   } |   } | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| StreamSubscription listenUniLinks() { | StreamSubscription? listenUniLinks() { | ||||||
|   if (Platform.isWindows || Platform.isMacOS) { |   if (!(Platform.isWindows || Platform.isMacOS)) { | ||||||
|  |     return null; | ||||||
|  |   } | ||||||
|  | 
 | ||||||
|   final sub = uriLinkStream.listen((Uri? uri) { |   final sub = uriLinkStream.listen((Uri? uri) { | ||||||
|     if (uri != null) { |     if (uri != null) { | ||||||
|       callUniLinksUriHandler(uri); |       callUniLinksUriHandler(uri); | ||||||
| @ -1222,11 +1225,6 @@ StreamSubscription listenUniLinks() { | |||||||
|     print("uni links error: $err"); |     print("uni links error: $err"); | ||||||
|   }); |   }); | ||||||
|   return sub; |   return sub; | ||||||
|   } else { |  | ||||||
|     // return empty stream subscription for uniform logic |  | ||||||
|     final stream = Stream.empty(); |  | ||||||
|     return stream.listen((event) {/*ignore*/}); |  | ||||||
|   } |  | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| void checkArguments() { | void checkArguments() { | ||||||
|  | |||||||
| @ -1,6 +1,7 @@ | |||||||
| #include <flutter/dart_project.h> | #include <flutter/dart_project.h> | ||||||
| #include <flutter/flutter_view_controller.h> | #include <flutter/flutter_view_controller.h> | ||||||
| #include <windows.h> | #include <windows.h> | ||||||
|  | #include <tchar.h> | ||||||
| #include <iostream> | #include <iostream> | ||||||
| 
 | 
 | ||||||
| #include "flutter_window.h" | #include "flutter_window.h" | ||||||
| @ -54,7 +55,7 @@ int APIENTRY wWinMain(_In_ HINSTANCE instance, _In_opt_ HINSTANCE prev, | |||||||
|   // only do uni links when dispatch a rustdesk links
 |   // only do uni links when dispatch a rustdesk links
 | ||||||
|   auto prefix = std::string(uniLinksPrefix); |   auto prefix = std::string(uniLinksPrefix); | ||||||
|   if (!command_line_arguments.empty() && command_line_arguments.front().compare(0, prefix.size(), prefix.c_str()) == 0) { |   if (!command_line_arguments.empty() && command_line_arguments.front().compare(0, prefix.size(), prefix.c_str()) == 0) { | ||||||
|      HWND hwnd = ::FindWindow(L"FLUTTER_RUNNER_WIN32_WINDOW", L"rustdesk"); |      HWND hwnd = ::FindWindow(_T("FLUTTER_RUNNER_WIN32_WINDOW"), _T("RustDesk")); | ||||||
|     if (hwnd != NULL) { |     if (hwnd != NULL) { | ||||||
|       DispatchToUniLinksDesktop(hwnd); |       DispatchToUniLinksDesktop(hwnd); | ||||||
| 
 | 
 | ||||||
|  | |||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user