[Gtkradiant] [Bug 543] New: A missing client config in synapse.config = crash
gtkradiant@zerowing.idsoftware.com
gtkradiant@zerowing.idsoftware.com
Mon, 27 May 2002 13:40:30 -0500
http://zerowing.idsoftware.com/bugzilla/show_bug.cgi?id=543
Summary: A missing client config in synapse.config = crash
Product: GtkRadiant
Version: 1.3
OS/Version: All
Status: NEW
Severity: normal
Priority: P2
Component: editor
AssignedTo: ttimo@idsoftware.com
ReportedBy: hydra@hydras-world.com
If you drop a .dll in modules/ that requires a client config an access
violation occurs on line 666 (!) of synapse.cpp in
CSynapseServer::SelectClientConfig() if that config can't be found.
e.g. I dropped in spritemodel.dll (MODEL_MAJOR, "sprite" minor) and hadn't
updated my synapse.config (for quake3). The when you add the client config to
synapse.config it all works correctly.
the missing part of synapse.config is as follows:
<client name="sprite">
<api name="shaders">
quake3
</api>
<api name="VFS">
pk3
</api>
</client>
The crash occurs because pNode in this line is null
// focus
mpFocusedNode = pNode->children; <-- CRASH!
if I add this before it:
if (!pNode)
return false; // Hydra: fixes crash if client config cannot be found.
the crash moves to CSynapseServer::PushRequired(), line 417:
int j,jmax = pScanClient->GetAPICount();
pScanClient is NULL.
Over to you ttimo.
------- You are receiving this mail because: -------
Whoops! I have no idea!