mirror of
https://foundry.openuru.org/gitblit/r/CWE-ou-minkata.git
synced 2025-07-14 02:27:40 -04:00
Limit the scope of callback suppression.
Per testing on Minkata, suppressing callbacks during all vault downloads has a deleterious effect on imagers. While my high level assumption is correct, vault downloads can encompass situations where we want notifications (eg re-downloading imager inbox folders, new age info vault fragments). Whoops!
This commit is contained in:
@ -385,7 +385,7 @@ bool plNCAgeJoiner::MsgReceive (plMessage * msg) {
|
|||||||
}
|
}
|
||||||
else if (unsigned ageVaultId = NetCommGetAge()->ageVaultId) {
|
else if (unsigned ageVaultId = NetCommGetAge()->ageVaultId) {
|
||||||
// Download the age vault
|
// Download the age vault
|
||||||
VaultDownload(
|
VaultDownloadNoCallbacks(
|
||||||
L"AgeJoin",
|
L"AgeJoin",
|
||||||
ageVaultId,
|
ageVaultId,
|
||||||
AgeVaultDownloadCallback,
|
AgeVaultDownloadCallback,
|
||||||
|
@ -318,7 +318,7 @@ static void INetCliAuthSetPlayerRequestCallback (
|
|||||||
else {
|
else {
|
||||||
s_needAvatarLoad = true;
|
s_needAvatarLoad = true;
|
||||||
|
|
||||||
VaultDownload(
|
VaultDownloadNoCallbacks(
|
||||||
L"SetActivePlayer",
|
L"SetActivePlayer",
|
||||||
s_player->playerInt,
|
s_player->playerInt,
|
||||||
PlayerInitCallback,
|
PlayerInitCallback,
|
||||||
@ -374,7 +374,7 @@ static void INetCliAuthLoginSetPlayerRequestCallback (
|
|||||||
msg->Send();
|
msg->Send();
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
VaultDownload(
|
VaultDownloadNoCallbacks(
|
||||||
L"SetActivePlayer",
|
L"SetActivePlayer",
|
||||||
s_player->playerInt,
|
s_player->playerInt,
|
||||||
LoginPlayerInitCallback,
|
LoginPlayerInitCallback,
|
||||||
|
@ -185,7 +185,6 @@ struct VaultDownloadTrans {
|
|||||||
: callback(), cbParam(), progressCallback(), cbProgressParam(),
|
: callback(), cbParam(), progressCallback(), cbProgressParam(),
|
||||||
nodeCount(), nodesLeft(), vaultId(), result(kNetSuccess)
|
nodeCount(), nodesLeft(), vaultId(), result(kNetSuccess)
|
||||||
{
|
{
|
||||||
VaultSuppressCallbacks();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
VaultDownloadTrans(const wchar_t* _tag, FVaultDownloadCallback _callback,
|
VaultDownloadTrans(const wchar_t* _tag, FVaultDownloadCallback _callback,
|
||||||
@ -195,15 +194,11 @@ struct VaultDownloadTrans {
|
|||||||
cbProgressParam(_cbProgressParam), nodeCount(), nodesLeft(),
|
cbProgressParam(_cbProgressParam), nodeCount(), nodesLeft(),
|
||||||
vaultId(_vaultId), result(kNetSuccess)
|
vaultId(_vaultId), result(kNetSuccess)
|
||||||
{
|
{
|
||||||
StrCopy(tag, _tag, MAX_PATH);
|
StrCopy(tag, _tag, arrsize(tag));
|
||||||
VaultSuppressCallbacks();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
~VaultDownloadTrans()
|
virtual ~VaultDownloadTrans() { }
|
||||||
{
|
|
||||||
VaultEnableCallbacks();
|
|
||||||
}
|
|
||||||
|
|
||||||
static void VaultNodeFetched (
|
static void VaultNodeFetched (
|
||||||
ENetError result,
|
ENetError result,
|
||||||
void * param,
|
void * param,
|
||||||
@ -217,6 +212,28 @@ struct VaultDownloadTrans {
|
|||||||
);
|
);
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
|
struct VaultDownloadNoCallbacksTrans : VaultDownloadTrans {
|
||||||
|
VaultDownloadNoCallbacksTrans()
|
||||||
|
: VaultDownloadTrans()
|
||||||
|
{
|
||||||
|
VaultSuppressCallbacks();
|
||||||
|
}
|
||||||
|
|
||||||
|
VaultDownloadNoCallbacksTrans(const wchar_t* _tag, FVaultDownloadCallback _callback,
|
||||||
|
void* _cbParam, FVaultProgressCallback _progressCallback,
|
||||||
|
void* _cbProgressParam, unsigned _vaultId)
|
||||||
|
: VaultDownloadTrans(_tag, _callback, _cbParam, _progressCallback, _cbProgressParam, _vaultId)
|
||||||
|
{
|
||||||
|
VaultSuppressCallbacks();
|
||||||
|
}
|
||||||
|
|
||||||
|
~VaultDownloadNoCallbacksTrans()
|
||||||
|
{
|
||||||
|
VaultEnableCallbacks();
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
struct VaultAgeInitTrans {
|
struct VaultAgeInitTrans {
|
||||||
FVaultInitAgeCallback callback;
|
FVaultInitAgeCallback callback;
|
||||||
void * cbState;
|
void * cbState;
|
||||||
@ -4995,6 +5012,25 @@ void VaultDownload (
|
|||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//============================================================================
|
||||||
|
void VaultDownloadNoCallbacks (
|
||||||
|
const wchar tag[],
|
||||||
|
unsigned vaultId,
|
||||||
|
FVaultDownloadCallback callback,
|
||||||
|
void* cbParam,
|
||||||
|
FVaultProgressCallback progressCallback,
|
||||||
|
void* cbProgressParam
|
||||||
|
) {
|
||||||
|
VaultDownloadNoCallbacksTrans* trans = new VaultDownloadNoCallbacksTrans(tag, callback,
|
||||||
|
cbParam, progressCallback, cbProgressParam, vaultId);
|
||||||
|
|
||||||
|
NetCliAuthVaultFetchNodeRefs(
|
||||||
|
vaultId,
|
||||||
|
VaultDownloadTrans::VaultNodeRefsFetched,
|
||||||
|
trans
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
//============================================================================
|
//============================================================================
|
||||||
struct _DownloadVaultParam {
|
struct _DownloadVaultParam {
|
||||||
ENetError result;
|
ENetError result;
|
||||||
|
@ -488,6 +488,14 @@ void VaultDownload (
|
|||||||
FVaultProgressCallback progressCallback,
|
FVaultProgressCallback progressCallback,
|
||||||
void * cbProgressParam
|
void * cbProgressParam
|
||||||
);
|
);
|
||||||
|
void VaultDownloadNoCallbacks(
|
||||||
|
const wchar tag[],
|
||||||
|
unsigned vaultId,
|
||||||
|
FVaultDownloadCallback callback,
|
||||||
|
void* cbParam,
|
||||||
|
FVaultProgressCallback progressCallback,
|
||||||
|
void* cbProgressParam
|
||||||
|
);
|
||||||
void VaultDownloadAndWait (
|
void VaultDownloadAndWait (
|
||||||
const wchar tag[],
|
const wchar tag[],
|
||||||
unsigned vaultId,
|
unsigned vaultId,
|
||||||
|
Reference in New Issue
Block a user