XGUI: UCLChange hook was causing an extra refreshData to be called, causing the server to send down potentially two sets of data on join.

- The main culprit is the code that ensures that the user gets any new data they they may have just been given access to.
- Fixed by added special flag to note when the first download of data has been completed. client will not request for additional code until the first set is downloaded).
This commit is contained in:
SticklyMan 2018-02-04 17:18:16 -07:00
parent ac76283a8b
commit 64d6afdc31
4 changed files with 4 additions and 2 deletions

View File

@ -4,6 +4,7 @@
* [CHANGE] Muted players can no longer use psay (thanks, PixeLInc).
* [FIX] Don't respawn when done spectating if the user was not alive to start with (Thanks, PixeLInc).
* [FIX] XGUI: Player list on the Cmds tab was not sorted alphabetically.
* [FIX] XGUI: Server data was potentially being sent down twice to clients on join.
## v3.73 - *(03/21/17)*
* [CHANGE] Setting an ULX cvar now no longer needless routes the cvar change through the console.

View File

@ -520,7 +520,7 @@ end
--If the player's group is changed, reprocess the XGUI modules for permissions, and request for extra data if needed
function xgui.PermissionsChanged( ply )
if ply == LocalPlayer() and xgui.isInstalled then
if ply == LocalPlayer() and xgui.isInstalled and xgui.dataInitialized then
xgui.processModules()
local types = {}
for dtype, data in pairs( xgui.data ) do

View File

@ -157,6 +157,7 @@ function xgui.load_helpers()
self:SetFraction( self.value / self.max )
self.Label:SetText( "Getting data: " .. datatype .. " - " .. string.format("%.2f", (self.value / self.max) * 100) .. "%" )
if self.value == self.max then
xgui.dataInitialized = true
xgui.expectingdata = nil
self.Label:SetText( "Waiting for clientside processing..." )
xgui.queueFunctionCall( xgui.chunkbox.SetVisible, "chunkbox", xgui.chunkbox, false )

View File

@ -1 +1 @@
1517789389
1517789896