I think this patch is correct and the old code was wrong. An explanation is in the ChangeLog.
After Juergen/Lars/someone checks it, please apply ! Not sure about the InsetTabular code - that looks weird too, and might account for this : http://sourceforge.net/tracker/index.php?func=detail&aid=451273&group_id=15212&atid=115212 which still happens. thanks john -- "We are all in the gutter, but some of us are looking at the pavement." - Morrissey
Index: src/insets/ChangeLog =================================================================== RCS file: /usr/local/lyx/cvsroot/lyx-devel/src/insets/ChangeLog,v retrieving revision 1.234 diff -u -r1.234 ChangeLog --- src/insets/ChangeLog 2001/11/29 17:12:20 1.234 +++ src/insets/ChangeLog 2001/12/01 05:13:24 @@ -1,3 +1,8 @@ +2001-12-01 John Levon <[EMAIL PROTECTED]> + + * insettext.C: update the requested inset even if the insettext + doesn't have a locking inset. Just because a "child" inset + hasn't locked doesn't mean it doesn't need updating ! Bug #432756 2001-11-29 André Pönitz <[EMAIL PROTECTED]> Index: src/insets/insettext.C =================================================================== RCS file: /usr/local/lyx/cvsroot/lyx-devel/src/insets/insettext.C,v retrieving revision 1.222 diff -u -r1.222 insettext.C --- src/insets/insettext.C 2001/11/29 17:12:20 1.222 +++ src/insets/insettext.C 2001/12/01 05:13:28 @@ -835,9 +835,7 @@ bool InsetText::updateInsetInInset(BufferView * bv, Inset * inset) { - if (!the_locking_inset) - return false; - if (the_locking_inset != inset) { + if (the_locking_inset && the_locking_inset != inset) { getLyXText(bv)->updateInset(bv, the_locking_inset); setUpdateStatus(bv, CURSOR_PAR); return the_locking_inset->updateInsetInInset(bv, inset);