Skip to content

Commit

Permalink
Merge bitcoin#14162: gui: Also log and print messages or questions li…
Browse files Browse the repository at this point in the history
…ke bitcoind

fa7e969 qt: Also log and print messages or questions like bitcoind (MarcoFalke)
dd031e3 noui: Move handlers to header file (MarcoFalke)

Pull request description:

  Testing and debugging after shutdown are harder if the node was run through the gui, because errors and warnings would not be logged to the debug.log or written to the stderr (as is the case for bitcoind).

Tree-SHA512: 1154e2bf02e3c2616c8d28609569d6c3c7344c5877ad5c1303245044cc7aced9eaec9627f1e1258ed087b49c2a2e6f99bc6c1ad0abe0a855b61e737bdf2059bc

# Conflicts:
#	src/noui.cpp
  • Loading branch information
laanwj authored and Munkybooty committed Jul 8, 2021
1 parent 6add739 commit 6463ab1
Show file tree
Hide file tree
Showing 4 changed files with 22 additions and 7 deletions.
6 changes: 3 additions & 3 deletions src/noui.cpp
Expand Up @@ -15,7 +15,7 @@

#include <boost/signals2/connection.hpp>

static bool noui_ThreadSafeMessageBox(const std::string& message, const std::string& caption, unsigned int style)
bool noui_ThreadSafeMessageBox(const std::string& message, const std::string& caption, unsigned int style)
{
bool fSecure = style & CClientUIInterface::SECURE;
style &= ~CClientUIInterface::SECURE;
Expand All @@ -42,12 +42,12 @@ static bool noui_ThreadSafeMessageBox(const std::string& message, const std::str
return false;
}

static bool noui_ThreadSafeQuestion(const std::string& /* ignored interactive message */, const std::string& message, const std::string& caption, unsigned int style)
bool noui_ThreadSafeQuestion(const std::string& /* ignored interactive message */, const std::string& message, const std::string& caption, unsigned int style)
{
return noui_ThreadSafeMessageBox(message, caption, style);
}

static void noui_InitMessage(const std::string& message)
void noui_InitMessage(const std::string& message)
{
LogPrintf("init message: %s\n", message);
}
Expand Down
12 changes: 11 additions & 1 deletion src/noui.h
Expand Up @@ -5,6 +5,16 @@
#ifndef BITCOIN_NOUI_H
#define BITCOIN_NOUI_H

extern void noui_connect();
#include <string>

/** Non-GUI handler, which logs and prints messages. */
bool noui_ThreadSafeMessageBox(const std::string& message, const std::string& caption, unsigned int style);
/** Non-GUI handler, which logs and prints questions. */
bool noui_ThreadSafeQuestion(const std::string& /* ignored interactive message */, const std::string& message, const std::string& caption, unsigned int style);
/** Non-GUI handler, which only logs a message. */
void noui_InitMessage(const std::string& message);

/** Connect all bitcoind signal handlers */
void noui_connect();

#endif // BITCOIN_NOUI_H
6 changes: 5 additions & 1 deletion src/qt/bitcoingui.cpp
Expand Up @@ -31,6 +31,7 @@
#include <chainparams.h>
#include <interfaces/handler.h>
#include <interfaces/node.h>
#include <noui.h>
#include <ui_interface.h>
#include <util/system.h>
#include <qt/masternodelist.h>
Expand Down Expand Up @@ -1790,8 +1791,11 @@ void BitcoinGUI::showModalOverlay()
modalOverlay->toggleVisibility();
}

static bool ThreadSafeMessageBox(BitcoinGUI *gui, const std::string& message, const std::string& caption, unsigned int style)
static bool ThreadSafeMessageBox(BitcoinGUI* gui, const std::string& message, const std::string& caption, unsigned int style)
{
// Redundantly log and print message in non-gui fashion
noui_ThreadSafeMessageBox(message, caption, style);

bool modal = (style & CClientUIInterface::MODAL);
// The SECURE flag has no effect in the Qt GUI.
// bool secure = (style & CClientUIInterface::SECURE);
Expand Down
5 changes: 3 additions & 2 deletions src/qt/dash.cpp
Expand Up @@ -29,6 +29,7 @@

#include <interfaces/handler.h>
#include <interfaces/node.h>
#include <noui.h>
#include <rpc/server.h>
#include <stacktraces.h>
#include <ui_interface.h>
Expand Down Expand Up @@ -70,9 +71,9 @@ Q_DECLARE_METATYPE(bool*)
Q_DECLARE_METATYPE(CAmount)
Q_DECLARE_METATYPE(uint256)

static void InitMessage(const std::string &message)
static void InitMessage(const std::string& message)
{
LogPrintf("init message: %s\n", message);
noui_InitMessage(message);
}

/** Translate string to current locale using Qt. */
Expand Down

0 comments on commit 6463ab1

Please sign in to comment.