To throw a little background on this, we vend avatars, and the latest ones contain a HUD attachment which allows you to control the behavior of the avatar. One of the buttons on this hud attachment is a little 'close' button, which runs a permissions check against attach, and then on success, detatches the object.
This has worked fine for about 6 months give or take... However in the last 24-48 hours we've been getting more and more complaints that the objects are 'broken' (up to about 60 now, but its growing rapidly, far beyond our ability to cope/scale)..
Basically now it works fine until someone clicks the x, which runs the code:
CODE
llRequestPermissions(llGetOwner(), PERMISSION_ATTACH);
and then triggers the following:
CODE
run_time_permissions(integer perm)
{
if (perm & PERMISSION_ATTACH)
{
llDetachFromAvatar();
}
}
which generally has successfully detached the object from the owner's GUI...
Now however, once they do that click on the x once, this permissions code, executes automatically on every single attachment.
Just to fill out the picture a bit.. here is the code that runs on attach:
CODE
attach(key avatar)
{
llSleep(3.0);
if (avatar != NULL_KEY)
{
llSay(1, "geteyecolor");
if (listener != -1) { llListenRemove(listener); }
listener = llListen(HUD_chan, "", NULL_KEY, "");
llSetTimerEvent(60.0);
}
}
What happens now, in the last 1-2 days is when they re-attach it, it sleeps the three seconds, then immediately runs the permission check, which succeeds, and detatches this object.
Now i know this isn't necessarily the prime place to ask a code specific question, but there is another issue here.
I can 'fix' the code myself, aka recode it in the current working environment with a semaphore in such a way it will be 'immune' to this form of glitch...
But there are well over 2000 people whom already have these objects... If this is a new 'feature' then We're going to have to devise some way ot getting all of these people new objects that work around this problem...
On the other hand if this new behavior (again new within the last 24-48 hours near as any of us can tell) is a bug, then is there a chance it will be resolved so that we will not have to run through the time and effort of running a distribution system for 'fixed' objects.
Basically I guess I'm asking for a call if this behavior is permanent and desired, or is a temporary hiccup one'f the updates/patches has run, because with the escalating support issue we're facing, I can't really afford to sit on my laurels and wait it out to hear through normal channels.