Bug 132143 - CRASH using Ctrl+End in Object Catalog
Summary: CRASH using Ctrl+End in Object Catalog
Status: VERIFIED FIXED
Alias: None
Product: LibreOffice
Classification: Unclassified
Component: BASIC (show other bugs)
Version:
(earliest affected)
7.0.0.0.alpha0+
Hardware: All All
: medium normal
Assignee: Caolán McNamara
URL:
Whiteboard: target:7.0.0
Keywords: bibisected, bisected, haveBacktrace, regression
Depends on:
Blocks:
 
Reported: 2020-04-16 07:46 UTC by Mike Kaganski
Modified: 2020-04-28 10:27 UTC (History)
4 users (show)

See Also:
Crash report or crash signature:


Attachments
gdb bt (9.53 KB, text/plain)
2020-04-16 08:10 UTC, Julien Nabet
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Mike Kaganski 2020-04-16 07:46:50 UTC
1. Open LibreOffice; create a new document (e.g., a text document, or a spreadsheet)
2. Tools->Macros->Edit Macros

  => the cursor is automatically in Object Catalog's "My Macros & Dialogs/Standard/Module1"

3. Press Ctrl+End

  => CRASH.

When bisecting, sometimes in bad builds, on Ctrl+Enter it moved to the last entry Untitled 1's "Standard" subelement; collapcing it, then selecting initial node again, and repeating Ctrl+End crashed it. In good builds, it always moved to Untitled 1 without expanding it.

Regression after https://git.libreoffice.org/core/+/1ac2c003a237af28132d34946f76b57652e20a47

> author	Caolán McNamara <caolanm@redhat.com>	Tue Feb 11 12:15:00 2020 +0000
> weld ObjectCatalog

The problem seems to be that when it moved to the last entry, it selected that entry in SvImpLBox::m_pCursor, then detected that it's dummy entry in IMPL_LINK_NOARG(SalInstanceTreeView, ExpandingHdl, SvTreeListBox*, bool), deleted it (but the m_pCursor in m_xTreeView->pImpl was kept)...
Comment 1 Mike Kaganski 2020-04-16 07:54:23 UTC
Forgot to mention that it was experienced and bibisected on Windows.
Comment 2 Julien Nabet 2020-04-16 08:10:45 UTC
Created attachment 159613 [details]
gdb bt

On pc Debian x86-64 with master sources updated today, I could reproduce this with gen rendering (not with gtk3)
Comment 3 Commit Notification 2020-04-25 15:51:22 UTC
Caolán McNamara committed a patch related to this issue.
It has been pushed to "master":

https://git.libreoffice.org/core/commit/2e20bf9c6ce56596477f661b33524ac00bd6dcd5

Resolves: tdf#132143 make placeholder nodes unselectable

It will be available in 7.0.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.
Comment 4 Caolán McNamara 2020-04-25 20:45:48 UTC
should be ok in master now again
Comment 5 Xisco Faulí 2020-04-28 10:27:20 UTC
Verified in

Version: 7.0.0.0.alpha0+
Build ID: 4ba1909f12b49f020195b5e767045340717ce6df
CPU threads: 4; OS: Linux 4.19; UI render: default; VCL: x11; 
Locale: en-US (en_US.UTF-8); UI-Language: en-US
Calc: threaded

@Caolán, thanks for fixing this issue!!