]> git.lyx.org Git - features.git/commitdiff
Fix horizontal scrolling in full-width collapsable insets
authorJean-Marc Lasgouttes <lasgouttes@lyx.org>
Fri, 22 Apr 2016 10:11:00 +0000 (12:11 +0200)
committerRichard Heck <rgheck@lyx.org>
Sun, 29 May 2016 21:55:42 +0000 (17:55 -0400)
While a one paragraph large collapsable inset (containing for example a tabular) could be very wide and trigger horizontal scrolling, the code that makes collapsable insets wide when they contain several paragraphs would actually make them narrower in this case.

Typical example is a wide tabular and a caption in a table float, where horizontal scrolling would not trigger.

src/TextMetrics.cpp

index 810b21a584fcedbf6b59d3ea06ad22b1749a4f93..816f4bacd6115d741dce60cee8a3b7dee569900c 100644 (file)
@@ -448,7 +448,7 @@ bool TextMetrics::redoParagraph(pit_type const pit)
                setRowHeight(row, pit);
                row.setChanged(false);
                if (row_index || row.endpos() < par.size()
-                       || (row.right_boundary() && par.inInset().lyxCode() != CELL_CODE))
+                   || (row.right_boundary() && par.inInset().lyxCode() != CELL_CODE)) {
                        /* If there is more than one row or the row has been
                         * broken by a display inset or a newline, expand the text
                         * to the full allowable width. This setting here is
@@ -458,7 +458,9 @@ bool TextMetrics::redoParagraph(pit_type const pit)
                         * that, and it triggers when using a caption in a
                         * longtable (see bugs #9945 and #9757).
                         */
-                       dim_.wid = max_width_;
+                       if (dim_.wid < max_width_)
+                               dim_.wid = max_width_;
+               }
                int const max_row_width = max(dim_.wid, row.width());
                computeRowMetrics(pit, row, max_row_width);
                first = row.endpos();