[PD-cvs] pd/src desire.c,1.1.2.217.2.170,1.1.2.217.2.171

Mathieu Bouchard matju at users.sourceforge.net
Thu Jul 19 23:47:39 CEST 2007


Update of /cvsroot/pure-data/pd/src
In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv31060

Modified Files:
      Tag: desiredata
	desire.c 
Log Message:
wipe the rest of gstub


Index: desire.c
===================================================================
RCS file: /cvsroot/pure-data/pd/src/Attic/desire.c,v
retrieving revision 1.1.2.217.2.170
retrieving revision 1.1.2.217.2.171
diff -C2 -d -r1.1.2.217.2.170 -r1.1.2.217.2.171
*** desire.c	19 Jul 2007 17:54:50 -0000	1.1.2.217.2.170
--- desire.c	19 Jul 2007 21:47:34 -0000	1.1.2.217.2.171
***************
*** 1321,1325 ****
  static void array_resize_and_redraw(t_array *array, int n) {
  /* what was that for??? */
- /* t_array *a2 = array; while (gstub_which(STUB(a2)) == GP_ARRAY) a2 = STUB(a2)->array; */
      array_resize(array,n);
      gobj_changed(array,0);
--- 1321,1324 ----
***************
*** 1584,1588 ****
  static void array_redraw(t_array *a, t_canvas *canvas) {
      /* what was that for? */
-     /* while (gstub_which(STUB(a)) == GP_ARRAY) a = STUB(a)->array; */
      scalar_redraw(a->gp.scalar, canvas);
  }
--- 1583,1586 ----
***************
*** 3395,3417 ****
  static t_canvas *gpointer_getcanvas(t_gpointer *gp) {
      if (gp->o->_class != array_class) return gp->canvas;
-     else {/* fuck:
-         t_array *owner_array = gp->array;
- 	// find associated scalar:
-         while (gstub_which(STUB(owner_array)) == GP_ARRAY) owner_array = STUB(owner_array)->array;
-         return STUB(owner_array)->canvas;
-     */}
      return 0; /* FIXME */
  }
  static t_scalar *gpointer_getscalar(t_gpointer *gp) {
      if (gp->o->_class != array_class) return gp->scalar;
- /*  t_array *o = gp->array; while (gstub_which(STUB(o)) == GP_ARRAY) o = STUB(o)->array; return o->gp.scalar; */
      return 0;
  }
  
! /* make a new scalar and add to the canvas.  We create a "gp" here which
!    will be used for array items to point back here.  This gp doesn't do
!    reference counting or "validation" updates though; the parent won't go away
!    without the contained arrays going away too.  The "gp" is copied out
!    by value in the word_init() routine so we can throw our copy away. */
  t_scalar *scalar_new(t_canvas *owner, t_symbol *templatesym) {
      t_gpointer gp;
--- 3393,3406 ----
  static t_canvas *gpointer_getcanvas(t_gpointer *gp) {
      if (gp->o->_class != array_class) return gp->canvas;
      return 0; /* FIXME */
  }
  static t_scalar *gpointer_getscalar(t_gpointer *gp) {
      if (gp->o->_class != array_class) return gp->scalar;
      return 0;
  }
  
! /* make a new scalar and add to the canvas.  We create a "gp" here which will be used for array items to point back here.
!    This gp doesn't do reference counting or "validation" updates though; the parent won't go away without the contained
!    arrays going away too.  The "gp" is copied out by value in the word_init() routine so we can throw our copy away. */
  t_scalar *scalar_new(t_canvas *owner, t_symbol *templatesym) {
      t_gpointer gp;
***************
*** 3431,3438 ****
  static void canvas_scalar(t_canvas *canvas, t_symbol *classname, t_int argc, t_atom *argv) {
      t_symbol *templatesym = canvas_makebindsym(atom_getsymbolarg(0, argc, argv));
!     if (!template_findbyname(templatesym)) {
!         error("%s: no such template", atom_getsymbolarg(0, argc, argv)->name);
!         return;
!     }
      int nextmsg;
      t_binbuf *b = binbuf_new();
--- 3420,3424 ----
  static void canvas_scalar(t_canvas *canvas, t_symbol *classname, t_int argc, t_atom *argv) {
      t_symbol *templatesym = canvas_makebindsym(atom_getsymbolarg(0, argc, argv));
!     if (!template_findbyname(templatesym)) {error("%s: no such template", atom_getsymbolarg(0, argc, argv)->name); return;}
      int nextmsg;
      t_binbuf *b = binbuf_new();
***************
*** 4717,4736 ****
  
  /* ------------- gpointers - safe pointing --------------- */
- /*
- static void gstub_dis(t_gstub *gs) {
-     int refcount = --gs->gs_refcount;
-     if (!refcount && gstub_which(gs) == GP_NONE) free(gs);
-     else if (refcount < 0) bug("gstub_dis");
- }
- static int gstub_which(t_gstub *gs) {
-     if (gs->array) return 0;
-     if (gs->array->_class == array_class) return GP_ARRAY; else return GP_CANVAS;
- }
- */
  
! /* call this to verify that a pointer is fresh, i.e., that it either
! points to real data or to the head of a list, and that in either case
! the object hasn't disappeared since this pointer was generated. 
! Unless "headok" is set,  the routine also fails for the head of a list. */
  int gpointer_check(const t_gpointer *gp, int headok) {
      if (!gp->o) return 0;
--- 4703,4710 ----
  
  /* ------------- gpointers - safe pointing --------------- */
  
! /* call this to verify that a pointer is fresh, i.e., that it either points to real data or to the head of a list,
!    and that in either case the object hasn't disappeared since this pointer was generated. Unless "headok" is set,
!    the routine also fails for the head of a list. */
  int gpointer_check(const t_gpointer *gp, int headok) {
      if (!gp->o) return 0;
***************
*** 4739,4744 ****
  }
  
! /* get the template for the object pointer to.  Assumes we've already checked
! freshness.  Returns 0 if head of list. */
  static t_symbol *gpointer_gettemplatesym(const t_gpointer *gp) {
      if (gp->o->_class == array_class) return gp->array->templatesym;
--- 4713,4717 ----
  }
  
! /* get the template for the object pointer to.  Assumes we've already checked freshness.  Returns 0 if head of list. */
  static t_symbol *gpointer_gettemplatesym(const t_gpointer *gp) {
      if (gp->o->_class == array_class) return gp->array->templatesym;
***************
*** 4747,4753 ****
  }
  
! /* copy a pointer to another, assuming the second one hasn't yet been
! initialized.  New gpointers should be initialized either by this
! routine or by gpointer_init below. */
  void gpointer_copy(const t_gpointer *gpfrom, t_gpointer *gpto) {
      *gpto = *gpfrom;
--- 4720,4725 ----
  }
  
! /* copy a pointer to another, assuming the second one hasn't yet been initialized.  New gpointers should be initialized
!    either by this routine or by gpointer_init below. */
  void gpointer_copy(const t_gpointer *gpfrom, t_gpointer *gpto) {
      *gpto = *gpfrom;
***************
*** 4755,4760 ****
  }
  
- /* clear a gpointer that was previously set, releasing the associated
- gstub if this was the last reference to it. */
  void gpointer_unset(t_gpointer *gp) {
      if (gp->scalar) {
--- 4727,4730 ----
***************
*** 5035,5039 ****
      t_array *array;
      int elemsize, type;
- 
      if (!gpointer_check(gparent, 0)) {error("empty pointer"); return;}
      if (gpointer_gettemplatesym(gparent) != x->templatesym) {
--- 5005,5008 ----





More information about the Pd-cvs mailing list