[comp.windows.interviews] IV 3.0B ibuild problems

mcdowell@grus.cs.nps.navy.mil (john mcdowell) (05/21/91)

	I am having difficulty with ibuild and string browsers.  I am trying
to attach a vertical scroll bar to a string browser.  (As in the ted example
in the ibuild manual).  When I relate the scroller to the browser the
scroller gets the correct instance name for the instance of the browser.
	The problem is that the system does not recognize this instance name
as even exsisting when it tries to build the system.  Also if I try to
examine the scroller itself and then try to save it (via OK) it informs
me that the instance name is undefined.
	What I would like to know is if I am doing something wrong and there
is a better way of adding this scroller to the browser or if ibuild does 
indeed have a bug.  Thanks in advance for any help in this problem.



-- 
----------------------------------------------------------
| John K. McDowell      mcdowell@taurus.cs.nps.navy.mil
| Naval Postgraduate School
| CAPS research group

tang@braun.stanford.edu (Steve Tang) (05/22/91)

Here's the fix.

Steven Tang
tang@interviews.stanford.edu

/****/

The call to RecurGetConflict to find out potential conflicting names
in the user interface instance hierarchy may exit prematurely, causing
the system to complain about unrecognized instance names.

Apply with "patch -p -N < fix10" at the top of the source tree

*** iv/src/bin/ibuild/ibvarviews.c.orig	Tue May 21 16:52:37 1991
--- iv/src/bin/ibuild/ibvarviews.c	Tue May 21 16:55:47 1991
***************
*** 121,127 ****
  	}
      }
      delete flist;
!     RecurGetConflict(name, ulist, firewall, global);
      return ulist;
  }
  
--- 121,129 ----
  	}
      }
      delete flist;
!     if (firewall->IsA(SCENE_COMP)) {
!         RecurGetConflict(name, ulist, firewall, global);
!     }
      return ulist;
  }
  
***************
*** 128,136 ****
  void IBVarView::RecurGetConflict(
      const char* name, UList* ulist, InteractorComp* icomp, boolean global
  ) {
-     if (!global && icomp->IsA(MONOSCENE_CLASS)) {
-         return;
-     }
      Iterator i;
      for(icomp->First(i); !icomp->Done(i); icomp->Next(i)) {
  	InteractorComp* kid = (InteractorComp*) icomp->GetComp(i);
--- 130,135 ----
***************
*** 147,153 ****
  	    }
  	}
  	delete kidlist;
! 	RecurGetConflict(name, ulist, kid, global);
      }
  }
  
--- 146,156 ----
  	    }
  	}
  	delete kidlist;
!         if (!global && kid->IsA(MONOSCENE_CLASS)) {
!             return;
!         } else if (kid->IsA(SCENE_COMP)) {
!             RecurGetConflict(name, ulist, kid, global);
!         }
      }
  }