Jean-Marc Lasgouttes wrote:
> I am ready to apply patches to reLyX in 1.3.x as long as they are
> low-risk.
OK, not reLyX, but here is a safe and well-tested one (bug 849). Please apply
to 1.3 and 1.4
Thanks,
J�rgen.
P.S.: I am really interested in fixing bugs in the stable series, as long as
time permits.
Index: src/frontends/qt2/ChangeLog
===================================================================
RCS file: /cvs/lyx/lyx-devel/src/frontends/qt2/ChangeLog,v
retrieving revision 1.389
diff -u -r1.389 ChangeLog
--- src/frontends/qt2/ChangeLog 2003/02/05 23:24:38 1.389
+++ src/frontends/qt2/ChangeLog 2003/02/07 11:32:26
@@ -1,3 +1,8 @@
+2003-02-07 Juergen Spitzmueller <[EMAIL PROTECTED]>
+
+ * QTabular.C (closeGUI): do not change if nothing has to
+ be changed (bug 849).
+
2003-02-05 John Levon <[EMAIL PROTECTED]>
* QLPrintDialog.C: fix braindead "helpful" code
Index: src/frontends/qt2/QTabular.C
===================================================================
RCS file: /cvs/lyx/lyx-devel/src/frontends/qt2/QTabular.C,v
retrieving revision 1.10
diff -u -r1.10 QTabular.C
--- src/frontends/qt2/QTabular.C 2002/12/17 20:37:10 1.10
+++ src/frontends/qt2/QTabular.C 2003/02/07 11:32:27
@@ -328,17 +328,20 @@
// apply the fixed width values
int cell = inset->getActCell();
- string str1 = LyXLength(dialog_->widthED->text().toDouble(),
- dialog_->widthUnit->currentLengthItem()).asString();
+ bool const multicol(controller().isMulticolumnCell());
+ string str1 = widgetsToLength(dialog_->widthED, dialog_->widthUnit);
string str2;
+
LyXLength llen(tabular->GetColumnPWidth(cell));
- if (llen.zero())
- str2 = "";
- else
- str2 = llen.asString();
+ LyXLength llenMulti(tabular->GetMColumnPWidth(cell));
+
+ if (multicol && !llenMulti.zero())
+ str2 = llenMulti.asString();
+ else if (!multicol && !llen.zero())
+ str2 = llen.asString();
if (str1 != str2) {
- if (controller().isMulticolumnCell())
+ if (multicol)
controller().set(LyXTabular::SET_MPWIDTH, str1);
else
controller().set(LyXTabular::SET_PWIDTH, str1);
@@ -346,13 +349,13 @@
// apply the special alignment
str1 = fromqstr(dialog_->specialAlignmentED->text());
- if (controller().isMulticolumnCell())
+ if (multicol)
str2 = tabular->GetAlignSpecial(cell, LyXTabular::SET_SPECIAL_MULTI);
else
str2 = tabular->GetAlignSpecial(cell, LyXTabular::SET_SPECIAL_COLUMN);
if (str1 != str2) {
- if (controller().isMulticolumnCell())
+ if (multicol)
controller().set(LyXTabular::SET_SPECIAL_MULTI, str1);
else
controller().set(LyXTabular::SET_SPECIAL_COLUMN, str1);