<html>
<body>
<div style="font-family: Verdana, Arial, Helvetica, Sans-Serif;">
<table bgcolor="#f9f3c9" width="100%" cellpadding="12" style="border: 1px #c9c399 solid; border-radius: 6px; -moz-border-radius: 6px; -webkit-border-radius: 6px;">
<tr>
<td>
This is an automatically generated e-mail. To reply, visit:
<a href="https://git.reviewboard.kde.org/r/122978/">https://git.reviewboard.kde.org/r/122978/</a>
</td>
</tr>
</table>
<br />
<blockquote style="margin-left: 1em; border-left: 2px solid #d0d0d0; padding-left: 10px;">
<p style="margin-top: 0;">On March 16th, 2015, 12:26 p.m. CET, <b>Jan Kundrát</b> wrote:</p>
<blockquote style="margin-left: 1em; border-left: 2px solid #d0d0d0; padding-left: 10px;">
<pre style="white-space: pre-wrap; white-space: -moz-pre-wrap; white-space: -pre-wrap; white-space: -o-pre-wrap; word-wrap: break-word;"><p style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: inherit;">This doesn't fix the problem triggered by Trojita:</p>
<p style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: inherit;"><div class="codehilite" style="background: #f8f8f8"><pre style="line-height: 125%">Program received signal SIGSEGV, Segmentation fault.
QWidget::removeAction (this=0x0, action=0x555555bf88a0) at /var/tmp/portage/dev-qt/qtwidgets-5.5.9999/work/qtwidgets-5.5.9999/src/widgets/kernel/qwidget.cpp:3298
3298 /var/tmp/portage/dev-qt/qtwidgets-5.5.9999/work/qtwidgets-5.5.9999/src/widgets/kernel/qwidget.cpp: No such file or directory.
(gdb) bt
#0 QWidget::removeAction (this=0x0, action=0x555555bf88a0) at /var/tmp/portage/dev-qt/qtwidgets-5.5.9999/work/qtwidgets-5.5.9999/src/widgets/kernel/qwidget.cpp:3298
#1 0x00007fffe792e1a0 in SystemTrayMenu::removeMenuItem (this=0x555555cccd10, menuItem=<optimized out>)
at /var/tmp/portage/kde-frameworks/frameworkintegration-9999/work/frameworkintegration-9999/src/platformtheme/kdeplatformsystemtrayicon.cpp:96
#2 0x00007ffff77a785f in QMenu::actionEvent (this=0x555555ade210, e=<optimized out>)
at /var/tmp/portage/dev-qt/qtwidgets-5.5.9999/work/qtwidgets-5.5.9999/src/widgets/widgets/qmenu.cpp:3193
#3 0x00007ffff765f960 in QWidget::event (this=this@entry=0x555555ade210, event=event@entry=0x7fffffffbc80)
at /var/tmp/portage/dev-qt/qtwidgets-5.5.9999/work/qtwidgets-5.5.9999/src/widgets/kernel/qwidget.cpp:9042
#4 0x00007ffff77adb8b in QMenu::event (this=0x555555ade210, e=0x7fffffffbc80) at /var/tmp/portage/dev-qt/qtwidgets-5.5.9999/work/qtwidgets-5.5.9999/src/widgets/widgets/qmenu.cpp:2650
#5 0x00007ffff76104dc in QApplicationPrivate::notify_helper (this=this@entry=0x555555a72090, receiver=receiver@entry=0x555555ade210, e=e@entry=0x7fffffffbc80)
at /var/tmp/portage/dev-qt/qtwidgets-5.5.9999/work/qtwidgets-5.5.9999/src/widgets/kernel/qapplication.cpp:3716
#6 0x00007ffff7615eba in QApplication::notify (this=0x7fffffffd4c0, receiver=0x555555ade210, e=0x7fffffffbc80)
at /var/tmp/portage/dev-qt/qtwidgets-5.5.9999/work/qtwidgets-5.5.9999/src/widgets/kernel/qapplication.cpp:3499
#7 0x00007ffff440b9cd in QCoreApplication::notifyInternal (this=0x7fffffffd4c0, receiver=receiver@entry=0x555555ade210, event=event@entry=0x7fffffffbc80)
at /var/tmp/portage/dev-qt/qtcore-5.5.9999/work/qtcore-5.5.9999/src/corelib/kernel/qcoreapplication.cpp:963
#8 0x00007ffff7655ff9 in sendEvent (event=0x7fffffffbc80, receiver=0x555555ade210) at ../../include/QtCore/../../../qtwidgets-5.5.9999/src/corelib/kernel/qcoreapplication.h:228
#9 QWidget::removeAction (this=0x555555ade210, action=action@entry=0x555555c26fc0)
at /var/tmp/portage/dev-qt/qtwidgets-5.5.9999/work/qtwidgets-5.5.9999/src/widgets/kernel/qwidget.cpp:3305
#10 0x00007ffff7603b51 in QAction::~QAction (this=0x555555c26fc0, __in_chrg=<optimized out>)
at /var/tmp/portage/dev-qt/qtwidgets-5.5.9999/work/qtwidgets-5.5.9999/src/widgets/kernel/qaction.cpp:573
#11 0x00007ffff7603cdf in QAction::~QAction (this=0x555555c26fc0, __in_chrg=<optimized out>)
at /var/tmp/portage/dev-qt/qtwidgets-5.5.9999/work/qtwidgets-5.5.9999/src/widgets/kernel/qaction.cpp:592
#12 0x00007ffff4441feb in QObjectPrivate::deleteChildren (this=this@entry=0x555555cb6a10)
at /var/tmp/portage/dev-qt/qtcore-5.5.9999/work/qtcore-5.5.9999/src/corelib/kernel/qobject.cpp:1951
#13 0x00007ffff444d0dc in QObject::~QObject (this=<optimized out>, __in_chrg=<optimized out>)
at /var/tmp/portage/dev-qt/qtcore-5.5.9999/work/qtcore-5.5.9999/src/corelib/kernel/qobject.cpp:1031
#14 0x00007ffff79fd62f in QSystemTrayIcon::~QSystemTrayIcon (this=0x555555cc90a0, __in_chrg=<optimized out>)
at /var/tmp/portage/dev-qt/qtwidgets-5.5.9999/work/qtwidgets-5.5.9999/src/widgets/util/qsystemtrayicon.cpp:150
#15 0x00005555555c39ac in Gui::MainWindow::removeSysTray (this=this@entry=0x7fffffffd570) at /home/jkt/work/prog/trojita/src/Gui/Window.cpp:795
#16 0x00005555555d5f88 in Gui::MainWindow::slotShowSettings (this=0x7fffffffd570) at /home/jkt/work/prog/trojita/src/Gui/Window.cpp:1150
#17 0x00005555555e51ca in Gui::MainWindow::qt_static_metacall (_o=<optimized out>, _c=<optimized out>, _id=<optimized out>, _a=<optimized out>) at moc_Window.cpp:397
#18 0x00007ffff4443bf8 in QMetaObject::activate (sender=sender@entry=0x555555bc61a0, signalOffset=<optimized out>, local_signal_index=local_signal_index@entry=1,
argv=argv@entry=0x7fffffffc110) at /var/tmp/portage/dev-qt/qtcore-5.5.9999/work/qtcore-5.5.9999/src/corelib/kernel/qobject.cpp:3718
#19 0x00007ffff4444315 in QMetaObject::activate (sender=sender@entry=0x555555bc61a0, m=m@entry=0x7ffff7b96040 <QAction::staticMetaObject>, local_signal_index=local_signal_index@entry=1,
argv=argv@entry=0x7fffffffc110) at /var/tmp/portage/dev-qt/qtcore-5.5.9999/work/qtcore-5.5.9999/src/corelib/kernel/qobject.cpp:3583
#20 0x00007ffff7603e1f in QAction::triggered (this=this@entry=0x555555bc61a0, _t1=false) at .moc/moc_qaction.cpp:363
#21 0x00007ffff7607357 in QAction::activate (this=0x555555bc61a0, event=<optimized out>)
at /var/tmp/portage/dev-qt/qtwidgets-5.5.9999/work/qtwidgets-5.5.9999/src/widgets/kernel/qaction.cpp:1167
#22 0x00007ffff77a1cda in QMenuPrivate::activateCausedStack (this=this@entry=0x555555cb42f0, causedStack=..., action=action@entry=0x555555bc61a0,
action_e=action_e@entry=QAction::Trigger, self=self@entry=true) at /var/tmp/portage/dev-qt/qtwidgets-5.5.9999/work/qtwidgets-5.5.9999/src/widgets/widgets/qmenu.cpp:1130
#23 0x00007ffff77a8d4b in QMenuPrivate::activateAction (this=this@entry=0x555555cb42f0, action=action@entry=0x555555bc61a0, action_e=action_e@entry=QAction::Trigger, self=self@entry=true)
at /var/tmp/portage/dev-qt/qtwidgets-5.5.9999/work/qtwidgets-5.5.9999/src/widgets/widgets/qmenu.cpp:1207
#24 0x00007ffff77ad11a in QMenu::mouseReleaseEvent (this=<optimized out>, e=0x7fffffffc830)
at /var/tmp/portage/dev-qt/qtwidgets-5.5.9999/work/qtwidgets-5.5.9999/src/widgets/widgets/qmenu.cpp:2536
#25 0x00007ffff765fa9c in QWidget::event (this=this@entry=0x555555cc3bb0, event=event@entry=0x7fffffffc830)
at /var/tmp/portage/dev-qt/qtwidgets-5.5.9999/work/qtwidgets-5.5.9999/src/widgets/kernel/qwidget.cpp:8676
#26 0x00007ffff77adb8b in QMenu::event (this=0x555555cc3bb0, e=0x7fffffffc830) at /var/tmp/portage/dev-qt/qtwidgets-5.5.9999/work/qtwidgets-5.5.9999/src/widgets/widgets/qmenu.cpp:2650
#27 0x00007ffff76104dc in QApplicationPrivate::notify_helper (this=this@entry=0x555555a72090, receiver=receiver@entry=0x555555cc3bb0, e=e@entry=0x7fffffffc830)
at /var/tmp/portage/dev-qt/qtwidgets-5.5.9999/work/qtwidgets-5.5.9999/src/widgets/kernel/qapplication.cpp:3716
#28 0x00007ffff76169b0 in QApplication::notify (this=<optimized out>, receiver=0x555555cc3bb0, e=0x7fffffffc830)
at /var/tmp/portage/dev-qt/qtwidgets-5.5.9999/work/qtwidgets-5.5.9999/src/widgets/kernel/qapplication.cpp:3276
#29 0x00007ffff440b9cd in QCoreApplication::notifyInternal (this=0x7fffffffd4c0, receiver=receiver@entry=0x555555cc3bb0, event=event@entry=0x7fffffffc830)
at /var/tmp/portage/dev-qt/qtcore-5.5.9999/work/qtcore-5.5.9999/src/corelib/kernel/qcoreapplication.cpp:963
#30 0x00007ffff7615255 in sendSpontaneousEvent (event=0x7fffffffc830, receiver=0x555555cc3bb0)
at ../../include/QtCore/../../../qtwidgets-5.5.9999/src/corelib/kernel/qcoreapplication.h:231
#31 QApplicationPrivate::sendMouseEvent (receiver=receiver@entry=0x555555cc3bb0, event=event@entry=0x7fffffffc830, alienWidget=alienWidget@entry=0x0, nativeWidget=0x555555cc3bb0,
buttonDown=buttonDown@entry=0x7ffff7bc3980 <qt_button_down>, lastMouseReceiver=..., spontaneous=spontaneous@entry=true)
at /var/tmp/portage/dev-qt/qtwidgets-5.5.9999/work/qtwidgets-5.5.9999/src/widgets/kernel/qapplication.cpp:2770
#32 0x00007ffff767e760 in QWidgetWindow::handleMouseEvent (this=this@entry=0x555555df1fc0, event=event@entry=0x7fffffffcce0)
at /var/tmp/portage/dev-qt/qtwidgets-5.5.9999/work/qtwidgets-5.5.9999/src/widgets/kernel/qwidgetwindow.cpp:452
#33 0x00007ffff7680d63 in QWidgetWindow::event (this=0x555555df1fc0, event=0x7fffffffcce0)
at /var/tmp/portage/dev-qt/qtwidgets-5.5.9999/work/qtwidgets-5.5.9999/src/widgets/kernel/qwidgetwindow.cpp:210
#34 0x00007ffff76104dc in QApplicationPrivate::notify_helper (this=this@entry=0x555555a72090, receiver=receiver@entry=0x555555df1fc0, e=e@entry=0x7fffffffcce0)
at /var/tmp/portage/dev-qt/qtwidgets-5.5.9999/work/qtwidgets-5.5.9999/src/widgets/kernel/qapplication.cpp:3716
#35 0x00007ffff7615eba in QApplication::notify (this=0x7fffffffd4c0, receiver=0x555555df1fc0, e=0x7fffffffcce0)
at /var/tmp/portage/dev-qt/qtwidgets-5.5.9999/work/qtwidgets-5.5.9999/src/widgets/kernel/qapplication.cpp:3499
#36 0x00007ffff440b9cd in QCoreApplication::notifyInternal (this=0x7fffffffd4c0, receiver=receiver@entry=0x555555df1fc0, event=event@entry=0x7fffffffcce0)
at /var/tmp/portage/dev-qt/qtcore-5.5.9999/work/qtcore-5.5.9999/src/corelib/kernel/qcoreapplication.cpp:963
#37 0x00007ffff497668f in sendSpontaneousEvent (event=0x7fffffffcce0, receiver=0x555555df1fc0) at ../../include/QtCore/../../../qtgui-5.5.9999/src/corelib/kernel/qcoreapplication.h:231
#38 QGuiApplicationPrivate::processMouseEvent (e=0x555555e338d0) at /var/tmp/portage/dev-qt/qtgui-5.5.9999/work/qtgui-5.5.9999/src/gui/kernel/qguiapplication.cpp:1773
#39 0x00007ffff4978155 in QGuiApplicationPrivate::processWindowSystemEvent (e=e@entry=0x555555e338d0)
at /var/tmp/portage/dev-qt/qtgui-5.5.9999/work/qtgui-5.5.9999/src/gui/kernel/qguiapplication.cpp:1576
#40 0x00007ffff4954081 in QWindowSystemInterface::sendWindowSystemEvents (flags=...)
at /var/tmp/portage/dev-qt/qtgui-5.5.9999/work/qtgui-5.5.9999/src/gui/kernel/qwindowsysteminterface.cpp:608
#41 0x00007fffeaae99c2 in userEventSourceDispatch (source=<optimized out>)
at /var/tmp/portage/dev-qt/qtgui-5.5.9999/work/qtgui-5.5.9999/src/platformsupport/eventdispatchers/qeventdispatcher_glib.cpp:70
#42 0x00007fffef5d19c4 in g_main_dispatch (context=0x7fffe0001e00) at /var/tmp/portage/dev-libs/glib-2.40.0-r1/work/glib-2.40.0/glib/gmain.c:3064
#43 g_main_context_dispatch (context=context@entry=0x7fffe0001e00) at /var/tmp/portage/dev-libs/glib-2.40.0-r1/work/glib-2.40.0/glib/gmain.c:3663
#44 0x00007fffef5d1c18 in g_main_context_iterate (context=context@entry=0x7fffe0001e00, block=block@entry=1, dispatch=dispatch@entry=1, self=<optimized out>)
at /var/tmp/portage/dev-libs/glib-2.40.0-r1/work/glib-2.40.0/glib/gmain.c:3734
#45 0x00007fffef5d1d0c in g_main_context_iteration (context=0x7fffe0001e00, may_block=1) at /var/tmp/portage/dev-libs/glib-2.40.0-r1/work/glib-2.40.0/glib/gmain.c:3795
#46 0x00007ffff4472991 in QEventDispatcherGlib::processEvents (this=0x555555ab9a80, flags=...)
at /var/tmp/portage/dev-qt/qtcore-5.5.9999/work/qtcore-5.5.9999/src/corelib/kernel/qeventdispatcher_glib.cpp:418
#47 0x00007ffff4408e4b in QEventLoop::exec (this=this@entry=0x7fffffffd140, flags=..., flags@entry=...)
at /var/tmp/portage/dev-qt/qtcore-5.5.9999/work/qtcore-5.5.9999/src/corelib/kernel/qeventloop.cpp:204
#48 0x00007ffff441221e in QCoreApplication::exec () at /var/tmp/portage/dev-qt/qtcore-5.5.9999/work/qtcore-5.5.9999/src/corelib/kernel/qcoreapplication.cpp:1216
#49 0x00005555555b9c08 in main (argc=3, argv=<optimized out>) at /home/jkt/work/prog/trojita/src/Gui/main.cpp:217
</pre></div>
</p></pre>
</blockquote>
</blockquote>
<pre style="white-space: pre-wrap; white-space: -moz-pre-wrap; white-space: -pre-wrap; white-space: -o-pre-wrap; word-wrap: break-word;"><p style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: inherit;">allright, that's yet another crash and I have it also in the unit test now.</p></pre>
<br />
<p>- Martin</p>
<br />
<p>On March 16th, 2015, 11:58 a.m. CET, Martin Gräßlin wrote:</p>
<table bgcolor="#fefadf" width="100%" cellspacing="0" cellpadding="12" style="border: 1px #888a85 solid; border-radius: 6px; -moz-border-radius: 6px; -webkit-border-radius: 6px;">
<tr>
<td>
<div>Review request for KDE Frameworks.</div>
<div>By Martin Gräßlin.</div>
<p style="color: grey;"><i>Updated March 16, 2015, 11:58 a.m.</i></p>
<div style="margin-top: 1.5em;">
<b style="color: #575012; font-size: 10pt; margin-top: 1.5em;">Bugs: </b>
<a href="https://bugs.kde.org/show_bug.cgi?id=343976">343976</a>
</div>
<div style="margin-top: 1.5em;">
<b style="color: #575012; font-size: 10pt;">Repository: </b>
frameworkintegration
</div>
<h1 style="color: #575012; font-size: 10pt; margin-top: 1.5em;">Description </h1>
<table width="100%" bgcolor="#ffffff" cellspacing="0" cellpadding="10" style="border: 1px solid #b8b5a0">
<tr>
<td>
<pre style="margin: 0; padding: 0; white-space: pre-wrap; white-space: -moz-pre-wrap; white-space: -pre-wrap; white-space: -o-pre-wrap; word-wrap: break-word;">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)</pre>
</td>
</tr>
</table>
<h1 style="color: #575012; font-size: 10pt; margin-top: 1.5em;">Diffs</b> </h1>
<ul style="margin-left: 3em; padding-left: 0;">
<li>autotests/CMakeLists.txt <span style="color: grey">(e8ed6a99bb45969231ba21b8c5588e093bbbe3ee)</span></li>
<li>autotests/ksni_unittest.cpp <span style="color: grey">(PRE-CREATION)</span></li>
<li>src/platformtheme/kdeplatformsystemtrayicon.h <span style="color: grey">(8f13a36ae7cebed7499ce8a160f3533665b909ac)</span></li>
<li>src/platformtheme/kdeplatformsystemtrayicon.cpp <span style="color: grey">(ce3d3de9f9cf479a5fe3af65ef7fb8ec2b9e0d29)</span></li>
</ul>
<p><a href="https://git.reviewboard.kde.org/r/122978/diff/" style="margin-left: 3em;">View Diff</a></p>
</td>
</tr>
</table>
</div>
</body>
</html>