Browse Source

Merge pull request #3427

1ad2636 qt: Prevent non-functional GUI from popping up during Init (Wladimir J. van der Laan)
metaverse
Wladimir J. van der Laan 11 years ago
parent
commit
362755d018
No known key found for this signature in database GPG Key ID: 74810B012346C9A6
  1. 4
      src/init.cpp
  2. 7
      src/qt/bitcoingui.cpp
  3. 2
      src/ui_interface.h

4
src/init.cpp

@ -164,13 +164,13 @@ void HandleSIGHUP(int)
bool static InitError(const std::string &str)
{
uiInterface.ThreadSafeMessageBox(str, "", CClientUIInterface::MSG_ERROR);
uiInterface.ThreadSafeMessageBox(str, "", CClientUIInterface::MSG_ERROR | CClientUIInterface::NOSHOWGUI);
return false;
}
bool static InitWarning(const std::string &str)
{
uiInterface.ThreadSafeMessageBox(str, "", CClientUIInterface::MSG_WARNING);
uiInterface.ThreadSafeMessageBox(str, "", CClientUIInterface::MSG_WARNING | CClientUIInterface::NOSHOWGUI);
return true;
}

7
src/qt/bitcoingui.cpp

@ -684,8 +684,11 @@ void BitcoinGUI::message(const QString &title, const QString &message, unsigned
if (!(buttons = (QMessageBox::StandardButton)(style & CClientUIInterface::BTN_MASK)))
buttons = QMessageBox::Ok;
// Ensure we get users attention
showNormalIfMinimized();
// Ensure we get users attention, but only if main window is visible
// as we don't want to pop up the main window for messages that happen before
// initialization is finished.
if(!(style & CClientUIInterface::NOSHOWGUI))
showNormalIfMinimized();
QMessageBox mBox((QMessageBox::Icon)nMBoxIcon, strTitle, message, buttons, this);
int r = mBox.exec();
if (ret != NULL)

2
src/ui_interface.h

@ -62,6 +62,8 @@ public:
/** Force blocking, modal message box dialog (not just OS notification) */
MODAL = 0x10000000U,
/** Don't bring GUI to foreground. Use for messages during initialization */
NOSHOWGUI = 0x20000000U,
/** Predefined combinations for certain default usage cases */
MSG_INFORMATION = ICON_INFORMATION,

Loading…
Cancel
Save