Bug 77483

Summary: Using XFocusListener to make modal control crashes LibreOffice
Product: LibreOffice Reporter: oz_dkj
Component: LibreOfficeAssignee: Not Assigned <libreoffice-bugs>
Status: RESOLVED WORKSFORME    
Severity: major CC: ilmari.lauhakangas, iplaw67
Priority: medium    
Version: 4.1.5.3 release   
Hardware: x86-64 (AMD64)   
OS: Windows (All)   
Whiteboard:
Crash report or crash signature: Regression By:
Attachments: Macro to be used in Calc when a single cell is selected.

Description oz_dkj 2014-04-15 12:30:19 UTC
Using a macro to create a listbox in a Calc spreadsheet with python. Aimed to destroy the control when the user moved away from it (ie make it modal) by listening to the XFocusListener event. The result is a crash of LibreOffice.

The control did have XChangeListener for functionality and XKeyListener to destroy the control and worked fine. This version has been stripped to just implement XFocusListener and remove as many references as possible but the problem persists.

Searching here and the web in general produced one other similar case - also using python (with XFocusListener and open office). I guess LO, pyuno or my code is not coping with multiple threads destroying at once.
Comment 1 oz_dkj 2014-04-15 12:32:58 UTC
Created attachment 97404 [details]
Macro to be used in Calc when a single cell is selected.
Comment 2 Buovjaga 2014-10-24 15:05:42 UTC
Doesn't crash here.
Tested on Win 7 64-bit 4.3.2.2 and dev build Version: 4.4.0.0.alpha1+
Build ID: 0a82645c360158f9cc0fdabe2a52f1ff8f981bed
TinderBox: Win-x86@39, Branch:master, Time: 2014-10-24_06:59:23

Can you please test on a newer version?
Comment 3 Alex Thurgood 2014-10-24 15:17:14 UTC
wfm on osx 10.10 with LO 4322
Comment 4 Buovjaga 2014-10-27 12:52:42 UTC
There was concern that there have been too many NEEDINFOs: http://lists.freedesktop.org/archives/libreoffice-qa/2014-October/007977.html
..so I am setting this and all other NEEDINFOs I created lately that work on the platforms I tested *that match the reported platform* to RESOLVED WORKSFORME.

I guarantee that none of my NEEDINFOs are set carelessly, but I will follow a more strict WORKSFORME policy from now on.