Mantis - Croquet
Viewing Issue Advanced Details
1303 Jasmine minor always 06-02-05 22:04 08-18-05 18:34
schwa  
 
normal  
resolved  
fixed  
none    
none  
0001303: copy of TPrimitive retains same glListID
Copies of TPrimitive retain the same glListID. A problem arises because the OpenGL's display list registry only knows that the original object uses that glListID, not the copy.

An example of a bug that could (and has) occurred:
- make a TCube in a space.
- make a duplicate of it
- delete the original
- wait a render cycle or two (so that OpenGL>>cleanup is called)
- make a TSphere in the space

If you're unlucky, the duplicate cube will start to render as a sphere. This can (has) happened when the newly created sphere ends up using the same glListID as the original and duplicate cubes.

Other unlucky scenarios include rendering with an invalid glListID. Results in this case are probably platform/driver dependent.
 TPrimitive-postCopy.st [^] (244 bytes) 06-02-05 22:11

Notes
(0001564)
schwa   
06-02-05 22:12   
The attached changeset (TPrimitive-postCopy.st) addresses the problem.
(0002410)
schwa   
08-18-05 18:32   
This was fixed by managing display lists like other OpenGL resources. See the update 0232DisplayListsEtc.
(0002412)
schwa   
08-18-05 18:33   
This was fixed by managing display lists like other OpenGL resources. See the update 0232DisplayListsEtc.