@@ -65,6 +65,23 @@ Q_DECLARE_METATYPE(CAmount)
65
65
Q_DECLARE_METATYPE(SynchronizationState)
66
66
Q_DECLARE_METATYPE(uint256)
67
67
68
+ static void RegisterMetaTypes()
69
+ {
70
+ // Register meta types used for QMetaObject::invokeMethod and Qt::QueuedConnection
71
+ qRegisterMetaType<bool *>();
72
+ qRegisterMetaType<SynchronizationState>();
73
+ #ifdef ENABLE_WALLET
74
+ qRegisterMetaType<WalletModel*>();
75
+ #endif
76
+ // Register typedefs (see http://qt-project.org/doc/qt-5/qmetatype.html#qRegisterMetaType)
77
+ // IMPORTANT: if CAmount is no longer a typedef use the normal variant above (see https://doc.qt.io/qt-5/qmetatype.html#qRegisterMetaType-1)
78
+ qRegisterMetaType<CAmount>(" CAmount" );
79
+ qRegisterMetaType<size_t >(" size_t" );
80
+
81
+ qRegisterMetaType<std::function<void ()>>(" std::function<void()>" );
82
+ qRegisterMetaType<QMessageBox::Icon>(" QMessageBox::Icon" );
83
+ }
84
+
68
85
static QString GetLangTerritory ()
69
86
{
70
87
QSettings settings;
@@ -184,6 +201,7 @@ BitcoinApplication::BitcoinApplication(interfaces::Node& node):
184
201
returnValue(0 ),
185
202
platformStyle(nullptr )
186
203
{
204
+ RegisterMetaTypes ();
187
205
setQuitOnLastWindowClosed (false );
188
206
}
189
207
@@ -435,20 +453,6 @@ int GuiMain(int argc, char* argv[])
435
453
436
454
BitcoinApplication app (*node);
437
455
438
- // Register meta types used for QMetaObject::invokeMethod and Qt::QueuedConnection
439
- qRegisterMetaType<bool *>();
440
- qRegisterMetaType<SynchronizationState>();
441
- #ifdef ENABLE_WALLET
442
- qRegisterMetaType<WalletModel*>();
443
- #endif
444
- // Register typedefs (see http://qt-project.org/doc/qt-5/qmetatype.html#qRegisterMetaType)
445
- // IMPORTANT: if CAmount is no longer a typedef use the normal variant above (see https://doc.qt.io/qt-5/qmetatype.html#qRegisterMetaType-1)
446
- qRegisterMetaType<CAmount>(" CAmount" );
447
- qRegisterMetaType<size_t >(" size_t" );
448
-
449
- qRegisterMetaType<std::function<void ()>>(" std::function<void()>" );
450
- qRegisterMetaType<QMessageBox::Icon>(" QMessageBox::Icon" );
451
-
452
456
// / 2. Parse command-line options. We do this after qt in order to show an error if there are problems parsing these
453
457
// Command-line options take precedence:
454
458
node->setupServerArgs ();
0 commit comments