| Summary: | Crash when closing "3D View" dialog | ||
|---|---|---|---|
| Product: | LibreOffice | Reporter: | Regina Henschel <rb.henschel> |
| Component: | Chart | Assignee: | Caolán McNamara <caolan.mcnamara> |
| Status: | VERIFIED FIXED | ||
| Severity: | normal | CC: | caolan.mcnamara, serval2412, xiscofauli |
| Priority: | medium | Keywords: | haveBacktrace |
| Version: | 24.8.0.0 alpha0+ | ||
| Hardware: | All | ||
| OS: | All | ||
| See Also: | https://crashreport.libreoffice.org/stats/signature/vcl::Window::Invalidate(InvalidateFlags) | ||
| Whiteboard: | target:24.8.0 target:24.2.2 | ||
| Crash report or crash signature: | ["signature/vcl::Window::Invalidate(InvalidateFlags)"] | Regression By: | |
| Attachments: |
Document with 3D bar chart to reproduce the crash
bt with gen rendering |
||
|
Description
Regina Henschel
2024-02-25 17:08:59 UTC
Created attachment 192761 [details]
bt with gen rendering
On pc Debian x86-64 with master sources updated today, I could reproduce this with gen and kf5 renderings but not with gtk3.
I noticed that this line on gtk3 always returned false: if(pPaintWindow->OutputToWindow()) Taking a look at SdrPaintWindow ctr, I see: 247 mbOutputToWindow(OUTDEV_WINDOW == mpOutputDevice->GetOutDevType()) (see https://opengrok.libreoffice.org/xref/core/svx/source/svdraw/sdrpaintwindow.cxx?r=9a71ac68#247) With gtk3, it's OUTDEV_VIRDEV, that's why pPaintWindow->OutputToWindow() returns false and so we don't call InvalidateOneWin On gdb, I changed the value to true just for the test and I could reproduce the crash too with gtk3. Caolán: any idea here? I think the widget this draws to gets destroyed before it does, and that's why this problem arises. Then for gtk its an intermediate VirtualDevice that we draw to, so the Invalidate issue doesn't arise, but the underlying dtor ordering still exists. Simplest thing seem to be to basically just drop the problematic "pageview" at the start of the top dtor. https://gerrit.libreoffice.org/c/core/+/164295 Caolán McNamara committed a patch related to this issue. It has been pushed to "master": https://git.libreoffice.org/core/commit/217d918491398f68b826d7fa031d4cb84c1da8db Resolves: tdf#159879 Crash when closing "3D View" dialog It will be available in 24.8.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 24.02 in gerrit Caolán McNamara committed a patch related to this issue. It has been pushed to "libreoffice-24-2": https://git.libreoffice.org/core/commit/289772c27fd523df545262614fb31d90314326df Resolves: tdf#159879 Crash when closing "3D View" dialog It will be available in 24.2.2. 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. On pc Debian x86-64 with master sources updated today (including Caolán's patch), I confirm I don't reproduce the crash anymore. Thank you for the fix Caolán! :-) Xisco Fauli committed a patch related to this issue. It has been pushed to "master": https://git.libreoffice.org/core/commit/22e97c90cb6334fd58bc856ab025291cb32b48d1 related: tdf#159879: test chart dialogs It will be available in 24.8.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. |