Bug 362863 - Recursion between KDE Platform Theme and QSystemTrayIcon (when not using Plasma)
Summary: Recursion between KDE Platform Theme and QSystemTrayIcon (when not using Plasma)
Status: RESOLVED DUPLICATE of bug 350785
Alias: None
Product: plasma-integration
Classification: Plasma
Component: general (show other bugs)
Version: master
Platform: Debian unstable Linux
: NOR crash
Target Milestone: ---
Assignee: Martin Flöser
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2016-05-09 19:06 UTC by Dmitry Shachnev
Modified: 2016-05-10 05:59 UTC (History)
0 users

See Also:
Latest Commit:
Version Fixed In:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Dmitry Shachnev 2016-05-09 19:06:24 UTC
When StatusNotifier is not available (i.e. when not using Plasma), KNotifications tries to fall back to Qt's implementation, however that actually leads to infinite recursion.

See https://bugs.debian.org/807805 for the original bug report.

Reproducible: Always

Steps to Reproduce:
1. Use an environment without StatusNotifier support
2. Use KDE Platform Theme
3. Try to run Vlc (any other application that has a system tray icon should also work)

Actual Results:  
Infinite recursion that leads to stack overflow and crash

Expected Results:  
No crash

Fragment of a stack trace demonstrating a loop (Qt version is 5.5.1):

#18 0x00007fffe5a13b27 in QSystemTrayIcon::setVisible (this=<optimized out>, visible=visible@entry=true) at util/qsystemtrayicon.cpp:271
#19 0x00007fffd33b2f95 in QSystemTrayIcon::show (this=<optimized out>) at /usr/include/x86_64-linux-gnu/qt5/QtWidgets/qsystemtrayicon.h:95
#20 KStatusNotifierItemPrivate::setLegacySystemTrayEnabled (this=this@entry=0x7fffd6ba3720, enabled=enabled@entry=true) at ../../src/kstatusnotifieritem.cpp:808
#21 0x00007fffd33b3fbd in KStatusNotifierItemPrivate::registerToDaemon (this=this@entry=0x7fffd6ba3720) at ../../src/kstatusnotifieritem.cpp:744
#22 0x00007fffd33b53fb in KStatusNotifierItemPrivate::init (this=this@entry=0x7fffd6ba3720, extraId=...) at ../../src/kstatusnotifieritem.cpp:722
#23 0x00007fffd33b57fe in KStatusNotifierItem::KStatusNotifierItem (this=0x7fffd6ba3320, parent=<optimized out>) at ../../src/kstatusnotifieritem.cpp:55
#24 0x00007fffd3be67e7 in KDEPlatformSystemTrayIcon::init (this=0x7fffd6ba1f80) at ../../../src/platformtheme/kdeplatformsystemtrayicon.cpp:270
#25 0x00007fffe5a14024 in QSystemTrayIconPrivate::install_sys_qpa (this=this@entry=0x7fffd6ba2f60) at util/qsystemtrayicon.cpp:684
#26 0x00007fffe5a310be in QSystemTrayIconPrivate::install_sys (this=this@entry=0x7fffd6ba2f60) at util/qsystemtrayicon_x11.cpp:280
#27 0x00007fffe5a13b27 in QSystemTrayIcon::setVisible (this=<optimized out>, visible=visible@entry=true) at util/qsystemtrayicon.cpp:271
Comment 1 Martin Flöser 2016-05-10 05:59:43 UTC

*** This bug has been marked as a duplicate of bug 350785 ***