Path: utzoo!attcan!uunet!samsung!usc!ucsd!ucbvax!parc.xerox.com!janssen From: janssen@parc.xerox.com Newsgroups: comp.soft-sys.andrew Subject: view_FullUpdate(view, view_Remove, ...) Message-ID: <9005282347.AA11862@holmes.parc.xerox.com> Date: 28 May 90 23:47:58 GMT Sender: daemon@ucbvax.BERKELEY.EDU Organization: The Internet Lines: 22 I'm working on an inset view which parents an X window on top of the xim window. To manage this inset properly, it must get view_Remove `events' properly. I notice that when I embed my inset in a text object, visit the text object with ez, and then switch to another buffer in the same window, the inset does not get a call to view_FullUpdate(view, view_Remove, ...) until one switches *back* to the buffer, in which case one receives the view_Remove, followed immediately by a sequence which corresponds to the non-existent view_Emplace. When one scrolls the text in which my inset is embedded, it receives view_Remove properly. It seems from the code that someone is responsible for calling FullUpdate on textview, with type == view_Remove. What's actually happening is that buffer_RemoveView is being called, which in turn calls view_UnlinkTree, which in turn calls view_LinkTree. It seems to me that view_LinkTree should, when called with a parent of NULL, call view_FullUpdate on itself with a type of view_Remove. Comments? Bill