Fix crash that could occur if closing the usercard quickly after blocking (#4711)
* Specifically, this adds a caller to the network request, which makes the success or failure callback not fire. This has the unintended consequence of the block list not reloading if the usercard is closed, but it's not a big concern. * Add unrelated `-DUSE_ALTERNATE_LINKER` cmake option From https://github.com/heavyai/heavydb/blob/0517d99b467806f6af7b4c969e351368a667497d/CMakeLists.txt#L87-L103
This commit is contained in:
@@ -541,7 +541,7 @@ void Helix::loadBlocks(QString userId,
|
||||
.execute();
|
||||
}
|
||||
|
||||
void Helix::blockUser(QString targetUserId,
|
||||
void Helix::blockUser(QString targetUserId, const QObject *caller,
|
||||
std::function<void()> successCallback,
|
||||
HelixFailureCallback failureCallback)
|
||||
{
|
||||
@@ -549,6 +549,7 @@ void Helix::blockUser(QString targetUserId,
|
||||
urlQuery.addQueryItem("target_user_id", targetUserId);
|
||||
|
||||
this->makePut("users/blocks", urlQuery)
|
||||
.caller(caller)
|
||||
.onSuccess([successCallback](auto /*result*/) -> Outcome {
|
||||
successCallback();
|
||||
return Success;
|
||||
@@ -560,7 +561,7 @@ void Helix::blockUser(QString targetUserId,
|
||||
.execute();
|
||||
}
|
||||
|
||||
void Helix::unblockUser(QString targetUserId,
|
||||
void Helix::unblockUser(QString targetUserId, const QObject *caller,
|
||||
std::function<void()> successCallback,
|
||||
HelixFailureCallback failureCallback)
|
||||
{
|
||||
@@ -568,6 +569,7 @@ void Helix::unblockUser(QString targetUserId,
|
||||
urlQuery.addQueryItem("target_user_id", targetUserId);
|
||||
|
||||
this->makeDelete("users/blocks", urlQuery)
|
||||
.caller(caller)
|
||||
.onSuccess([successCallback](auto /*result*/) -> Outcome {
|
||||
successCallback();
|
||||
return Success;
|
||||
|
||||
Reference in New Issue
Block a user