diff options
author | Paul Wicking <paul.wicking@qt.io> | 2023-08-08 12:28:28 +0200 |
---|---|---|
committer | Paul Wicking <paul.wicking@qt.io> | 2023-10-15 19:11:00 +0200 |
commit | 6417a2ff270cd9e2651d4f2ffd71e380babc4827 (patch) | |
tree | 973406c5947bfe3ea53118e05e36dd24990444be /examples/linguist/trollprint/trollprint.pro | |
parent | e714badd9673b49859c2448e9432a4dea311f240 (diff) |
Don't let CMD_VALUE break CMD_TABLE6.5
In QDoc, if a `\table` command follows a (list of) `\value` command(s),
the content of both commands is merged in QDoc's HTML output. This
means the table ends up broken. A workaround exists, which is to add a
`\br` command to insert an explicit line break after the `\value` entry.
This (mis-)behavior was discovered in the documentation for Qt Quick's
`Image.fillMode` enumeration (see related Jira issue in the Task-Number
footer.
The responsible class in QDoc is DocParser. In the handling of
`CMD_TABLE`, there's no call to `DocParser::leaveValueList()`, as is a
recurring pattern in four other contexts of DocParser's command
handling:
- After the while/switch in `Docparser::parse()` - presumably an attempt
at ensuring it's always called, that doesn't seem to work satisfactory.
- At the start of `DocParser::startSection`.
- In a conditional at the top of `DocParser::startPara`.
- At the start of handling `CMD_IMAGE`.
This patch adds a test case in tst_generatedOutput that reproduces the
circumstances in which the issue could present itself. QDoc is modified
by adding a call to `DocParser::leaveValueList() upon entering the code
responsible for handling `CMD_TABLE` ensures correct behavior, where
HTML for the value list is terminated properly before creating the new
table for the table command.
Task-number: QTBUG-115537
Fixes: QTBUG-115720
Change-Id: I06c9c25b4ff792621d56e5eb802178cfd376f8c3
Reviewed-by: Topi Reiniƶ <topi.reinio@qt.io>
(cherry picked from commit 23fd844bf85f1742751b960fd32e8da4e16fc793)
Reviewed-by: Paul Wicking <paul.wicking@qt.io>
Diffstat (limited to 'examples/linguist/trollprint/trollprint.pro')
0 files changed, 0 insertions, 0 deletions