summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJohn Preston <johnprestonmail@gmail.com>2022-05-13 12:26:26 +0400
committerJohn Preston <johnprestonmail@gmail.com>2022-05-13 12:26:26 +0400
commitb5bc567eb808804b665ee7eb934a4dab9cd37a41 (patch)
treefa46d7c537826a5b5b07b6150e3f461ac48b3c1b
parent5f91a97778ca76188ffce7430e3e07b117831d26 (diff)
Beta version 3.7.5: Fix MSVC x64 Release build.v3.7.5
-rw-r--r--Telegram/SourceFiles/passport/passport_form_controller.cpp7
-rw-r--r--Telegram/SourceFiles/passport/passport_panel_controller.cpp6
2 files changed, 12 insertions, 1 deletions
diff --git a/Telegram/SourceFiles/passport/passport_form_controller.cpp b/Telegram/SourceFiles/passport/passport_form_controller.cpp
index 3c3b6b81e6..28fe296c77 100644
--- a/Telegram/SourceFiles/passport/passport_form_controller.cpp
+++ b/Telegram/SourceFiles/passport/passport_form_controller.cpp
@@ -995,12 +995,17 @@ void FormController::recoverPassword() {
.hasRecovery = _password.hasRecovery,
.pendingResetDate = _password.pendingResetDate,
};
+
+ // MSVC x64 (non-LTO) Release build fails with a linker error:
+ // - unresolved external variant::variant(variant const &)
+ // It looks like a MSVC bug and this works like a workaround.
+ const auto force = fields.mtp.newSecureSecretAlgo;
+
const auto box = _view->show(Box<RecoverBox>(
&_controller->session().mtp(),
&_controller->session(),
pattern,
fields));
-
box->newPasswordSet(
) | rpl::start_with_next([=](const QByteArray &password) {
if (password.isEmpty()) {
diff --git a/Telegram/SourceFiles/passport/passport_panel_controller.cpp b/Telegram/SourceFiles/passport/passport_panel_controller.cpp
index f5f2586557..d4b96b3c6f 100644
--- a/Telegram/SourceFiles/passport/passport_panel_controller.cpp
+++ b/Telegram/SourceFiles/passport/passport_panel_controller.cpp
@@ -690,6 +690,12 @@ void PanelController::setupPassword() {
.hasRecovery = settings.hasRecovery,
.pendingResetDate = settings.pendingResetDate,
};
+
+ // MSVC x64 (non-LTO) Release build fails with a linker error:
+ // - unresolved external variant::variant(variant const &)
+ // It looks like a MSVC bug and this works like a workaround.
+ const auto force = fields.mtp.newSecureSecretAlgo;
+
auto box = show(Box<PasscodeBox>(&_form->window()->session(), fields));
box->newPasswordSet(
) | rpl::start_with_next([=](const QByteArray &password) {