mirror of
https://github.com/dashpay/dash.git
synced 2024-12-25 20:12:57 +01:00
Merge #6454: [v22.0.x] backport: 22.0.0 rc.4 backports
fa29ed5b5e
Merge #6456: fix(qt): allow refreshing wallet data without crashing (pasta)758cd646a1
Merge #6452: fix: store ready queues on the mixing masternode (pasta)395447bf30
Merge #6451: depends: update 'src/dashbls' to dashpay/bls-signatures@7e747e8a as62fa6652
(pasta) Pull request description: ## Issue being fixed or feature implemented batch of backports to go into rc.4 ## What was done? Bls library updated to compile on freebsd, fix for mixing ## How Has This Been Tested? ## Breaking Changes ## Checklist: _Go over all the following points, and put an `x` in all the boxes that apply._ - [ ] I have performed a self-review of my own code - [ ] I have commented my code, particularly in hard-to-understand areas - [ ] I have added or updated relevant unit/integration/functional/e2e tests - [ ] I have made corresponding changes to the documentation - [x] I have assigned this pull request to a milestone _(for repository code-owners and collaborators only)_ ACKs for top commit: UdjinM6: utACKfa29ed5b5e
Tree-SHA512: 6a050bca13ca2e5324a6a8a7966d2d6aa3c0c97ee3c884aa35102f949dfef62e976d053cd05a549908c30e8bb6a81d996a82181852841809d8959ca78c96e823
This commit is contained in:
commit
9d3f22a4b2
@ -520,6 +520,7 @@ void CCoinJoinServer::CheckForCompleteQueue()
|
|||||||
"with %d participants\n", dsq.ToString(), vecSessionCollaterals.size());
|
"with %d participants\n", dsq.ToString(), vecSessionCollaterals.size());
|
||||||
dsq.Sign(*m_mn_activeman);
|
dsq.Sign(*m_mn_activeman);
|
||||||
m_peerman->RelayDSQ(dsq);
|
m_peerman->RelayDSQ(dsq);
|
||||||
|
WITH_LOCK(cs_vecqueue, vecCoinJoinQueue.push_back(dsq));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -23,8 +23,8 @@ jobs:
|
|||||||
fail-fast: false
|
fail-fast: false
|
||||||
matrix:
|
matrix:
|
||||||
os: [macos-latest, ubuntu-latest]
|
os: [macos-latest, ubuntu-latest]
|
||||||
golang: [ '1.17' ]
|
golang: [ '1.22' ]
|
||||||
python: ['3.7', '3.8', '3.9', '3.10', '3.11']
|
python: ['3.9', '3.10', '3.11', '3.12']
|
||||||
|
|
||||||
steps:
|
steps:
|
||||||
- name: Checkout code
|
- name: Checkout code
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
AC_PREREQ([2.60])
|
AC_PREREQ([2.60])
|
||||||
AC_INIT([libdashbls],[1.3.3])
|
AC_INIT([libdashbls],[1.3.4])
|
||||||
AC_CONFIG_AUX_DIR([build-aux])
|
AC_CONFIG_AUX_DIR([build-aux])
|
||||||
AC_CONFIG_MACRO_DIR([build-aux/m4])
|
AC_CONFIG_MACRO_DIR([build-aux/m4])
|
||||||
|
|
||||||
@ -100,7 +100,7 @@ dnl warning about something unrelated, for example about some path issue. If tha
|
|||||||
dnl -Werror cannot be used because all of those warnings would be turned into errors.
|
dnl -Werror cannot be used because all of those warnings would be turned into errors.
|
||||||
AX_CHECK_COMPILE_FLAG([-Werror], [FLAG_WERROR="-Werror"], [FLAG_WERROR=""])
|
AX_CHECK_COMPILE_FLAG([-Werror], [FLAG_WERROR="-Werror"], [FLAG_WERROR=""])
|
||||||
|
|
||||||
if [[[ "$use_debug" == "yes" || "$use_optimizations" == "no" ]]]; then
|
if test x"$use_debug" = x"yes" -o x"$use_optimizations" = x"no"; then
|
||||||
dnl Clear default -g -O2 flags
|
dnl Clear default -g -O2 flags
|
||||||
if test x"$CFLAGS_overridden" = x"no"; then
|
if test x"$CFLAGS_overridden" = x"no"; then
|
||||||
CFLAGS=""
|
CFLAGS=""
|
||||||
@ -112,7 +112,7 @@ if [[[ "$use_debug" == "yes" || "$use_optimizations" == "no" ]]]; then
|
|||||||
dnl Disable optimizations
|
dnl Disable optimizations
|
||||||
AX_CHECK_COMPILE_FLAG([-O0], [[DEBUG_FLAGS="$DEBUG_FLAGS -O0"]], [], [[$FLAG_WERROR]])
|
AX_CHECK_COMPILE_FLAG([-O0], [[DEBUG_FLAGS="$DEBUG_FLAGS -O0"]], [], [[$FLAG_WERROR]])
|
||||||
|
|
||||||
if [[[ "$use_debug" == "yes" ]]]; then
|
if test x"$use_debug" = x"yes"; then
|
||||||
dnl Prefer -g3, fall back to -g if that is unavailable.
|
dnl Prefer -g3, fall back to -g if that is unavailable.
|
||||||
AX_CHECK_COMPILE_FLAG(
|
AX_CHECK_COMPILE_FLAG(
|
||||||
[-g3],
|
[-g3],
|
||||||
@ -220,7 +220,11 @@ case $host in
|
|||||||
GMP_LDFLAGS="-L$gmp_prefix/lib"
|
GMP_LDFLAGS="-L$gmp_prefix/lib"
|
||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
;;
|
;;
|
||||||
|
*freebsd*)
|
||||||
|
GMP_CPPFLAGS="-I/usr/local/include"
|
||||||
|
GMP_LDFLAGS="-L/usr/local/lib"
|
||||||
|
;;
|
||||||
esac
|
esac
|
||||||
|
|
||||||
if test x"$want_backend" = x"auto"; then
|
if test x"$want_backend" = x"auto"; then
|
||||||
@ -432,44 +436,74 @@ fi
|
|||||||
|
|
||||||
use_pkgconfig=yes
|
use_pkgconfig=yes
|
||||||
|
|
||||||
if [[[ "$host_cpu" == x86_64 && "$use_optimizations" == "yes" ]]]; then
|
if test x"$use_optimizations" = x"yes"; then
|
||||||
dnl Support for AMD64 (also known as x86_64 on some platforms) processors
|
case $host_cpu in
|
||||||
CPU_ARCH="x64"
|
amd64 | x86_64)
|
||||||
AC_DEFINE([ARCH], [X64], [Architecture.])
|
dnl Support for AMD64 (also known as x86_64 on some platforms) processors
|
||||||
AC_DEFINE([WSIZE], [64], [Size of word in this architecture.])
|
CPU_ARCH="x64"
|
||||||
elif [[[ "$host_cpu" == aarch* && "$use_optimizations" == "yes" ]]]; then
|
AC_DEFINE([ARCH], [X64], [Architecture.])
|
||||||
dnl Support for 64-bit ARM processors
|
AC_DEFINE([WSIZE], [64], [Size of word in this architecture.])
|
||||||
dnl Relic doesn't support aarch64 yet, set CPU_ARCH to none and ARCH to RELIC_NONE.
|
;;
|
||||||
CPU_ARCH="none"
|
aarch*)
|
||||||
AC_DEFINE([ARCH], [RELIC_NONE], [Architecture.])
|
dnl Support for 64-bit ARM processors
|
||||||
AC_DEFINE([WSIZE], [64], [Size of word in this architecture.])
|
dnl Relic does not support aarch64 yet, set CPU_ARCH to none and ARCH to RELIC_NONE.
|
||||||
elif [[[ "$host_cpu" == i?86 && "$use_optimizations" == "yes" ]]]; then
|
CPU_ARCH="none"
|
||||||
dnl Support for Intel x86 processors
|
AC_DEFINE([ARCH], [RELIC_NONE], [Architecture.])
|
||||||
CPU_ARCH="x86"
|
AC_DEFINE([WSIZE], [64], [Size of word in this architecture.])
|
||||||
AC_DEFINE([ARCH], [X86], [Architecture.])
|
;;
|
||||||
AC_DEFINE([WSIZE], [32], [Size of word in this architecture.])
|
i?86)
|
||||||
elif [[[ "$host_cpu" == arm* && "$use_optimizations" == "yes" ]]]; then
|
dnl Support for Intel x86 processors
|
||||||
dnl Support for 32-bit native ARM processors
|
CPU_ARCH="x86"
|
||||||
CPU_ARCH="arm"
|
AC_DEFINE([ARCH], [X86], [Architecture.])
|
||||||
AC_DEFINE([ARCH], [ARM], [Architecture.])
|
AC_DEFINE([WSIZE], [32], [Size of word in this architecture.])
|
||||||
AC_DEFINE([WSIZE], [32], [Size of word in this architecture.])
|
;;
|
||||||
elif [[[ "$host_cpu" == *64* ]]]; then
|
arm*)
|
||||||
dnl Support for an undefined 64-bit architecture
|
dnl Support for 32-bit native ARM processors
|
||||||
CPU_ARCH="none"
|
CPU_ARCH="arm"
|
||||||
AC_DEFINE([ARCH], [RELIC_NONE], [Architecture.])
|
AC_DEFINE([ARCH], [ARM], [Architecture.])
|
||||||
AC_DEFINE([WSIZE], [64], [Size of word in this architecture.])
|
AC_DEFINE([WSIZE], [32], [Size of word in this architecture.])
|
||||||
elif [[[ "$host_cpu" == *32* || "$host_cpu" == arm* || "$host_cpu" == i?86 ]]]; then
|
;;
|
||||||
dnl Support for an undefined 32-bit architecture
|
*64*)
|
||||||
CPU_ARCH="none"
|
dnl Support for an undefined 64-bit architecture
|
||||||
AC_DEFINE([ARCH], [RELIC_NONE], [Architecture.])
|
CPU_ARCH="none"
|
||||||
AC_DEFINE([WSIZE], [32], [Size of word in this architecture.])
|
AC_DEFINE([ARCH], [RELIC_NONE], [Architecture.])
|
||||||
|
AC_DEFINE([WSIZE], [64], [Size of word in this architecture.])
|
||||||
|
;;
|
||||||
|
*32*)
|
||||||
|
dnl Support for an undefined 32-bit architecture
|
||||||
|
CPU_ARCH="none"
|
||||||
|
AC_DEFINE([ARCH], [RELIC_NONE], [Architecture.])
|
||||||
|
AC_DEFINE([WSIZE], [32], [Size of word in this architecture.])
|
||||||
|
;;
|
||||||
|
*)
|
||||||
|
AC_MSG_ERROR([Unable to determine host architecture, may not be supported!])
|
||||||
|
;;
|
||||||
|
esac
|
||||||
else
|
else
|
||||||
AC_MSG_ERROR([Unable to determine host architecture, may not be supported!])
|
case $host_cpu in
|
||||||
|
*64*)
|
||||||
|
dnl Support for an undefined 64-bit architecture
|
||||||
|
CPU_ARCH="none"
|
||||||
|
AC_DEFINE([ARCH], [RELIC_NONE], [Architecture.])
|
||||||
|
AC_DEFINE([WSIZE], [64], [Size of word in this architecture.])
|
||||||
|
;;
|
||||||
|
*32* | arm* | i?86)
|
||||||
|
dnl Support for an undefined 32-bit architecture
|
||||||
|
CPU_ARCH="none"
|
||||||
|
AC_DEFINE([ARCH], [RELIC_NONE], [Architecture.])
|
||||||
|
AC_DEFINE([WSIZE], [32], [Size of word in this architecture.])
|
||||||
|
;;
|
||||||
|
*)
|
||||||
|
AC_MSG_ERROR([Unable to determine host architecture, may not be supported!])
|
||||||
|
;;
|
||||||
|
esac
|
||||||
fi
|
fi
|
||||||
|
|
||||||
case $host in
|
case $host in
|
||||||
*darwin*)
|
*darwin*)
|
||||||
AC_DEFINE([OPSYS], [MACOSX], [Detected operation system.])
|
AC_DEFINE([OPSYS], [MACOSX], [Detected operation system.])
|
||||||
|
TARGET_OS=darwin
|
||||||
|
|
||||||
AC_PATH_PROG([BREW],brew,)
|
AC_PATH_PROG([BREW],brew,)
|
||||||
if test x$BREW = x; then
|
if test x$BREW = x; then
|
||||||
AC_PATH_PROG([PORT],port,)
|
AC_PATH_PROG([PORT],port,)
|
||||||
@ -482,8 +516,10 @@ case $host in
|
|||||||
fi
|
fi
|
||||||
;;
|
;;
|
||||||
*mingw*)
|
*mingw*)
|
||||||
use_pkgconfig=no
|
|
||||||
AC_DEFINE([OPSYS], [WINDOWS], [Detected operation system.])
|
AC_DEFINE([OPSYS], [WINDOWS], [Detected operation system.])
|
||||||
|
TARGET_OS=windows
|
||||||
|
|
||||||
|
use_pkgconfig=no
|
||||||
LIBTOOL_APP_LDFLAGS="$LIBTOOL_APP_LDFLAGS -all-static"
|
LIBTOOL_APP_LDFLAGS="$LIBTOOL_APP_LDFLAGS -all-static"
|
||||||
|
|
||||||
dnl libtool insists upon adding -nostdlib and a list of objects/libs to link against.
|
dnl libtool insists upon adding -nostdlib and a list of objects/libs to link against.
|
||||||
@ -496,16 +532,21 @@ case $host in
|
|||||||
;;
|
;;
|
||||||
*linux*)
|
*linux*)
|
||||||
AC_DEFINE([OPSYS], [LINUX], [Detected operation system.])
|
AC_DEFINE([OPSYS], [LINUX], [Detected operation system.])
|
||||||
|
TARGET_OS=linux
|
||||||
|
|
||||||
RELIC_CPPFLAGS="-D_GNU_SOURCE"
|
RELIC_CPPFLAGS="-D_GNU_SOURCE"
|
||||||
;;
|
;;
|
||||||
*android*)
|
*android*)
|
||||||
AC_DEFINE([OPSYS], [DROID], [Detected operation system.])
|
AC_DEFINE([OPSYS], [DROID], [Detected operation system.])
|
||||||
|
TARGET_OS=android
|
||||||
;;
|
;;
|
||||||
*freebsd*)
|
*freebsd*)
|
||||||
AC_DEFINE([OPSYS], [FREEBSD], [Detected operation system.])
|
AC_DEFINE([OPSYS], [FREEBSD], [Detected operation system.])
|
||||||
|
TARGET_OS=freebsd
|
||||||
;;
|
;;
|
||||||
*netbsd*)
|
*netbsd*)
|
||||||
AC_DEFINE([OPSYS], [NETBSD], [Detected operation system.])
|
AC_DEFINE([OPSYS], [NETBSD], [Detected operation system.])
|
||||||
|
TARGET_OS=netbsd
|
||||||
;;
|
;;
|
||||||
*)
|
*)
|
||||||
AC_DEFINE([OPSYS], [RELIC_NONE], [Detected operation system.])
|
AC_DEFINE([OPSYS], [RELIC_NONE], [Detected operation system.])
|
||||||
@ -555,7 +596,7 @@ AC_COMPILE_IFELSE([AC_LANG_SOURCE([[char foo;]])],
|
|||||||
CFLAGS="$saved_CFLAGS"
|
CFLAGS="$saved_CFLAGS"
|
||||||
])
|
])
|
||||||
|
|
||||||
if [[[ "$CFLAGS_overridden" == "no" && "$CXXFLAGS_overridden" == "no" ]]]; then
|
if test x"$CFLAGS_overridden" = x"no" -a x"$CXXFLAGS_overridden" = x"no"; then
|
||||||
dnl Enable warnings
|
dnl Enable warnings
|
||||||
AX_CHECK_COMPILE_FLAG([-Wall],[WARN_FLAGS="$WARN_FLAGS -Wall"], [], [[$FLAG_WERROR]])
|
AX_CHECK_COMPILE_FLAG([-Wall],[WARN_FLAGS="$WARN_FLAGS -Wall"], [], [[$FLAG_WERROR]])
|
||||||
AX_CHECK_COMPILE_FLAG([-Wcast-align],[WARN_FLAGS="$WARN_FLAGS -Wcast-align"], [], [[$FLAG_WERROR]])
|
AX_CHECK_COMPILE_FLAG([-Wcast-align],[WARN_FLAGS="$WARN_FLAGS -Wcast-align"], [], [[$FLAG_WERROR]])
|
||||||
@ -743,7 +784,6 @@ CORE_CPPFLAGS="$CORE_CPPFLAGS -DHAVE_BUILD_INFO"
|
|||||||
|
|
||||||
case $host in
|
case $host in
|
||||||
*mingw*)
|
*mingw*)
|
||||||
TARGET_OS=windows
|
|
||||||
AC_CHECK_LIB([user32], [main], [], [AC_MSG_ERROR([libuser32 missing])])
|
AC_CHECK_LIB([user32], [main], [], [AC_MSG_ERROR([libuser32 missing])])
|
||||||
AC_CHECK_LIB([shell32], [SHGetSpecialFolderPathW], [], [AC_MSG_ERROR([libshell32 missing])])
|
AC_CHECK_LIB([shell32], [SHGetSpecialFolderPathW], [], [AC_MSG_ERROR([libshell32 missing])])
|
||||||
AC_CHECK_LIB([advapi32], [CryptAcquireContextW], [], [AC_MSG_ERROR([libadvapi32 missing])])
|
AC_CHECK_LIB([advapi32], [CryptAcquireContextW], [], [AC_MSG_ERROR([libadvapi32 missing])])
|
||||||
@ -771,15 +811,10 @@ case $host in
|
|||||||
AX_CHECK_LINK_FLAG([-Wl,--major-subsystem-version -Wl,6 -Wl,--minor-subsystem-version -Wl,1], [CORE_LDFLAGS="$CORE_LDFLAGS -Wl,--major-subsystem-version -Wl,6 -Wl,--minor-subsystem-version -Wl,1"], [], [])
|
AX_CHECK_LINK_FLAG([-Wl,--major-subsystem-version -Wl,6 -Wl,--minor-subsystem-version -Wl,1], [CORE_LDFLAGS="$CORE_LDFLAGS -Wl,--major-subsystem-version -Wl,6 -Wl,--minor-subsystem-version -Wl,1"], [], [])
|
||||||
;;
|
;;
|
||||||
*darwin*)
|
*darwin*)
|
||||||
TARGET_OS=darwin
|
|
||||||
|
|
||||||
AX_CHECK_LINK_FLAG([-Wl,-headerpad_max_install_names], [CORE_LDFLAGS="$CORE_LDFLAGS -Wl,-headerpad_max_install_names"], [], [])
|
AX_CHECK_LINK_FLAG([-Wl,-headerpad_max_install_names], [CORE_LDFLAGS="$CORE_LDFLAGS -Wl,-headerpad_max_install_names"], [], [])
|
||||||
CORE_CPPFLAGS="$CORE_CPPFLAGS -DMAC_OSX -DOBJC_OLD_DISPATCH_PROTOTYPES=0"
|
CORE_CPPFLAGS="$CORE_CPPFLAGS -DMAC_OSX -DOBJC_OLD_DISPATCH_PROTOTYPES=0"
|
||||||
OBJCXXFLAGS="$CXXFLAGS"
|
OBJCXXFLAGS="$CXXFLAGS"
|
||||||
;;
|
;;
|
||||||
*linux*)
|
|
||||||
TARGET_OS=linux
|
|
||||||
;;
|
|
||||||
esac
|
esac
|
||||||
|
|
||||||
dnl These flags are specific to ld64, and may cause issues with other linkers.
|
dnl These flags are specific to ld64, and may cause issues with other linkers.
|
||||||
@ -799,19 +834,15 @@ AC_LANG_POP([C])
|
|||||||
AC_MSG_CHECKING([whether to build runtest])
|
AC_MSG_CHECKING([whether to build runtest])
|
||||||
if test x$use_tests = xyes; then
|
if test x$use_tests = xyes; then
|
||||||
AC_MSG_RESULT([yes])
|
AC_MSG_RESULT([yes])
|
||||||
BUILD_TEST="yes"
|
|
||||||
else
|
else
|
||||||
AC_MSG_RESULT([no])
|
AC_MSG_RESULT([no])
|
||||||
BUILD_TEST=""
|
|
||||||
fi
|
fi
|
||||||
|
|
||||||
AC_MSG_CHECKING([whether to build runbench])
|
AC_MSG_CHECKING([whether to build runbench])
|
||||||
if test x$use_bench = xyes; then
|
if test x$use_bench = xyes; then
|
||||||
AC_MSG_RESULT([yes])
|
AC_MSG_RESULT([yes])
|
||||||
BUILD_BENCH="yes"
|
|
||||||
else
|
else
|
||||||
AC_MSG_RESULT([no])
|
AC_MSG_RESULT([no])
|
||||||
BUILD_BENCH=""
|
|
||||||
fi
|
fi
|
||||||
|
|
||||||
AM_CONDITIONAL([TARGET_DARWIN], [test "$TARGET_OS" = "darwin"])
|
AM_CONDITIONAL([TARGET_DARWIN], [test "$TARGET_OS" = "darwin"])
|
||||||
@ -836,8 +867,8 @@ AM_CONDITIONAL(WITH_MPC, test 1 -eq 1)
|
|||||||
AM_CONDITIONAL(WITH_DV, test 1 -eq 1)
|
AM_CONDITIONAL(WITH_DV, test 1 -eq 1)
|
||||||
AM_CONDITIONAL(WITH_FBX, test 1 -eq 1)
|
AM_CONDITIONAL(WITH_FBX, test 1 -eq 1)
|
||||||
|
|
||||||
AM_CONDITIONAL([USE_TESTS], [test x$BUILD_TEST = xyes])
|
AM_CONDITIONAL([USE_TESTS], [test x"$use_tests" = x"yes"])
|
||||||
AM_CONDITIONAL([USE_BENCH], [test x$BUILD_BENCH = xyes])
|
AM_CONDITIONAL([USE_BENCH], [test x"$use_bench" = x"yes"])
|
||||||
AM_CONDITIONAL([HARDEN], [test "$use_hardening" = "yes"])
|
AM_CONDITIONAL([HARDEN], [test "$use_hardening" = "yes"])
|
||||||
AM_CONDITIONAL([OPTIMIZE], [test "$use_optimizations" = "yes"])
|
AM_CONDITIONAL([OPTIMIZE], [test "$use_optimizations" = "yes"])
|
||||||
|
|
||||||
@ -874,8 +905,8 @@ echo
|
|||||||
echo "Options used to compile and link:"
|
echo "Options used to compile and link:"
|
||||||
echo " target os = $TARGET_OS"
|
echo " target os = $TARGET_OS"
|
||||||
echo " backend = $want_backend"
|
echo " backend = $want_backend"
|
||||||
echo " build bench = $BUILD_BENCH"
|
echo " build bench = $use_tests"
|
||||||
echo " build test = $BUILD_TEST"
|
echo " build test = $use_bench"
|
||||||
echo " use debug = $use_debug"
|
echo " use debug = $use_debug"
|
||||||
echo " use hardening = $use_hardening"
|
echo " use hardening = $use_hardening"
|
||||||
echo " use optimizations = $use_optimizations"
|
echo " use optimizations = $use_optimizations"
|
||||||
|
@ -106,10 +106,11 @@ public:
|
|||||||
|
|
||||||
/* Query entire wallet anew from core.
|
/* Query entire wallet anew from core.
|
||||||
*/
|
*/
|
||||||
void refreshWallet(interfaces::Wallet& wallet)
|
void refreshWallet(interfaces::Wallet& wallet, bool force = false)
|
||||||
{
|
{
|
||||||
parent->beginResetModel();
|
parent->beginResetModel();
|
||||||
assert(!m_loaded);
|
assert(!m_loaded || force);
|
||||||
|
cachedWallet.clear();
|
||||||
try {
|
try {
|
||||||
for (const auto& wtx : wallet.getWalletTxs()) {
|
for (const auto& wtx : wallet.getWalletTxs()) {
|
||||||
if (TransactionRecord::showTransaction()) {
|
if (TransactionRecord::showTransaction()) {
|
||||||
@ -284,9 +285,9 @@ TransactionTableModel::~TransactionTableModel()
|
|||||||
delete priv;
|
delete priv;
|
||||||
}
|
}
|
||||||
|
|
||||||
void TransactionTableModel::refreshWallet()
|
void TransactionTableModel::refreshWallet(bool force)
|
||||||
{
|
{
|
||||||
priv->refreshWallet(walletModel->wallet());
|
priv->refreshWallet(walletModel->wallet(), force);
|
||||||
}
|
}
|
||||||
|
|
||||||
/** Updates the column title to "Amount (DisplayUnit)" and emits headerDataChanged() signal for table headers to react. */
|
/** Updates the column title to "Amount (DisplayUnit)" and emits headerDataChanged() signal for table headers to react. */
|
||||||
@ -846,12 +847,13 @@ void TransactionTablePriv::DispatchNotifications()
|
|||||||
|
|
||||||
vQueueNotifications[i].invoke(parent);
|
vQueueNotifications[i].invoke(parent);
|
||||||
}
|
}
|
||||||
|
vQueueNotifications.clear();
|
||||||
} else {
|
} else {
|
||||||
// it's much faster to just refresh the whole thing instead
|
// it's much faster to just drop all the queued notifications and refresh the whole thing instead
|
||||||
bool invoked = QMetaObject::invokeMethod(parent, "refreshWallet", Qt::QueuedConnection);
|
vQueueNotifications.clear();
|
||||||
|
bool invoked = QMetaObject::invokeMethod(parent, "refreshWallet", Qt::QueuedConnection, Q_ARG(bool, true));
|
||||||
assert(invoked);
|
assert(invoked);
|
||||||
}
|
}
|
||||||
vQueueNotifications.clear();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void TransactionTableModel::subscribeToCoreSignals()
|
void TransactionTableModel::subscribeToCoreSignals()
|
||||||
|
@ -114,7 +114,7 @@ private:
|
|||||||
|
|
||||||
public Q_SLOTS:
|
public Q_SLOTS:
|
||||||
/* Refresh the whole wallet, helpful for huge notification queues */
|
/* Refresh the whole wallet, helpful for huge notification queues */
|
||||||
void refreshWallet();
|
void refreshWallet(bool foce = false);
|
||||||
/* New transaction, or transaction changed status */
|
/* New transaction, or transaction changed status */
|
||||||
void updateTransaction(const QString &hash, int status, bool showTransaction);
|
void updateTransaction(const QString &hash, int status, bool showTransaction);
|
||||||
void updateAddressBook(const QString &address, const QString &label,
|
void updateAddressBook(const QString &address, const QString &label,
|
||||||
|
Loading…
Reference in New Issue
Block a user