| Summary: | Assertion when switching back to format tab in Field format during Table edition | ||
|---|---|---|---|
| Product: | LibreOffice | Reporter: | Julien Nabet <serval2412> |
| Component: | Base | Assignee: | Caolán McNamara <caolan.mcnamara> |
| Status: | VERIFIED FIXED | ||
| Severity: | normal | CC: | aron.budea, caolan.mcnamara, noelgrandin |
| Priority: | medium | Keywords: | haveBacktrace |
| Version: | 7.2.0.0.alpha0+ | ||
| Hardware: | x86-64 (AMD64) | ||
| OS: | Linux (All) | ||
| Whiteboard: | target:7.3.0 target:7.2.3 | ||
| Crash report or crash signature: | Regression By: | ||
| Bug Depends on: | |||
| Bug Blocks: | 105537 | ||
| Attachments: |
bt with debug symbols
bt with debug symbols |
||
|
Description
Julien Nabet
2020-12-06 20:05:50 UTC
Created attachment 167884 [details]
bt with debug symbols
It can be reproduced with a brand new embedded HSQLDB odb file. Confirmed using LO 7.2.0.0.alpha0+ (4400f3c46ce838d8ba304205f1d710dd4f9001dc) / Ubuntu. Created attachment 176050 [details] bt with debug symbols On pc Debian x86-64 with master sources updated today, I could reproduce the same assertion. Code pointer, the page is created from SbaSbAttrDlg::SbaSbAttrDlg (see https://opengrok.libreoffice.org/xref/core/dbaccess/source/ui/dlg/dlgattr.cxx?r=77af4cb9#36) + SbaSbAttrDlg::PageCreated Taking a look at the pool, we see only: (243, 245), (10086, 10086), (10580, 10580) 10580 = SID_ATTR_NUMBERFORMAT_ONE_AREA (see https://opengrok.libreoffice.org/xref/core/include/svx/svxids.hrc?r=04c7c90f#540) 86 must be SID_ATTR_NUMBERFORMAT_INFO (see https://opengrok.libreoffice.org/xref/core/include/svx/svxids.hrc?r=04c7c90f#233) they must be from SvxNumberFormatTabPage::pRanges (see https://opengrok.libreoffice.org/xref/core/cui/source/tabpages/numfmt.cxx?r=fa311ad6#59) Remark: 1) where do 243 and 245 come from? 2) why don't we see SID_ATTR_NUMBERFORMAT_NOLANGUAGE and SID_ATTR_NUMBERFORMAT_SOURCE in the pool whereas they're in SvxNumberFormatTabPage::pRanges Anyway, 11569 (which corresponds to SID_ATTR_ALIGN_HOR_JUSTIFY_METHOD) isn't in the pool and that's the main problem. Noel: it seems a pool pb but don't know how to tackle this.
I tried to provide the SID in:
SbaSbAttrDlg::PageCreated
51 void SbaSbAttrDlg::PageCreated(const OString& rPageId, SfxTabPage& rTabPage)
52 {
53 SfxAllItemSet aSet(*(GetInputSetImpl()->GetPool()));
54 if (rPageId == "format")
55 {
56 aSet.Put (SvxNumberInfoItem( pNumberInfoItem->GetNumberFormatter(), static_cast<sal_uInt16>(SID_ATTR_NUMBERFORMAT_INFO)));
57 rTabPage.PageCreated(aSet);
58 }
59 }
indeed, I think there should be an else case to provide alignment SID case but when I tried this but it seems the pool stays unmodified.
Caolán: trying to understand how the pool and SID worked, I noticed https://cgit.freedesktop.org/libreoffice/core/commit/?id=2f13f0693de4c301898f304999225738334aadb0 tdf#129300 If it would create no change, don't force it otherwise a bogus "change" from the parent style is shown in the organizer... I don't consider it as the root cause but rather as a patch which revealed a pb (like Noel's patches about typing SID constants). Indeed, it seems there are different SID for aligment part and what worked for sc module seems to not work for dbaccess (see my previous comments). I feel this originates at commit 755ad6834625488c5d31d4bacc9370eae7ffd8f3 Date: Tue Oct 5 11:15:56 2010 -0400 Ported calc-distributed-cell-text-*.diff from ooo-build. where a new calc feature was added, and this dialog is also used in this base case but the feature doesn't exist there So I think the "distributed" option shouldn't be available in this dialog from base (but it should continue to appear in calc) and this special handling should be skipped if the option is unavailable. https://gerrit.libreoffice.org/c/core/+/124552 Caolán McNamara committed a patch related to this issue. It has been pushed to "master": https://git.libreoffice.org/core/commit/2bd6876f0f4596eb4ffad1109ca0c2896f9bda84 tdf#138698 remove/ignore 'distributed' if feature is unknown It will be available in 7.3.0. The patch should be included in the daily builds available at https://dev-builds.libreoffice.org/daily/ in the next 24-48 hours. More information about daily builds can be found at: https://wiki.documentfoundation.org/Testing_Daily_Builds Affected users are encouraged to test the fix and report feedback. done in trunk, backport to 7-2 in gerrit Since I could already test it, let's put this one to VERIFIED Caolán McNamara committed a patch related to this issue. It has been pushed to "libreoffice-7-2": https://git.libreoffice.org/core/commit/2c59baecb325211e5f01878b517265ce658de4fc tdf#138698 remove/ignore 'distributed' if feature is unknown It will be available in 7.2.3. The patch should be included in the daily builds available at https://dev-builds.libreoffice.org/daily/ in the next 24-48 hours. More information about daily builds can be found at: https://wiki.documentfoundation.org/Testing_Daily_Builds Affected users are encouraged to test the fix and report feedback. |