Update of /cvsroot/pure-data/pd/src In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv16320
Modified Files: Tag: desiredata desire.c desire.h Log Message: fix new bug in text_setto
Index: desire.h =================================================================== RCS file: /cvsroot/pure-data/pd/src/Attic/desire.h,v retrieving revision 1.1.2.49.2.49 retrieving revision 1.1.2.49.2.50 diff -C2 -d -r1.1.2.49.2.49 -r1.1.2.49.2.50 *** desire.h 18 Aug 2007 02:26:28 -0000 1.1.2.49.2.49 --- desire.h 18 Aug 2007 05:34:32 -0000 1.1.2.49.2.50 *************** *** 152,156 **** #ifdef PD_PLUSPLUS_FACE struct _glist : t_object { - // std::map<int,t_gobj *> boxes; #else struct _glist { --- 152,155 ---- *************** *** 276,280 **** EXTERN void pd_upload(t_gobj *self); EXTERN void sys_mgui(void *self, const char *sel, const char *fmt, ...); ! EXTERN void canvas_add(t_canvas *x, t_gobj *g); EXTERN void canvas_delete(t_canvas *x, t_gobj *y); EXTERN void canvas_deletelinesfor(t_canvas *x, t_text *text); --- 275,279 ---- EXTERN void pd_upload(t_gobj *self); EXTERN void sys_mgui(void *self, const char *sel, const char *fmt, ...); ! EXTERN void canvas_add(t_canvas *x, t_gobj *g, int index=-1); EXTERN void canvas_delete(t_canvas *x, t_gobj *y); EXTERN void canvas_deletelinesfor(t_canvas *x, t_text *text); *************** *** 338,344 **** #endif
! #define L printf("%s:%d in %s\n",__FILE__,__LINE__,__PRETTY_FUNCTION__); ! #define LS printf("%s:%d in %s (self=%lx\n",__FILE__,__LINE__,__PRETTY_FUNCTION__,(long)self);\ ! printf("class=%s)\n",((t_gobj *)self)->_class->c_name->name);
#define STACKSIZE 1024 --- 337,343 ---- #endif
! #define L post("%s:%d in %s",__FILE__,__LINE__,__PRETTY_FUNCTION__); ! #define LS post("%s:%d in %s (self=%lx class=%s)",__FILE__,__LINE__,__PRETTY_FUNCTION__,(long)self, \ ! ((t_gobj *)self)->_class->c_name->name);
#define STACKSIZE 1024
Index: desire.c =================================================================== RCS file: /cvsroot/pure-data/pd/src/Attic/desire.c,v retrieving revision 1.1.2.217.2.223 retrieving revision 1.1.2.217.2.224 diff -C2 -d -r1.1.2.217.2.223 -r1.1.2.217.2.224 *** desire.c 18 Aug 2007 04:19:21 -0000 1.1.2.217.2.223 --- desire.c 18 Aug 2007 05:34:30 -0000 1.1.2.217.2.224 *************** *** 95,99 **** } t_gobj *first() { ! if (list && list != map.begin()->second) post("list first=%p map begin=%p",list,map.begin()->second); return list; } --- 95,102 ---- } t_gobj *first() { ! if (list) { ! t_gobj *liste = map.begin()->second; ! if (list != liste) post("list first=%p map begin=%p",list,liste); ! } return list; } *************** *** 110,113 **** --- 113,117 ---- t_gobj *next(t_gobj *x) {return x->g_next;} void add(t_gobj *x) { /* the key is x->index, the value is x */ + post("t_boxes add %lx",x->dix->index); t_gobj *r = last(); if (r) r->g_next = x; else list = x; *************** *** 577,581 **** int width = CANVAS_DEFCANVASWIDTH, xloc = 0; int height = CANVAS_DEFCANVASHEIGHT, yloc = CANVAS_DEFCANVASYLOC; ! int vis=0, font = owner?owner->font:42 /*sys_defaultfont*/; if (!owner) canvas_addtolist(x); /* toplevel vs subwindow */ --- 581,585 ---- int width = CANVAS_DEFCANVASWIDTH, xloc = 0; int height = CANVAS_DEFCANVASHEIGHT, yloc = CANVAS_DEFCANVASYLOC; ! int vis=0, font = owner?owner->font:10; if (!owner) canvas_addtolist(x); /* toplevel vs subwindow */ *************** *** 2018,2024 **** }
! void canvas_add(t_canvas *x, t_gobj *y) { gobj_setcanvas(y,x); ! y->dix->index = x->next_o_index++; x->boxes->add(y); if (x->gop && !x->goprect && pd_checkobject(y)) SET(goprect,1); --- 2022,2029 ---- }
! void canvas_add(t_canvas *x, t_gobj *y, int index) { gobj_setcanvas(y,x); ! if (index<0) y->dix->index = x->next_o_index++; ! else y->dix->index = index; x->boxes->add(y); if (x->gop && !x->goprect && pd_checkobject(y)) SET(goprect,1); *************** *** 5235,5239 **** }
! static void canvas_objtext(t_canvas *gl, int xpix, int ypix, int selected, t_binbuf *b) { t_text *x=0; int argc, n; --- 5240,5244 ---- }
! static void canvas_objtext(t_canvas *gl, int xpix, int ypix, t_binbuf *b, int index=-1) { t_text *x=0; int argc, n; *************** *** 5274,5279 **** if (argc >= 2) { binbuf_restore(b, argc-2, argv+2); ! canvas_objtext(gl, atom_getintarg(0, argc, argv), atom_getintarg(1, argc, argv), 0, b); ! } else canvas_objtext(gl,0,0,1,b); }
--- 5279,5284 ---- if (argc >= 2) { binbuf_restore(b, argc-2, argv+2); ! canvas_objtext(gl, atom_getintarg(0, argc, argv), atom_getintarg(1, argc, argv), b); ! } else canvas_objtext(gl,0,0,b); }
*************** *** 5343,5352 **** x->y = atom_getintarg(1, argc, argv); if (argc > 2) binbuf_restore(x->binbuf, argc-2, argv+2); - canvas_add(gl,x); } else { x->x = 0; x->y = 0; - canvas_add(gl,x); } }
--- 5348,5356 ---- x->y = atom_getintarg(1, argc, argv); if (argc > 2) binbuf_restore(x->binbuf, argc-2, argv+2); } else { x->x = 0; x->y = 0; } + canvas_add(gl,x); }
*************** *** 5542,5548 **** t_binbuf *buf = canvas_cut_wires(canvas_getcanvas(canvas),x); canvas_delete(canvas,x); ! canvas_objtext(canvas, xwas, ywas, 0, b); ! ((t_gobj *)newest)->dix->index = backupi; ! canvas->next_o_index--; t_pd *backup = newest; if (newest && pd_class(newest) == canvas_class) canvas_loadbang((t_canvas *)newest); --- 5546,5550 ---- t_binbuf *buf = canvas_cut_wires(canvas_getcanvas(canvas),x); canvas_delete(canvas,x); ! canvas_objtext(canvas,xwas,ywas,b,backupi); t_pd *backup = newest; if (newest && pd_class(newest) == canvas_class) canvas_loadbang((t_canvas *)newest);