]> git.lyx.org Git - lyx.git/blobdiff - src/insets/InsetTabular.cpp
do not use cells without decimals when calculating column widths and cell text offsets
[lyx.git] / src / insets / InsetTabular.cpp
index f647c00cb76e00c7283a030f7eb4d206f0e6a561..fe9b95b962bd64eb98a18a4542a1249bdc977a39 100644 (file)
@@ -961,12 +961,14 @@ bool Tabular::updateColumnWidths()
                int new_width = 0;
                for(row_type r = 0; r < nrows(); ++r) {
                        idx_type const i = cellIndex(r, c);
-                       if (columnSpan(i) == 1)
-                               if (getAlignment(i) == LYX_ALIGN_DECIMAL)
+                       if (columnSpan(i) == 1) {
+                               if (getAlignment(i) == LYX_ALIGN_DECIMAL
+                                       && cell_info[r][c].decimal_width!=0)
                                        new_width = max(new_width, cellInfo(i).width 
                                                + max_dwidth[c] - cellInfo(i).decimal_width);
                                else
                                        new_width = max(new_width, cellInfo(i).width);
+                       }
                }
 
                if (column_info[c].width != new_width) {
@@ -1270,7 +1272,8 @@ int Tabular::textHOffset(idx_type cell) const
                int max_dhoffset = 0;
                for(row_type r = 0; r < row_info.size() ; ++r) {
                        idx_type const i = cellIndex(r, c);
-                       if (getAlignment(i) == LYX_ALIGN_DECIMAL)
+                       if (getAlignment(i) == LYX_ALIGN_DECIMAL
+                               && cellInfo(i).decimal_width != 0)
                                max_dhoffset = max(max_dhoffset, cellInfo(i).decimal_hoffset);
                }
                x += max_dhoffset - cellInfo(cell).decimal_hoffset;