diff options
author | Maurice Kalinowski <maurice.kalinowski@qt.io> | 2016-09-15 16:23:00 +0200 |
---|---|---|
committer | Maurice Kalinowski <maurice.kalinowski@qt.io> | 2016-09-17 11:20:45 +0000 |
commit | 3ff2242d3133a92f3a80c5e8f1bd33d5360a30ab (patch) | |
tree | ba7af2c2b528f4158e86d56d2d492769ce8e68e3 /src | |
parent | ccdf4106314a0a088ab95f117b55e0a39d1d2e09 (diff) |
winrt: Fix crash when restoring purchases
As "app" specifies a special handler for WinRT, users might not have
queried for this product manually before. Hence register the app product
and store it internally.
Change-Id: I4863a7bf74a177b6cf7977d7728c51ee2d453b7e
Reviewed-by: Oliver Wolff <oliver.wolff@qt.io>
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@qt.io>
Diffstat (limited to 'src')
-rw-r--r-- | src/purchasing/inapppurchase/winrt/qwinrtinapppurchasebackend.cpp | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/src/purchasing/inapppurchase/winrt/qwinrtinapppurchasebackend.cpp b/src/purchasing/inapppurchase/winrt/qwinrtinapppurchasebackend.cpp index 396123d..55236c3 100644 --- a/src/purchasing/inapppurchase/winrt/qwinrtinapppurchasebackend.cpp +++ b/src/purchasing/inapppurchase/winrt/qwinrtinapppurchasebackend.cpp @@ -418,6 +418,11 @@ void QWinRTInAppPurchaseBackend::restorePurchases() qCDebug(lcPurchasingBackend) << "Restoring app product"; QInAppProduct *product = store()->registeredProduct(qt_win_app_identifier); + // App is special and needs explicit registration + if (!product) { + queryProduct(QInAppProduct::Unlockable, qt_win_app_identifier); + product = store()->registeredProduct(qt_win_app_identifier); + } auto transaction = new QWinRTInAppTransaction(QInAppTransaction::PurchaseRestored, product, |