IN DEFENSE OF MY REPUTATION
This is a new bug. CONTRARY TO GAYO IT HAS NOT BEEN BROKEN FOR 2 YEARS. The source code I have on my computer (which is very old) looks like THIS:
void vc_FreeImage()
{
int handle = vc->ResolveOperand();
if (handle == 0)
vc->vcerr("vc_FreeImage() - cannot free a null image reference!");
if (handle == 1)
vc->vcerr("vc_FreeImage() - cannot free the screen reference");
if (handle<0 || handle>=MAX_IMAGES)
vc->vcerr("vc_FreeImage() - handle is a bogus reference!");
if (!imagebay[handle].active)
vc->vcerr("vc_FreeImage() - there is no allocated image associated with this reference!");
delete imagebay[handle].ref;
imagebay[handle].ref = 0;
imagebay[handle].active = false;
}
NOTE THE SECTION WHERE IT FREES THE IMAGE. I would also point out that in addition to actually freeing the image, it performed a plethora of helpful and useful checks that SOMEONE quite possibly ZEROMUS arbitrarily deleted! Not only is it a functional FreeImage, it is a damned fine FreeImage. AND NOW MY HONOR IS RESTORED AND I GO TO BED.
zzz