Fix some marginal bugs, and the version of [AV]faces.

- Bump version of [AV]faces to 2.2.
- With very bad luck, some channel numbers could overflow the range of an integer due to float rounding, and produce DEBUG_CHANNEL or PUBLIC_CHANNEL as output.
- If both CHANGED_INVENTORY and CHANGED_LINK came at the same time, [AV]prop would fail to handle both.
- There was code that did nothing in [AV]faces. While it caused no bug per se, if it was reused in future then it could be affected by the same problem as that in [AV]prop.
This commit is contained in:
Sei Lisa 2017-08-15 17:21:00 +02:00 committed by Sei-Lisa
parent 610890951d
commit 4278710ce8
11 changed files with 20 additions and 15 deletions

View file

@ -358,7 +358,7 @@ new_controller(key id)
CONTROLLER = id;
controllerName = llKey2Name(CONTROLLER);
llListenRemove(menu_handle);
menu_handle = llListen(menu_channel = ((integer)llFrand(2147483646) + 1) * -1, "", CONTROLLER, "");
menu_handle = llListen(menu_channel = ((integer)llFrand(0x7FFFFF80) + 1) * -1, "", CONTROLLER, ""); // 7FFFFF80 = max float < 2^31
}
no_sensor_results()
@ -374,10 +374,10 @@ no_sensor_results()
get_unique_channels()
{
RELAY_SEARCH_CHANNEL = (integer)llFrand(999999999) + 1;
RELAY_SEARCH_CHANNEL = (integer)llFrand(999999936) + 1; // 999999936 = max float < 1e9
RELAY_GETCAPTURESTATUSchannel = RELAY_SEARCH_CHANNEL + 2;
RELAY_CHECK_CHANNEL = RELAY_SEARCH_CHANNEL + 4;
ASKROLE_CHANEL = ((integer)llFrand(2147483646) + 1) * -1;
ASKROLE_CHANEL = ((integer)llFrand(0x7FFFFF80) + 1) * -1; // 7FFFFF80 = max float < 2^31
llListenRemove(relay_handle);
relay_handle = llListen(RELAY_CHANNEL, "", "", ping = "ping," + (string)llGetKey() + ",ping,ping");
}