[Verse-dev] Bug fixes.

eskil at obsession.se eskil at obsession.se
Fri Aug 18 17:18:20 CEST 2006


Hi

Jiri reported some strange things going on with some commands and Emil  
found a semicolon that was very strange. So today Emil and I set out  
to investigate:

The Semicolon turned out to be causing some minor problems but not as  
much as i originally thought. We removed some unnecessary code, and it  
should work better now. I can think of some corner cases where the old  
code might have been broken but its a problem that should have been  
very rare. Anyhow now its fixed.

The poly delete problem was a bit more tricky.

In verse protocol there is something called command aliases. It  
basically means that what in the API may look like two commands is  
actually only one in the network, but with just a different name and  
different params. All delete commands are aliases of their  
corresponding create command so:

verse_send_g_vertex_set_xyz_real32(VNodeID node_id, VLayerID layer_id,  
uint32 vertex_id, real32 x, real32 y, real32 z);

is the same command as:

verse_send_g_vertex_delete_real32(VNodeID node_id, uint32 vertex_id);

just omitting some params. All params omitted are set to -1. the bug  
here was in the computation of the address size of a command. The  
command generator computed the size of the address according to what  
the user sees rather then what actually goes on in the network, so the  
delete vertex command got a 2 byte too short address (omitting the  
16bit layer id) and this caused all kinds of problems. Like not being  
able to delete multiple polygons and other errors.

But now its fixed the new code is in CVS.

Cheers

E


More information about the Verse-dev mailing list