Re: Review Request 122978: Add unit test for crash of bug 343976

2015-03-17 Thread Martin Gräßlin

---
This is an automatically generated e-mail. To reply, visit:
https://git.reviewboard.kde.org/r/122978/
---

(Updated March 17, 2015, 7:06 a.m.)


Status
--

This change has been marked as submitted.


Review request for KDE Frameworks.


Changes
---

Submitted with commit a153c6ea5dd472d7f9e9e7fd208916f436efea4b by Martin 
Gräßlin to branch master.


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


Repository: frameworkintegration


Description
---

Use a QPointer for QMenu of SystemTrayMenu

We need better memory management as the QMenu the SystemTrayMenu creates
might be deleted externally causing a double delete if the so-far
QScopedPoiter cleans up.

Switch to QPointer and call deleteLater if the pointer is still valid
during destroying the SystemTrayMenu.

BUG: 343976
CHANGELOG: Fix possible crash when destroying a QSystemTrayIcon (triggered by 
Trojita)


Diffs
-

  autotests/CMakeLists.txt e8ed6a99bb45969231ba21b8c5588e093bbbe3ee 
  autotests/ksni_unittest.cpp PRE-CREATION 
  src/platformtheme/kdeplatformsystemtrayicon.h 
8f13a36ae7cebed7499ce8a160f3533665b909ac 
  src/platformtheme/kdeplatformsystemtrayicon.cpp 
ce3d3de9f9cf479a5fe3af65ef7fb8ec2b9e0d29 

Diff: https://git.reviewboard.kde.org/r/122978/diff/


Testing
---


Thanks,

Martin Gräßlin

___
Kde-frameworks-devel mailing list
Kde-frameworks-devel@kde.org
https://mail.kde.org/mailman/listinfo/kde-frameworks-devel


Re: Review Request 122978: Add unit test for crash of bug 343976

2015-03-16 Thread Marco Martin

---
This is an automatically generated e-mail. To reply, visit:
https://git.reviewboard.kde.org/r/122978/#review77586
---

Ship it!


Ship It!

- Marco Martin


On March 16, 2015, 12:04 p.m., Martin Gräßlin wrote:
> 
> ---
> This is an automatically generated e-mail. To reply, visit:
> https://git.reviewboard.kde.org/r/122978/
> ---
> 
> (Updated March 16, 2015, 12:04 p.m.)
> 
> 
> Review request for KDE Frameworks.
> 
> 
> Bugs: 343976
> https://bugs.kde.org/show_bug.cgi?id=343976
> 
> 
> Repository: frameworkintegration
> 
> 
> Description
> ---
> 
> Use a QPointer for QMenu of SystemTrayMenu
> 
> We need better memory management as the QMenu the SystemTrayMenu creates
> might be deleted externally causing a double delete if the so-far
> QScopedPoiter cleans up.
> 
> Switch to QPointer and call deleteLater if the pointer is still valid
> during destroying the SystemTrayMenu.
> 
> BUG: 343976
> CHANGELOG: Fix possible crash when destroying a QSystemTrayIcon (triggered by 
> Trojita)
> 
> 
> Diffs
> -
> 
>   autotests/CMakeLists.txt e8ed6a99bb45969231ba21b8c5588e093bbbe3ee 
>   autotests/ksni_unittest.cpp PRE-CREATION 
>   src/platformtheme/kdeplatformsystemtrayicon.h 
> 8f13a36ae7cebed7499ce8a160f3533665b909ac 
>   src/platformtheme/kdeplatformsystemtrayicon.cpp 
> ce3d3de9f9cf479a5fe3af65ef7fb8ec2b9e0d29 
> 
> Diff: https://git.reviewboard.kde.org/r/122978/diff/
> 
> 
> Testing
> ---
> 
> 
> Thanks,
> 
> Martin Gräßlin
> 
>

___
Kde-frameworks-devel mailing list
Kde-frameworks-devel@kde.org
https://mail.kde.org/mailman/listinfo/kde-frameworks-devel


Re: Review Request 122978: Add unit test for crash of bug 343976

2015-03-16 Thread Lukáš Tinkl

---
This is an automatically generated e-mail. To reply, visit:
https://git.reviewboard.kde.org/r/122978/#review77578
---


+1 from me

- Lukáš Tinkl


On Bře. 16, 2015, 1:04 odp., Martin Gräßlin wrote:
> 
> ---
> This is an automatically generated e-mail. To reply, visit:
> https://git.reviewboard.kde.org/r/122978/
> ---
> 
> (Updated Bře. 16, 2015, 1:04 odp.)
> 
> 
> Review request for KDE Frameworks.
> 
> 
> Bugs: 343976
> https://bugs.kde.org/show_bug.cgi?id=343976
> 
> 
> Repository: frameworkintegration
> 
> 
> Description
> ---
> 
> Use a QPointer for QMenu of SystemTrayMenu
> 
> We need better memory management as the QMenu the SystemTrayMenu creates
> might be deleted externally causing a double delete if the so-far
> QScopedPoiter cleans up.
> 
> Switch to QPointer and call deleteLater if the pointer is still valid
> during destroying the SystemTrayMenu.
> 
> BUG: 343976
> CHANGELOG: Fix possible crash when destroying a QSystemTrayIcon (triggered by 
> Trojita)
> 
> 
> Diffs
> -
> 
>   autotests/CMakeLists.txt e8ed6a99bb45969231ba21b8c5588e093bbbe3ee 
>   autotests/ksni_unittest.cpp PRE-CREATION 
>   src/platformtheme/kdeplatformsystemtrayicon.h 
> 8f13a36ae7cebed7499ce8a160f3533665b909ac 
>   src/platformtheme/kdeplatformsystemtrayicon.cpp 
> ce3d3de9f9cf479a5fe3af65ef7fb8ec2b9e0d29 
> 
> Diff: https://git.reviewboard.kde.org/r/122978/diff/
> 
> 
> Testing
> ---
> 
> 
> Thanks,
> 
> Martin Gräßlin
> 
>

___
Kde-frameworks-devel mailing list
Kde-frameworks-devel@kde.org
https://mail.kde.org/mailman/listinfo/kde-frameworks-devel


Re: Review Request 122978: Add unit test for crash of bug 343976

2015-03-16 Thread Emmanuel Pescosta

---
This is an automatically generated e-mail. To reply, visit:
https://git.reviewboard.kde.org/r/122978/#review77577
---



src/platformtheme/kdeplatformsystemtrayicon.cpp


unchecked m_menu


- Emmanuel Pescosta


On March 16, 2015, 1:04 p.m., Martin Gräßlin wrote:
> 
> ---
> This is an automatically generated e-mail. To reply, visit:
> https://git.reviewboard.kde.org/r/122978/
> ---
> 
> (Updated March 16, 2015, 1:04 p.m.)
> 
> 
> Review request for KDE Frameworks.
> 
> 
> Bugs: 343976
> https://bugs.kde.org/show_bug.cgi?id=343976
> 
> 
> Repository: frameworkintegration
> 
> 
> Description
> ---
> 
> Use a QPointer for QMenu of SystemTrayMenu
> 
> We need better memory management as the QMenu the SystemTrayMenu creates
> might be deleted externally causing a double delete if the so-far
> QScopedPoiter cleans up.
> 
> Switch to QPointer and call deleteLater if the pointer is still valid
> during destroying the SystemTrayMenu.
> 
> BUG: 343976
> CHANGELOG: Fix possible crash when destroying a QSystemTrayIcon (triggered by 
> Trojita)
> 
> 
> Diffs
> -
> 
>   autotests/CMakeLists.txt e8ed6a99bb45969231ba21b8c5588e093bbbe3ee 
>   autotests/ksni_unittest.cpp PRE-CREATION 
>   src/platformtheme/kdeplatformsystemtrayicon.h 
> 8f13a36ae7cebed7499ce8a160f3533665b909ac 
>   src/platformtheme/kdeplatformsystemtrayicon.cpp 
> ce3d3de9f9cf479a5fe3af65ef7fb8ec2b9e0d29 
> 
> Diff: https://git.reviewboard.kde.org/r/122978/diff/
> 
> 
> Testing
> ---
> 
> 
> Thanks,
> 
> Martin Gräßlin
> 
>

___
Kde-frameworks-devel mailing list
Kde-frameworks-devel@kde.org
https://mail.kde.org/mailman/listinfo/kde-frameworks-devel


Re: Review Request 122978: Add unit test for crash of bug 343976

2015-03-16 Thread Jan Kundrát

---
This is an automatically generated e-mail. To reply, visit:
https://git.reviewboard.kde.org/r/122978/#review77574
---

Ship it!


+2 from me -- it fixes a crash for me.

+I don't know the code and API asumptions to know whether it's better to just 
Q_ASSERT in the other methods (`setText` etc.), but even if it was better to 
assert crash, this patch does provide a big improvement :).

- Jan Kundrát


On March 16, 2015, 12:04 p.m., Martin Gräßlin wrote:
> 
> ---
> This is an automatically generated e-mail. To reply, visit:
> https://git.reviewboard.kde.org/r/122978/
> ---
> 
> (Updated March 16, 2015, 12:04 p.m.)
> 
> 
> Review request for KDE Frameworks.
> 
> 
> Bugs: 343976
> https://bugs.kde.org/show_bug.cgi?id=343976
> 
> 
> Repository: frameworkintegration
> 
> 
> Description
> ---
> 
> Use a QPointer for QMenu of SystemTrayMenu
> 
> We need better memory management as the QMenu the SystemTrayMenu creates
> might be deleted externally causing a double delete if the so-far
> QScopedPoiter cleans up.
> 
> Switch to QPointer and call deleteLater if the pointer is still valid
> during destroying the SystemTrayMenu.
> 
> BUG: 343976
> CHANGELOG: Fix possible crash when destroying a QSystemTrayIcon (triggered by 
> Trojita)
> 
> 
> Diffs
> -
> 
>   autotests/CMakeLists.txt e8ed6a99bb45969231ba21b8c5588e093bbbe3ee 
>   autotests/ksni_unittest.cpp PRE-CREATION 
>   src/platformtheme/kdeplatformsystemtrayicon.h 
> 8f13a36ae7cebed7499ce8a160f3533665b909ac 
>   src/platformtheme/kdeplatformsystemtrayicon.cpp 
> ce3d3de9f9cf479a5fe3af65ef7fb8ec2b9e0d29 
> 
> Diff: https://git.reviewboard.kde.org/r/122978/diff/
> 
> 
> Testing
> ---
> 
> 
> Thanks,
> 
> Martin Gräßlin
> 
>

___
Kde-frameworks-devel mailing list
Kde-frameworks-devel@kde.org
https://mail.kde.org/mailman/listinfo/kde-frameworks-devel


Re: Review Request 122978: Add unit test for crash of bug 343976

2015-03-16 Thread Martin Gräßlin

---
This is an automatically generated e-mail. To reply, visit:
https://git.reviewboard.kde.org/r/122978/
---

(Updated March 16, 2015, 1:04 p.m.)


Review request for KDE Frameworks.


Changes
---

Fix new issue


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


Repository: frameworkintegration


Description
---

Use a QPointer for QMenu of SystemTrayMenu

We need better memory management as the QMenu the SystemTrayMenu creates
might be deleted externally causing a double delete if the so-far
QScopedPoiter cleans up.

Switch to QPointer and call deleteLater if the pointer is still valid
during destroying the SystemTrayMenu.

BUG: 343976
CHANGELOG: Fix possible crash when destroying a QSystemTrayIcon (triggered by 
Trojita)


Diffs (updated)
-

  autotests/CMakeLists.txt e8ed6a99bb45969231ba21b8c5588e093bbbe3ee 
  autotests/ksni_unittest.cpp PRE-CREATION 
  src/platformtheme/kdeplatformsystemtrayicon.h 
8f13a36ae7cebed7499ce8a160f3533665b909ac 
  src/platformtheme/kdeplatformsystemtrayicon.cpp 
ce3d3de9f9cf479a5fe3af65ef7fb8ec2b9e0d29 

Diff: https://git.reviewboard.kde.org/r/122978/diff/


Testing
---


Thanks,

Martin Gräßlin

___
Kde-frameworks-devel mailing list
Kde-frameworks-devel@kde.org
https://mail.kde.org/mailman/listinfo/kde-frameworks-devel


Re: Review Request 122978: Add unit test for crash of bug 343976

2015-03-16 Thread Martin Gräßlin


> On March 16, 2015, 12:26 p.m., Jan Kundrát wrote:
> > This doesn't fix the problem triggered by Trojita:
> > 
> > ```
> > Program received signal SIGSEGV, Segmentation fault.
> > QWidget::removeAction (this=0x0, action=0x55bf88a0) at 
> > /var/tmp/portage/dev-qt/qtwidgets-5.5./work/qtwidgets-5.5./src/widgets/kernel/qwidget.cpp:3298
> > 3298
> > /var/tmp/portage/dev-qt/qtwidgets-5.5./work/qtwidgets-5.5./src/widgets/kernel/qwidget.cpp:
> >  No such file or directory.
> > (gdb) bt
> > #0  QWidget::removeAction (this=0x0, action=0x55bf88a0) at 
> > /var/tmp/portage/dev-qt/qtwidgets-5.5./work/qtwidgets-5.5./src/widgets/kernel/qwidget.cpp:3298
> > #1  0x7fffe792e1a0 in SystemTrayMenu::removeMenuItem 
> > (this=0x55cccd10, menuItem=)
> > at 
> > /var/tmp/portage/kde-frameworks/frameworkintegration-/work/frameworkintegration-/src/platformtheme/kdeplatformsystemtrayicon.cpp:96
> > #2  0x777a785f in QMenu::actionEvent (this=0x55ade210, 
> > e=)
> > at 
> > /var/tmp/portage/dev-qt/qtwidgets-5.5./work/qtwidgets-5.5./src/widgets/widgets/qmenu.cpp:3193
> > #3  0x7765f960 in QWidget::event (this=this@entry=0x55ade210, 
> > event=event@entry=0x7fffbc80)
> > at 
> > /var/tmp/portage/dev-qt/qtwidgets-5.5./work/qtwidgets-5.5./src/widgets/kernel/qwidget.cpp:9042
> > #4  0x777adb8b in QMenu::event (this=0x55ade210, 
> > e=0x7fffbc80) at 
> > /var/tmp/portage/dev-qt/qtwidgets-5.5./work/qtwidgets-5.5./src/widgets/widgets/qmenu.cpp:2650
> > #5  0x776104dc in QApplicationPrivate::notify_helper 
> > (this=this@entry=0x55a72090, receiver=receiver@entry=0x55ade210, 
> > e=e@entry=0x7fffbc80)
> > at 
> > /var/tmp/portage/dev-qt/qtwidgets-5.5./work/qtwidgets-5.5./src/widgets/kernel/qapplication.cpp:3716
> > #6  0x77615eba in QApplication::notify (this=0x7fffd4c0, 
> > receiver=0x55ade210, e=0x7fffbc80)
> > at 
> > /var/tmp/portage/dev-qt/qtwidgets-5.5./work/qtwidgets-5.5./src/widgets/kernel/qapplication.cpp:3499
> > #7  0x7440b9cd in QCoreApplication::notifyInternal 
> > (this=0x7fffd4c0, receiver=receiver@entry=0x55ade210, 
> > event=event@entry=0x7fffbc80)
> > at 
> > /var/tmp/portage/dev-qt/qtcore-5.5./work/qtcore-5.5./src/corelib/kernel/qcoreapplication.cpp:963
> > #8  0x77655ff9 in sendEvent (event=0x7fffbc80, 
> > receiver=0x55ade210) at 
> > ../../include/QtCore/../../../qtwidgets-5.5./src/corelib/kernel/qcoreapplication.h:228
> > #9  QWidget::removeAction (this=0x55ade210, 
> > action=action@entry=0x55c26fc0)
> > at 
> > /var/tmp/portage/dev-qt/qtwidgets-5.5./work/qtwidgets-5.5./src/widgets/kernel/qwidget.cpp:3305
> > #10 0x77603b51 in QAction::~QAction (this=0x55c26fc0, 
> > __in_chrg=)
> > at 
> > /var/tmp/portage/dev-qt/qtwidgets-5.5./work/qtwidgets-5.5./src/widgets/kernel/qaction.cpp:573
> > #11 0x77603cdf in QAction::~QAction (this=0x55c26fc0, 
> > __in_chrg=)
> > at 
> > /var/tmp/portage/dev-qt/qtwidgets-5.5./work/qtwidgets-5.5./src/widgets/kernel/qaction.cpp:592
> > #12 0x74441feb in QObjectPrivate::deleteChildren 
> > (this=this@entry=0x55cb6a10)
> > at 
> > /var/tmp/portage/dev-qt/qtcore-5.5./work/qtcore-5.5./src/corelib/kernel/qobject.cpp:1951
> > #13 0x7444d0dc in QObject::~QObject (this=, 
> > __in_chrg=)
> > at 
> > /var/tmp/portage/dev-qt/qtcore-5.5./work/qtcore-5.5./src/corelib/kernel/qobject.cpp:1031
> > #14 0x779fd62f in QSystemTrayIcon::~QSystemTrayIcon 
> > (this=0x55cc90a0, __in_chrg=)
> > at 
> > /var/tmp/portage/dev-qt/qtwidgets-5.5./work/qtwidgets-5.5./src/widgets/util/qsystemtrayicon.cpp:150
> > #15 0x555c39ac in Gui::MainWindow::removeSysTray 
> > (this=this@entry=0x7fffd570) at 
> > /home/jkt/work/prog/trojita/src/Gui/Window.cpp:795
> > #16 0x555d5f88 in Gui::MainWindow::slotShowSettings 
> > (this=0x7fffd570) at /home/jkt/work/prog/trojita/src/Gui/Window.cpp:1150
> > #17 0x555e51ca in Gui::MainWindow::qt_static_metacall 
> > (_o=, _c=, _id=, _a= > out>) at moc_Window.cpp:397
> > #18 0x74443bf8 in QMetaObject::activate 
> > (sender=sender@entry=0x55bc61a0, signalOffset=, 
> > local_signal_index=local_signal_index@entry=1, 
> > argv=argv@entry=0x7fffc110) at 
> > /var/tmp/portage/dev-qt/qtcore-5.5./work/qtcore-5.5./src/corelib/kernel/qobject.cpp:3718
> > #19 0x7315 in QMetaObject::activate 
> > (sender=sender@entry=0x55bc61a0, m=m@entry=0x77b96040 
> > , local_signal_index=local_signal_index@entry=1, 
> > argv=argv@entry=0x7fffc110) at 
> > /var/tmp/portage/dev-qt/qtcore-5.5./work/qtcore-5.5./src/corelib/kernel/qobject.cpp:3583
> > #20 0x77603e1f in QAction::triggered 
> > (this=this@entry=0x55bc61a0, _t1=false) at .

Re: Review Request 122978: Add unit test for crash of bug 343976

2015-03-16 Thread Jan Kundrát

---
This is an automatically generated e-mail. To reply, visit:
https://git.reviewboard.kde.org/r/122978/#review77566
---


This doesn't fix the problem triggered by Trojita:

```
Program received signal SIGSEGV, Segmentation fault.
QWidget::removeAction (this=0x0, action=0x55bf88a0) at 
/var/tmp/portage/dev-qt/qtwidgets-5.5./work/qtwidgets-5.5./src/widgets/kernel/qwidget.cpp:3298
3298
/var/tmp/portage/dev-qt/qtwidgets-5.5./work/qtwidgets-5.5./src/widgets/kernel/qwidget.cpp:
 No such file or directory.
(gdb) bt
#0  QWidget::removeAction (this=0x0, action=0x55bf88a0) at 
/var/tmp/portage/dev-qt/qtwidgets-5.5./work/qtwidgets-5.5./src/widgets/kernel/qwidget.cpp:3298
#1  0x7fffe792e1a0 in SystemTrayMenu::removeMenuItem (this=0x55cccd10, 
menuItem=)
at 
/var/tmp/portage/kde-frameworks/frameworkintegration-/work/frameworkintegration-/src/platformtheme/kdeplatformsystemtrayicon.cpp:96
#2  0x777a785f in QMenu::actionEvent (this=0x55ade210, e=)
at 
/var/tmp/portage/dev-qt/qtwidgets-5.5./work/qtwidgets-5.5./src/widgets/widgets/qmenu.cpp:3193
#3  0x7765f960 in QWidget::event (this=this@entry=0x55ade210, 
event=event@entry=0x7fffbc80)
at 
/var/tmp/portage/dev-qt/qtwidgets-5.5./work/qtwidgets-5.5./src/widgets/kernel/qwidget.cpp:9042
#4  0x777adb8b in QMenu::event (this=0x55ade210, e=0x7fffbc80) 
at 
/var/tmp/portage/dev-qt/qtwidgets-5.5./work/qtwidgets-5.5./src/widgets/widgets/qmenu.cpp:2650
#5  0x776104dc in QApplicationPrivate::notify_helper 
(this=this@entry=0x55a72090, receiver=receiver@entry=0x55ade210, 
e=e@entry=0x7fffbc80)
at 
/var/tmp/portage/dev-qt/qtwidgets-5.5./work/qtwidgets-5.5./src/widgets/kernel/qapplication.cpp:3716
#6  0x77615eba in QApplication::notify (this=0x7fffd4c0, 
receiver=0x55ade210, e=0x7fffbc80)
at 
/var/tmp/portage/dev-qt/qtwidgets-5.5./work/qtwidgets-5.5./src/widgets/kernel/qapplication.cpp:3499
#7  0x7440b9cd in QCoreApplication::notifyInternal 
(this=0x7fffd4c0, receiver=receiver@entry=0x55ade210, 
event=event@entry=0x7fffbc80)
at 
/var/tmp/portage/dev-qt/qtcore-5.5./work/qtcore-5.5./src/corelib/kernel/qcoreapplication.cpp:963
#8  0x77655ff9 in sendEvent (event=0x7fffbc80, 
receiver=0x55ade210) at 
../../include/QtCore/../../../qtwidgets-5.5./src/corelib/kernel/qcoreapplication.h:228
#9  QWidget::removeAction (this=0x55ade210, 
action=action@entry=0x55c26fc0)
at 
/var/tmp/portage/dev-qt/qtwidgets-5.5./work/qtwidgets-5.5./src/widgets/kernel/qwidget.cpp:3305
#10 0x77603b51 in QAction::~QAction (this=0x55c26fc0, 
__in_chrg=)
at 
/var/tmp/portage/dev-qt/qtwidgets-5.5./work/qtwidgets-5.5./src/widgets/kernel/qaction.cpp:573
#11 0x77603cdf in QAction::~QAction (this=0x55c26fc0, 
__in_chrg=)
at 
/var/tmp/portage/dev-qt/qtwidgets-5.5./work/qtwidgets-5.5./src/widgets/kernel/qaction.cpp:592
#12 0x74441feb in QObjectPrivate::deleteChildren 
(this=this@entry=0x55cb6a10)
at 
/var/tmp/portage/dev-qt/qtcore-5.5./work/qtcore-5.5./src/corelib/kernel/qobject.cpp:1951
#13 0x7444d0dc in QObject::~QObject (this=, 
__in_chrg=)
at 
/var/tmp/portage/dev-qt/qtcore-5.5./work/qtcore-5.5./src/corelib/kernel/qobject.cpp:1031
#14 0x779fd62f in QSystemTrayIcon::~QSystemTrayIcon 
(this=0x55cc90a0, __in_chrg=)
at 
/var/tmp/portage/dev-qt/qtwidgets-5.5./work/qtwidgets-5.5./src/widgets/util/qsystemtrayicon.cpp:150
#15 0x555c39ac in Gui::MainWindow::removeSysTray 
(this=this@entry=0x7fffd570) at 
/home/jkt/work/prog/trojita/src/Gui/Window.cpp:795
#16 0x555d5f88 in Gui::MainWindow::slotShowSettings 
(this=0x7fffd570) at /home/jkt/work/prog/trojita/src/Gui/Window.cpp:1150
#17 0x555e51ca in Gui::MainWindow::qt_static_metacall (_o=, _c=, _id=, _a=) at 
moc_Window.cpp:397
#18 0x74443bf8 in QMetaObject::activate 
(sender=sender@entry=0x55bc61a0, signalOffset=, 
local_signal_index=local_signal_index@entry=1, 
argv=argv@entry=0x7fffc110) at 
/var/tmp/portage/dev-qt/qtcore-5.5./work/qtcore-5.5./src/corelib/kernel/qobject.cpp:3718
#19 0x7315 in QMetaObject::activate 
(sender=sender@entry=0x55bc61a0, m=m@entry=0x77b96040 
, local_signal_index=local_signal_index@entry=1, 
argv=argv@entry=0x7fffc110) at 
/var/tmp/portage/dev-qt/qtcore-5.5./work/qtcore-5.5./src/corelib/kernel/qobject.cpp:3583
#20 0x77603e1f in QAction::triggered (this=this@entry=0x55bc61a0, 
_t1=false) at .moc/moc_qaction.cpp:363
#21 0x77607357 in QAction::activate (this=0x55bc61a0, 
event=)
at 
/var/tmp/portage/dev-qt/qtwidgets-5.5./work/qtwidgets-5.5.

Review Request 122978: Add unit test for crash of bug 343976

2015-03-16 Thread Martin Gräßlin

---
This is an automatically generated e-mail. To reply, visit:
https://git.reviewboard.kde.org/r/122978/
---

Review request for KDE Frameworks.


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


Repository: frameworkintegration


Description
---

Use a QPointer for QMenu of SystemTrayMenu

We need better memory management as the QMenu the SystemTrayMenu creates
might be deleted externally causing a double delete if the so-far
QScopedPoiter cleans up.

Switch to QPointer and call deleteLater if the pointer is still valid
during destroying the SystemTrayMenu.

BUG: 343976
CHANGELOG: Fix possible crash when destroying a QSystemTrayIcon (triggered by 
Trojita)


Diffs
-

  autotests/CMakeLists.txt e8ed6a99bb45969231ba21b8c5588e093bbbe3ee 
  autotests/ksni_unittest.cpp PRE-CREATION 
  src/platformtheme/kdeplatformsystemtrayicon.h 
8f13a36ae7cebed7499ce8a160f3533665b909ac 
  src/platformtheme/kdeplatformsystemtrayicon.cpp 
ce3d3de9f9cf479a5fe3af65ef7fb8ec2b9e0d29 

Diff: https://git.reviewboard.kde.org/r/122978/diff/


Testing
---


Thanks,

Martin Gräßlin

___
Kde-frameworks-devel mailing list
Kde-frameworks-devel@kde.org
https://mail.kde.org/mailman/listinfo/kde-frameworks-devel