Browse Source

[Qt, OSX] QProgressBar CPU-Issue workaround

fixes #5295
tags/v0.15.1
Jonas Schnelli 5 years ago
parent
commit
6093aa1bb0
1 changed files with 18 additions and 0 deletions
  1. 18
    0
      src/qt/bitcoingui.cpp

+ 18
- 0
src/qt/bitcoingui.cpp View File

@@ -58,6 +58,20 @@
#include <QUrlQuery>
#endif

#ifdef Q_OS_MAC
#include <QEvent>

// workaround for Qt OSX Bug:
// https://bugreports.qt-project.org/browse/QTBUG-15631
// QProgressBar uses around 10% CPU even when app is in background
class QProgressBarMac : public QProgressBar
{
bool event(QEvent *e) {
return (e->type() != QEvent::StyleAnimationUpdate) ? QProgressBar::event(e) : false;
}
};
#endif

const QString BitcoinGUI::DEFAULT_WALLET = "~Default";

BitcoinGUI::BitcoinGUI(const NetworkStyle *networkStyle, QWidget *parent) :
@@ -190,7 +204,11 @@ BitcoinGUI::BitcoinGUI(const NetworkStyle *networkStyle, QWidget *parent) :
// Progress bar and label for blocks download
progressBarLabel = new QLabel();
progressBarLabel->setVisible(false);
#ifdef Q_OS_MAC
progressBar = new QProgressBarMac();
#else
progressBar = new QProgressBar();
#endif
progressBar->setAlignment(Qt::AlignCenter);
progressBar->setVisible(false);


Loading…
Cancel
Save