From 8c1fcbcd83214d7cc7efc63c12f907538664821e Mon Sep 17 00:00:00 2001
From: Samuel Nevala <samuel.nevala@intopalo.com>
Date: Wed, 26 Aug 2015 15:30:36 +0300
Subject: [PATCH] Declare StandardButton & ButtonRole types for cross-thread
 use.

On windows phone native dialog interaction is handled from
XMAL thread. Declare and register dialog helpers StandardButton
and ButtonRole for cross-thread usage.

Change-Id: Ic1842a5af8a1122fdffb766b4f723d272bdbcac2
Task-Id: QTBUG-47941
Reviewed-by: Andrew Knight <andrew.knight@intopalo.com>
---
 src/gui/kernel/qplatformdialoghelper.cpp | 2 ++
 src/gui/kernel/qplatformdialoghelper.h   | 5 +++++
 2 files changed, 7 insertions(+)

diff --git a/src/gui/kernel/qplatformdialoghelper.cpp b/src/gui/kernel/qplatformdialoghelper.cpp
index 20dc716d896..f69efe09354 100644
--- a/src/gui/kernel/qplatformdialoghelper.cpp
+++ b/src/gui/kernel/qplatformdialoghelper.cpp
@@ -119,6 +119,8 @@ static const int buttonRoleLayouts[2][5][14] =
 
 QPlatformDialogHelper::QPlatformDialogHelper()
 {
+    qRegisterMetaType<StandardButton>();
+    qRegisterMetaType<ButtonRole>();
 }
 
 QPlatformDialogHelper::~QPlatformDialogHelper()
diff --git a/src/gui/kernel/qplatformdialoghelper.h b/src/gui/kernel/qplatformdialoghelper.h
index ec88770862a..936dbdfa899 100644
--- a/src/gui/kernel/qplatformdialoghelper.h
+++ b/src/gui/kernel/qplatformdialoghelper.h
@@ -160,6 +160,11 @@ Q_SIGNALS:
     void reject();
 };
 
+QT_END_NAMESPACE
+Q_DECLARE_METATYPE(QPlatformDialogHelper::StandardButton)
+Q_DECLARE_METATYPE(QPlatformDialogHelper::ButtonRole)
+QT_BEGIN_NAMESPACE
+
 class Q_GUI_EXPORT QColorDialogOptions
 {
 public:
-- 
GitLab