Attached. Fix along the lines of my bugzilla remark.

I am not quite sure about the definition of leftEdgeFixed... please
someone better informed refine this.

- Martin

Index: rowpainter.C
===================================================================
--- rowpainter.C	(revision 16200)
+++ rowpainter.C	(working copy)
@@ -893,6 +893,12 @@
 		bool cursor_on_row = CursorOnRow(pi, pit, rit, text);
 		bool in_inset_alone_on_row = innerCursorOnRow(pi, pit, rit,
 			text);
+		bool leftEdgeFixed = 
+			(par.getAlign() == LYX_ALIGN_LEFT ||
+			 par.getAlign() == LYX_ALIGN_BLOCK ||
+			(par.getAlign() == LYX_ALIGN_LAYOUT &&
+		 		(par.layout()->align == LYX_ALIGN_LEFT || 
+				 par.layout()->align == LYX_ALIGN_BLOCK)));
 
 		// If this is the only object on the row, we can make it wide
 		//
@@ -905,7 +911,7 @@
 			if (in) {
 				InsetText * t = const_cast<InsetText *>(in->asTextInset());
 				if (t)
-					t->setWide(in_inset_alone_on_row);
+					t->setWide(in_inset_alone_on_row && leftEdgeFixed);
 			}
 		}
 
@@ -924,7 +930,8 @@
 			// Clear background of this row
 			// (if paragraph background was not cleared)
 			if (!repaintAll &&
-			    (!in_inset_alone_on_row || row_has_changed)) {
+			    (!(in_inset_alone_on_row && leftEdgeFixed) 
+				|| row_has_changed)) {
 				pi.pain.fillRectangle(x, y - rit->ascent(),
 				    text.maxwidth_, rit->height(),
 				    text.backgroundColor());

Attachment: signature.asc
Description: This is a digitally signed message part

Reply via email to