Live Editing broken in 5.12.8/9 upstream
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
qtwebengine-opensource-src (Ubuntu) |
Fix Released
|
Undecided
|
Unassigned | ||
Focal |
Fix Released
|
Undecided
|
Unassigned |
Bug Description
Ubuntu 20.04 LTS
[Impact]
QtWebEngine bad chrome 77->69 cherry-pick bug broke live editing in Qt 5.12.8 and Qt 5.12.9. The bad merge breaks styled markup traverse by accidentally inverting condition. Results in loss of content under certain conditions.
Bug acknowledged: https:/
Official patch-set to fix: https:/
Please consider cherry-picking this official patch, so that the latest Ubuntu LTS release does not break apps that rely upon QtWebEngine's live-editing capabilities
I co-maintain some open-source ebook editing software (https:/
This all works in Qt5.12.7 and earlier, but when using Ubuntu 20.04's 5.12.8 QWebEngine packages, the highlighted content is deleted and an empty list is created (as per the aforementioned Qt bug confirmed and patched by Qt).
[Test Case]
I've attached a small, focused, Qt project that clearly demonstrates the issue. It can be built with the standard qmake / make commands which will build a liveedit binary that loads a local xhtml file in a QWebView for editing.
If you want to load your own local html file or a remote url, just pass the url as a parameter to ./liveedit:
./liveedit file://
./liveedit https:/
Otherwise, no parameter means the included xhtml file will be loaded.
Once loaded, highlight all the paragraphs and use the "Tools->Create List from selection" menu action to edit the rendered content.
Qt5.12.7 and earlier will correctly create a list from the highlighted paragraphs (as will Qt5.14.x and later), but Qt5.12.8/9 will incorrectly delete the highlighted content and create an empty list (as per the aforementioned Qt bug confirmed and patched by Qt).
[Regression Potential]
This fixes the condition in the if/else block and restores the order that was present in earlier Qt 5.12.x releases, e.g. in Ubuntu Eoan which has 5.12.4. So the potential for regressions is minimal, and any potential regression will be related to live editing.
Changed in qtwebengine-opensource-src (Ubuntu Focal): | |
status: | New → In Progress |
Thanks for the heads up! I will fix it.