HomePhabricator

gui: Make polling in ClientModel asynchronous

Description

gui: Make polling in ClientModel asynchronous

Summary:

After #14193 ClientModel::updateTimer can take some time, as such the GUI hangs, like #17112.

Fixes this by polling in a background thread and updating the GUI asynchronously.

This is a backport of Core PR17135 and Core PR17427

The second PR fixes a bug introduced by the first (ClientModel::mempoolSizeChanged() signal has unregistered parameter type size_t)

Test Plan: ninja && ninja check && src/qt/bitcoin-qt

Reviewers: O1 Bitcoin ABC, #bitcoin_abc, Fabien

Reviewed By: O1 Bitcoin ABC, #bitcoin_abc, Fabien

Subscribers: Fabien

Differential Revision: https://reviews.bitcoinabc.org/D8193

Details

Provenance
João Barbosa <joao.paulo.barbosa@gmail.com>Authored on Oct 31 2020, 16:41
PiRKCommitted on Oct 31 2020, 16:41
abc-botPushed on Oct 31 2020, 16:47
Reviewer
Restricted Owners Package
Differential Revision
D8193: gui: Make polling in ClientModel asynchronous
Parents
rABC9acf260b37c1: [SECP256K1] Return NULL early in context_preallocated_create if flags invalid
Branches
Unknown
Tags
Unknown