From d9046707ec2a64e2fee0e5532bd5f4c33fb6d45e Mon Sep 17 00:00:00 2001 From: Maxim Kadushkin Date: Thu, 11 Nov 2021 14:47:40 +0300 Subject: [PATCH] [win-nix] fix bug 53574 --- win-linux/src/cascapplicationmanagerwrapper.cpp | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/win-linux/src/cascapplicationmanagerwrapper.cpp b/win-linux/src/cascapplicationmanagerwrapper.cpp index 0155acd3b..de2a2dbd0 100644 --- a/win-linux/src/cascapplicationmanagerwrapper.cpp +++ b/win-linux/src/cascapplicationmanagerwrapper.cpp @@ -733,6 +733,7 @@ void CAscApplicationManagerWrapper::handleInputCmd(const std::vector& v if ( !(c < 0) ) open_opts.wurl = arg.substr(++c); + open_in_new_window = true; open_opts.mode = i == 0 ? COpenOptions::eOpenMode::review : i == 1 ? COpenOptions::eOpenMode::view : COpenOptions::eOpenMode::edit; }else @@ -883,7 +884,8 @@ void CAscApplicationManagerWrapper::startApp() bool open_in_new_window = std::find(in_args.begin(), in_args.end(), L"--force-use-window") != std::end(in_args); bool files_in_args = std::find_if(in_args.begin(), in_args.end(), [](const std::wstring& arg){ - return arg.rfind(L"--", 0); + return (arg.rfind(L"--review", 0) != std::string::npos) || (arg.rfind(L"--view", 0) != std::string::npos) || + (arg.rfind(L"--edit", 0) != std::string::npos) || arg.rfind(L"--", 0 == std::string::npos); }) != std::end(in_args); if ( !files_in_args && open_in_new_window ) { in_args.push_back(L"--new:word");