https://bugs.kde.org/show_bug.cgi?id=491769

Louis Moureaux <m_loui...@yahoo.com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
           Platform|Compiled Sources            |Neon
            Product|kontact                     |kdepim
            Version|6.1.2                       |6.2.1
          Component|general                     |libkdepim

--- Comment #1 from Louis Moureaux <m_loui...@yahoo.com> ---
Still present in 6.2.1. Steps to reproduce:

1. Start Kontact (kmail view)
2. Run "akonadictl restart" from the shell
3. Quit Kontact
4. Kontact aborts

I narrowed this crash down to a bug in KPIM::ProgressDialog:
1. ProgressDialog has a child TransactionItemView object
2. In ProgressDialog::slotTransactionCompleted(), a TransactionItem's
destroyed() signal is connected to TransactionItemView::slotLayoutFirstItem on
the view
3. The view owns the item (recursively through multiple objects)
4. When the view is deleted, the view's destructor runs first
5. At this point the object is no longer a valid TransactionItemView
6. The QObject destructor runs and deletes children
7. The TransactionItem gets deleted
8. TransactionItem emits its destroyed() signal
9. TransactionItemView::slotLayoutFirstItem gets called on the now-deleted view
10. Qt asserts

I'm not sure how to fix. This might have worked only by chance in the past (if
Qt wouldn't detect it it would be UB).

-- 
You are receiving this mail because:
You are watching all bug changes.

Reply via email to