diff --git a/flutter/lib/common.dart b/flutter/lib/common.dart index 8c927e8a1..8a2792a2b 100644 --- a/flutter/lib/common.dart +++ b/flutter/lib/common.dart @@ -1210,23 +1210,21 @@ Future initUniLinks() async { } } -StreamSubscription listenUniLinks() { - if (Platform.isWindows || Platform.isMacOS) { - final sub = uriLinkStream.listen((Uri? uri) { - if (uri != null) { - callUniLinksUriHandler(uri); - } else { - print("uni listen error: uri is empty."); - } - }, onError: (err) { - print("uni links error: $err"); - }); - return sub; - } else { - // return empty stream subscription for uniform logic - final stream = Stream.empty(); - return stream.listen((event) {/*ignore*/}); +StreamSubscription? listenUniLinks() { + if (!(Platform.isWindows || Platform.isMacOS)) { + return null; } + + final sub = uriLinkStream.listen((Uri? uri) { + if (uri != null) { + callUniLinksUriHandler(uri); + } else { + print("uni listen error: uri is empty."); + } + }, onError: (err) { + print("uni links error: $err"); + }); + return sub; } void checkArguments() { diff --git a/flutter/windows/runner/main.cpp b/flutter/windows/runner/main.cpp index 19556a1f1..5680ab5d3 100644 --- a/flutter/windows/runner/main.cpp +++ b/flutter/windows/runner/main.cpp @@ -1,6 +1,7 @@ #include #include #include +#include #include #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 auto prefix = std::string(uniLinksPrefix); 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) { DispatchToUniLinksDesktop(hwnd);