Update of /cvsroot/pure-data/pd/src In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv29332
Modified Files: Tag: impd_0_37 g_editor.c Log Message: bugfixes
Index: g_editor.c =================================================================== RCS file: /cvsroot/pure-data/pd/src/g_editor.c,v retrieving revision 1.1.1.4.2.3.2.14 retrieving revision 1.1.1.4.2.3.2.15 diff -C2 -d -r1.1.1.4.2.3.2.14 -r1.1.1.4.2.3.2.15 *** g_editor.c 17 Apr 2004 06:04:01 -0000 1.1.1.4.2.3.2.14 --- g_editor.c 19 Apr 2004 17:29:58 -0000 1.1.1.4.2.3.2.15 *************** *** 914,918 **** post("canvas_click_on_wire: 0x%08x %s %f %f %f %f", (unsigned)self, linesym->s_name, x, y, b, f); ! /*post("shiftmod=%d runmode=%d altmod=%d rightclick=%d b=%f f=%f",shiftmod,runmode,altmod,rightclick,b,f);*/ if (!run && !alt && !shift && !rightclick) { /* change selection to single wire */ --- 914,918 ---- post("canvas_click_on_wire: 0x%08x %s %f %f %f %f", (unsigned)self, linesym->s_name, x, y, b, f); ! /*post("shift=%d run=%d alt=%d rightclick=%d b=%f f=%f",shift,run,alt,rightclick,b,f);*/ if (!run && !alt && !shift && !rightclick) { /* change selection to single wire */ *************** *** 933,943 **** }
! void canvas_click_on_object(t_canvas *self, t_symbol *linesym, t_float x, t_float y, t_float b, t_float f) { int run, shift, alt, rightclick; canvas_modifiers(self,f,0,&run,&shift,&alt,&rightclick); post("canvas_click_on_object: 0x%08x %s %f %f %f %f", ! (unsigned)self, linesym->s_name, x, y, b, f); /*post("shift=%d run=%d alt=%d rightclick=%d b=%f f=%f",shift,run,alt,rightclick,b,f);*/ if (!run && !alt && !shift && !rightclick) { } --- 933,945 ---- }
! void canvas_click_on_object(t_canvas *self, t_symbol *objsym, t_float x, t_float y, t_float b, t_float f) { int run, shift, alt, rightclick; + t_object *id = 0; canvas_modifiers(self,f,0,&run,&shift,&alt,&rightclick); post("canvas_click_on_object: 0x%08x %s %f %f %f %f", ! (unsigned)self, objsym->s_name, x, y, b, f); /*post("shift=%d run=%d alt=%d rightclick=%d b=%f f=%f",shift,run,alt,rightclick,b,f);*/ + if (!sscanf(objsym->s_name,"x%x",&id)) {post("BORK!!!"); return;} if (!run && !alt && !shift && !rightclick) { } *************** *** 949,954 **** { int run, shift, alt, rightclick; - canvas_modifiers(x,mod,doit,&run,&shift,&alt,&rightclick); int x1, y1, x2, y2, clickreturned = 0; t_gobj *y; t_editor *e = x->gl_editor; --- 951,956 ---- { int run, shift, alt, rightclick; int x1, y1, x2, y2, clickreturned = 0; + canvas_modifiers(x,mod,doit,&run,&shift,&alt,&rightclick); t_gobj *y; t_editor *e = x->gl_editor; *************** *** 965,978 ****
e->e_lastmoved = 0; ! if (doit) ! { ! e->e_grab = 0; ! e->e_onmotion = MA_NONE; ! } ! /* post("click %d %d %d %d", xpos, ypos, which, mod); */ ! ! if (e->e_onmotion != MA_NONE) ! return; ! e->e_xwas = xpos; e->e_ywas = ypos; --- 967,972 ----
e->e_lastmoved = 0; ! if (doit) {e->e_grab = 0; e->e_onmotion = MA_NONE;} ! if (e->e_onmotion != MA_NONE) return; e->e_xwas = xpos; e->e_ywas = ypos; *************** *** 982,994 **** for (y = x->gl_list; y; y = y->g_next) { ! /* check if the object wants to be clicked */ if (canvas_hitbox(x, y, xpos, ypos, &x1, &y1, &x2, &y2) && (clickreturned = gobj_click(y,x,xpos,ypos,shift,alt,0,doit))) ! break; } if (!doit) canvas_setcursor(x, y?clickreturned:CURSOR_RUNMODE_NOTHING); return; } - /* sys_vgui(".x%x.c delete x\n",x);*/
/* if not a runmode left click, fall here. */ --- 976,987 ---- for (y = x->gl_list; y; y = y->g_next) { ! /* check if the object wants to be clicked */ if (canvas_hitbox(x, y, xpos, ypos, &x1, &y1, &x2, &y2) && (clickreturned = gobj_click(y,x,xpos,ypos,shift,alt,0,doit))) ! break; } if (!doit) canvas_setcursor(x, y?clickreturned:CURSOR_RUNMODE_NOTHING); return; }
/* if not a runmode left click, fall here. */ *************** *** 998,1003 **** /* check you're in the rectangle */ ob = pd_checkobject(&y->g_pd); ! if (rightclick) ! canvas_rightclick(x, xpos, ypos, y); else if (shift) { --- 991,995 ---- /* check you're in the rectangle */ ob = pd_checkobject(&y->g_pd); ! if (rightclick) canvas_rightclick(x, xpos, ypos, y); else if (shift) { *************** *** 1023,1047 **** else { - /* make new wire? */ int noutlet,ninlet; ! if (ob && (noutlet = obj_noutlets(ob)) && ypos >= y2-4) ! { ! /* int width = x2-x1; ! int nout1 = noutlet>1 ? noutlet-1 : 1; ! int closest = ((xpos-x1) * nout1 + width/2)/width; ! int hotspot = x1 + (width-IOWIDTH)*closest/nout1; ! if (closest < noutlet && xpos >= hotspot-1 && xpos <= hotspot + IOWIDTH+1) ! { ! if (doit) ! { ! e->e_onmotion = MA_CONNECT; ! e->e_xwas = xpos; ! e->e_ywas = ypos; ! } ! else canvas_setcursor(x, CURSOR_EDITMODE_CONNECT); ! } ! else if (doit) goto nooutletafterall; ! */ ! } /* look for an inlet */ else if (ob && (ninlet = obj_ninlets(ob)) && ypos <= y1+4) --- 1015,1020 ---- else { int noutlet,ninlet; ! if (ob && (noutlet = obj_noutlets(ob)) && ypos >= y2-4) {} /* look for an inlet */ else if (ob && (ninlet = obj_ninlets(ob)) && ypos <= y1+4) *************** *** 1140,1144 **** "connect"); } else { ! post("BORK"); } } --- 1113,1117 ---- "connect"); } else { ! post("BORK at %s:%d",__FILE__,__LINE__); } }