(Subject line for want of a better name).

I've been going over lots of code in libgeda (removing screen
coordinates, and refactoring the recalc, and get_..._bounds functions.

I've spotted what appears to be a missing call to
s_tile_update_object(). This is based on comparing to o_net_basic.c.

AFAICT s_tile_update_object is tracking where certain objects are, for
the purpose of connectivity checking? It looks like it is hardcoded for
lines and derivatives (e.g. s_tile_update_object())

Can someone shed some light on the significance of tiles?

Is the patch below indeed useful, and what might the symptoms of its
absence be? I presume some deficiency in finding connectivity after the
bus is dragged by its grips - the only code calling o_bus_modify is in
o_grips.c.



Index: o_bus_basic.c
===================================================================
RCS file: /home/cvspsrv/cvsroot/eda/geda/gaf/libgeda/src/o_bus_basic.c,v
retrieving revision 1.15
diff -U3 -p -r1.15 o_bus_basic.c
--- o_bus_basic.c       22 Sep 2006 18:48:07 -0000      1.15
+++ o_bus_basic.c       30 Nov 2006 19:10:18 -0000
@@ -836,6 +836,8 @@ void o_bus_modify(TOPLEVEL *w_current, O
   object->top = top;
   object->right = right;
   object->bottom = bottom;
+
+  s_tile_update_object(w_current, object);
 }


Regards,

-- 
Peter Clifton

Electrical Engineering Division,
Engineering Department,
University of Cambridge,
9, JJ Thomson Avenue,
Cambridge
CB3 0FA

Tel: +44 (0)7729 980173 - (No signal in the lab!)



_______________________________________________
geda-dev mailing list
[email protected]
http://www.seul.org/cgi-bin/mailman/listinfo/geda-dev

Reply via email to