summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorMaurice Kalinowski <maurice.kalinowski@qt.io>2016-09-15 16:23:00 +0200
committerMaurice Kalinowski <maurice.kalinowski@qt.io>2016-09-17 11:20:45 +0000
commit3ff2242d3133a92f3a80c5e8f1bd33d5360a30ab (patch)
treeba7af2c2b528f4158e86d56d2d492769ce8e68e3 /src
parentccdf4106314a0a088ab95f117b55e0a39d1d2e09 (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.cpp5
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,