[Gtkradiant] [Bug 290] Crash on Flush & Reload of Textures *AFTER* loading q3dm*sample.map

gtkradiant@zerowing.idsoftware.com gtkradiant@zerowing.idsoftware.com
Sat, 19 Jan 2002 18:17:18 -0600


http://zerowing.idsoftware.com/bugzilla/show_bug.cgi?id=290





------- Additional Comments From rr2do2@q3f.com  2002-01-19 18:17 -------
Fixed this one.

[00:02] (RR2DO2): when the faces are loaded, g_activeshaders is scanned for the 
shader of that face
[00:03] (RR2DO2): if it doesn't exist, it adds it to activeshaders (for use in 
texture window)
[00:03] (RR2DO2): when it does exist, it just increfs as it is used once more 
in the map on a face
[00:03] (RR2DO2): now the thing was
[00:03] (RR2DO2): adding to activeshaders didn't incref it
[00:03] (RR2DO2): but activeshaders did do a releaseall
[00:03] (RR2DO2): decresing it

[00:10] (RR2DO2): shaders project, shaders.cpp
[00:10] (RR2DO2): void CShaderArray::AddSingle (void *lp)
[00:10] (RR2DO2): CPtrArray::Add (lp);
[00:10] (RR2DO2): static_cast < CShader * >(CPtrArray::GetAt (i))->IncRef();
[00:10] (RR2DO2): add the last line

(not worth a patch, poked ttimo on irc so he added the single line to the code)



------- You are receiving this mail because: -------
Whoops!  I have no idea!