Joost Verburg wrote:
> I don't know when the bug was introduced, I'm very busy updating the
> Windows installer.
> However I got at least 20 table crashes while editing a report of a few
> pages, so it is likely a new bug (or nobody used tables recently?).

I believe it's an old one. And I believe the attached patch fixes it (only the 
second change is relevant. The first one -- in doDispatch -- is the fix for 
another bug. I don't have a clean tree around).

Please test.

Jürgen
Index: src/insets/insettabular.C
===================================================================
--- src/insets/insettabular.C	(Revision 15069)
+++ src/insets/insettabular.C	(Arbeitskopie)
@@ -474,7 +474,8 @@ void InsetTabular::doDispatch(LCursor & 
 		//lyxerr << "# InsetTabular::MousePress\n" << cur.bv().cursor() << endl;
 
 		if (cmd.button() == mouse_button::button1 
-		    || cmd.button() == mouse_button::button3) {
+		    || (cmd.button() == mouse_button::button3 
+			&& (&bvcur.selBegin().inset() != this || !tablemode(bvcur)))) {
 			cur.selection() = false;
 			setCursorFromCoordinates(cur, cmd.x, cmd.y);
 			cur.resetAnchor();
@@ -1757,6 +1758,7 @@ void InsetTabular::cutSelection(LCursor 
 	}
 
 	// cursor position might be invalid now
+	cur.pit() = cur.lastpit();
 	cur.pos() = cur.lastpos();
 	cur.clearSelection();
 }

Reply via email to