diff --git a/src/cascadia/TerminalApp/CascadiaSettings.cpp b/src/cascadia/TerminalApp/CascadiaSettings.cpp index 823c7693c2d..3a98b5c9b85 100644 --- a/src/cascadia/TerminalApp/CascadiaSettings.cpp +++ b/src/cascadia/TerminalApp/CascadiaSettings.cpp @@ -756,7 +756,7 @@ void CascadiaSettings::_ValidateNoDuplicateProfiles() // Try collecting all the unique guids. If we ever encounter a guid that's // already in the set, then we need to delete that profile. - for (int i = 0; i < _profiles.size(); i++) + for (size_t i = 0; i < _profiles.size(); i++) { if (!uniqueGuids.insert(_profiles.at(i).GetGuid()).second) { diff --git a/src/cascadia/TerminalConnection/AzureConnection.cpp b/src/cascadia/TerminalConnection/AzureConnection.cpp index 029e2986acb..b93529d6706 100644 --- a/src/cascadia/TerminalConnection/AzureConnection.cpp +++ b/src/cascadia/TerminalConnection/AzureConnection.cpp @@ -574,37 +574,41 @@ namespace winrt::Microsoft::Terminal::TerminalConnection::implementation // - S_OK otherwise HRESULT AzureConnection::_TenantChoiceHelper() { - const auto tenantListAsArray = _tenantList.as_array(); - _maxSize = tenantListAsArray.size(); - for (int i = 0; i < _maxSize; i++) - { - const auto& tenant = tenantListAsArray.at(i); - const auto [tenantId, tenantDisplayName] = _crackTenant(tenant); - _outputHandlers(_StrFormatHelper(ithTenant, i, tenantDisplayName.c_str(), tenantId.c_str())); - } - _outputHandlers(winrt::to_hstring(enterTenant)); - // Use a lock to wait for the user to input a valid number - std::unique_lock tenantNumberLock{ _commonMutex }; - _canProceed.wait(tenantNumberLock, [=]() { - return (_tenantNumber >= 0 && _tenantNumber < _maxSize) || _closing.load(); - }); - // User might have closed the tab while we waited for input - if (_closing.load()) + try { - return E_FAIL; - } + const auto tenantListAsArray = _tenantList.as_array(); + _maxSize = gsl::narrow(tenantListAsArray.size()); + for (int i = 0; i < _maxSize; i++) + { + const auto& tenant = tenantListAsArray.at(i); + const auto [tenantId, tenantDisplayName] = _crackTenant(tenant); + _outputHandlers(_StrFormatHelper(ithTenant, i, tenantDisplayName.c_str(), tenantId.c_str())); + } + _outputHandlers(winrt::to_hstring(enterTenant)); + // Use a lock to wait for the user to input a valid number + std::unique_lock tenantNumberLock{ _commonMutex }; + _canProceed.wait(tenantNumberLock, [=]() { + return (_tenantNumber >= 0 && _tenantNumber < _maxSize) || _closing.load(); + }); + // User might have closed the tab while we waited for input + if (_closing.load()) + { + return E_FAIL; + } - const auto& chosenTenant = tenantListAsArray.at(_tenantNumber); - std::tie(_tenantID, _displayName) = _crackTenant(chosenTenant); + const auto& chosenTenant = tenantListAsArray.at(_tenantNumber); + std::tie(_tenantID, _displayName) = _crackTenant(chosenTenant); - // We have to refresh now that we have the tenantID - const auto refreshResponse = _RefreshTokens(); - _accessToken = refreshResponse.at(L"access_token").as_string(); - _refreshToken = refreshResponse.at(L"refresh_token").as_string(); - _expiry = std::stoi(refreshResponse.at(L"expires_on").as_string()); + // We have to refresh now that we have the tenantID + const auto refreshResponse = _RefreshTokens(); + _accessToken = refreshResponse.at(L"access_token").as_string(); + _refreshToken = refreshResponse.at(L"refresh_token").as_string(); + _expiry = std::stoi(refreshResponse.at(L"expires_on").as_string()); - _state = State::StoreTokens; - return S_OK; + _state = State::StoreTokens; + return S_OK; + } + CATCH_RETURN(); } // Method description: diff --git a/src/cascadia/TerminalControl/TermControl.cpp b/src/cascadia/TerminalControl/TermControl.cpp index 5628d037330..910365c0dbe 100644 --- a/src/cascadia/TerminalControl/TermControl.cpp +++ b/src/cascadia/TerminalControl/TermControl.cpp @@ -1443,7 +1443,7 @@ namespace winrt::Microsoft::Terminal::TerminalControl::implementation } // send data up for clipboard - auto copyArgs = winrt::make_self(winrt::hstring(textData.data(), textData.size()), winrt::to_hstring(htmlData)); + auto copyArgs = winrt::make_self(winrt::hstring(textData.data(), gsl::narrow(textData.size())), winrt::to_hstring(htmlData)); _clipboardCopyHandlers(*this, *copyArgs); return true; } diff --git a/src/cascadia/TerminalControl/TermControlAutomationPeer.cpp b/src/cascadia/TerminalControl/TermControlAutomationPeer.cpp index 585eb32cfa4..18d9f6abb44 100644 --- a/src/cascadia/TerminalControl/TermControlAutomationPeer.cpp +++ b/src/cascadia/TerminalControl/TermControlAutomationPeer.cpp @@ -136,7 +136,7 @@ namespace winrt::Microsoft::Terminal::TerminalControl::implementation { // transfer ownership of UiaTextRanges to this new vector auto providers = SafeArrayToOwningVector<::Microsoft::Terminal::UiaTextRange>(textRanges); - int count = providers.size(); + int count = gsl::narrow(providers.size()); std::vector vec; vec.reserve(count); diff --git a/src/cascadia/WindowsTerminal/AppHost.cpp b/src/cascadia/WindowsTerminal/AppHost.cpp index 40439f4c106..2c09bec71f4 100644 --- a/src/cascadia/WindowsTerminal/AppHost.cpp +++ b/src/cascadia/WindowsTerminal/AppHost.cpp @@ -97,7 +97,7 @@ void AppHost::Initialize() // - newTitle: the string to use as the new window title // Return Value: // - -void AppHost::AppTitleChanged(const winrt::Windows::Foundation::IInspectable& sender, winrt::hstring newTitle) +void AppHost::AppTitleChanged(const winrt::Windows::Foundation::IInspectable& /*sender*/, winrt::hstring newTitle) { _window->UpdateTitle(newTitle.c_str()); } @@ -109,7 +109,7 @@ void AppHost::AppTitleChanged(const winrt::Windows::Foundation::IInspectable& se // - LastTabClosedEventArgs: unused // Return Value: // - -void AppHost::LastTabClosed(const winrt::Windows::Foundation::IInspectable& sender, const winrt::TerminalApp::LastTabClosedEventArgs& args) +void AppHost::LastTabClosed(const winrt::Windows::Foundation::IInspectable& /*sender*/, const winrt::TerminalApp::LastTabClosedEventArgs& /*args*/) { _window->Close(); } diff --git a/src/cascadia/WindowsTerminal/IslandWindow.h b/src/cascadia/WindowsTerminal/IslandWindow.h index 1b95b3308f4..98eb76db35b 100644 --- a/src/cascadia/WindowsTerminal/IslandWindow.h +++ b/src/cascadia/WindowsTerminal/IslandWindow.h @@ -36,7 +36,7 @@ class IslandWindow : void UpdateTheme(const winrt::Windows::UI::Xaml::ElementTheme& requestedTheme); #pragma region IUiaWindow - void ChangeViewport(const SMALL_RECT NewWindow) + void ChangeViewport(const SMALL_RECT /*NewWindow*/) { // TODO GitHub #1352: Hook up ScreenInfoUiaProvider to WindowUiaProvider // Relevant comment from zadjii-msft: @@ -57,7 +57,7 @@ class IslandWindow : return BaseWindow::GetHandle(); }; - [[nodiscard]] HRESULT SignalUia(_In_ EVENTID id) override { return E_NOTIMPL; }; + [[nodiscard]] HRESULT SignalUia(_In_ EVENTID /*id*/) override { return E_NOTIMPL; }; [[nodiscard]] HRESULT UiaSetTextAreaFocus() override { return E_NOTIMPL; }; RECT GetWindowRect() const noexcept override diff --git a/src/cascadia/WindowsTerminal/WindowUiaProvider.cpp b/src/cascadia/WindowsTerminal/WindowUiaProvider.cpp index d8f51c51414..176c692b9bb 100644 --- a/src/cascadia/WindowsTerminal/WindowUiaProvider.cpp +++ b/src/cascadia/WindowsTerminal/WindowUiaProvider.cpp @@ -107,7 +107,7 @@ WindowUiaProvider* WindowUiaProvider::Create(Microsoft::Console::Types::IUiaWind #pragma region IRawElementProviderFragment -IFACEMETHODIMP WindowUiaProvider::Navigate(_In_ NavigateDirection direction, _COM_Outptr_result_maybenull_ IRawElementProviderFragment** ppProvider) +IFACEMETHODIMP WindowUiaProvider::Navigate(_In_ NavigateDirection /*direction*/, _COM_Outptr_result_maybenull_ IRawElementProviderFragment** ppProvider) { RETURN_IF_FAILED(_EnsureValidHwnd()); *ppProvider = nullptr; @@ -139,7 +139,7 @@ IFACEMETHODIMP WindowUiaProvider::SetFocus() IFACEMETHODIMP WindowUiaProvider::ElementProviderFromPoint(_In_ double /*x*/, _In_ double /*y*/, - _COM_Outptr_result_maybenull_ IRawElementProviderFragment** ppProvider) + _COM_Outptr_result_maybenull_ IRawElementProviderFragment** /*ppProvider*/) { RETURN_IF_FAILED(_EnsureValidHwnd()); @@ -151,7 +151,7 @@ IFACEMETHODIMP WindowUiaProvider::ElementProviderFromPoint(_In_ double /*x*/, return S_OK; } -IFACEMETHODIMP WindowUiaProvider::GetFocus(_COM_Outptr_result_maybenull_ IRawElementProviderFragment** ppProvider) +IFACEMETHODIMP WindowUiaProvider::GetFocus(_COM_Outptr_result_maybenull_ IRawElementProviderFragment** /*ppProvider*/) { RETURN_IF_FAILED(_EnsureValidHwnd()); // TODO GitHub #2447: Hook up ScreenInfoUiaProvider to WindowUiaProvider diff --git a/src/cppwinrt.build.pre.props b/src/cppwinrt.build.pre.props index 264b59e9ecc..58c8f3aee90 100644 --- a/src/cppwinrt.build.pre.props +++ b/src/cppwinrt.build.pre.props @@ -94,6 +94,7 @@ pch.h $(IntDir)pch.pch Level4 + true %(AdditionalOptions) /permissive- /bigobj /Zc:twoPhase- /std:c++17 28204 _WINRT_DLL;%(PreprocessorDefinitions)