Update of /cvsroot/pure-data/pd/src In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv7106
Modified Files: Tag: devel_0_39 desire.c s_inter.c Log Message: added manager serial, manager origin, binbuf_eval_from_client
Index: s_inter.c =================================================================== RCS file: /cvsroot/pure-data/pd/src/s_inter.c,v retrieving revision 1.5.4.10.2.24 retrieving revision 1.5.4.10.2.25 diff -C2 -d -r1.5.4.10.2.24 -r1.5.4.10.2.25 *** s_inter.c 27 Nov 2006 18:26:20 -0000 1.5.4.10.2.24 --- s_inter.c 28 Nov 2006 20:52:05 -0000 1.5.4.10.2.25 *************** *** 523,526 **** --- 523,530 ---- void sys_exit(void);
+ #ifdef DESIRE + void binbuf_eval_from_client(t_binbuf *b); + #endif + void socketreceiver_read(t_socketreceiver *x, int fd) { *************** *** 581,585 **** if (x->sr_socketreceivefn) (*x->sr_socketreceivefn)(x->sr_owner, inbinbuf); ! else binbuf_eval(inbinbuf, 0, 0, 0); } } --- 585,595 ---- if (x->sr_socketreceivefn) (*x->sr_socketreceivefn)(x->sr_owner, inbinbuf); ! else { ! #ifdef DESIRE ! binbuf_eval_from_client(inbinbuf); ! #else ! binbuf_eval(inbinbuf, 0, 0, 0); ! #endif ! } } }
Index: desire.c =================================================================== RCS file: /cvsroot/pure-data/pd/src/Attic/desire.c,v retrieving revision 1.1.2.214 retrieving revision 1.1.2.215 diff -C2 -d -r1.1.2.214 -r1.1.2.215 *** desire.c 28 Nov 2006 19:58:07 -0000 1.1.2.214 --- desire.c 28 Nov 2006 20:52:02 -0000 1.1.2.215 *************** *** 256,259 **** --- 256,260 ---- t_queue *q; t_clock *clock; + unsigned short serial; /* of objects created by the client */ };
*************** *** 292,295 **** --- 293,297 ---- self->q = queue_new(); self->clock = clock_new(self,(t_method)manager_call); + self->serial = 0; clock_delay(self->clock,0); return self; *************** *** 320,323 **** --- 322,326 ----
extern short next_object; + t_manager *origin=0; /* 0 means unknown */ extern t_pd *newest; t_class *canvas_class; *************** *** 333,336 **** --- 336,347 ---- static t_atom *canvas_newargv;
+ /* this has to change later when we get multiple managers (and thus the manager variable will disappear) */ + /* this also has to change when we get stackable origins */ + extern "C" void binbuf_eval_from_client (t_binbuf *b) { + origin = manager; + binbuf_eval(b,0,0,0); + origin = 0; + } + /* add a canvas the list of "root" canvases (toplevels without parents.) */ static void canvas_addtolist(t_canvas *x) {