> On April 25, 2015, 10:27 a.m., David Edmundson wrote:
> > Ship it * 1000

Wait. How can this make any difference?

DBus slots all happen in the main thread's event loop, which means we must have 
finished all this function before that.

The only way this could change the behaviour is if something in new 
DesktopView() is calling creating a new event loop or calling 
qApp->processEvents()

do you still have the entire trace?


- David


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


On April 25, 2015, 3:56 a.m., Bhushan Shah wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://git.reviewboard.kde.org/r/123494/
> -----------------------------------------------------------
> 
> (Updated April 25, 2015, 3:56 a.m.)
> 
> 
> Review request for Plasma and Marco Martin.
> 
> 
> Repository: plasma-workspace
> 
> 
> Description
> -------
> 
> This avoids the crash situation where something have created the activity 
> consumer earlier and currentActivityChanged signal is emitted before view is 
> created.
> 
> ```
> #0  PlasmaQuick::View::setContainment (this=0x0, cont=0x16a9fc0) at 
> /home/bshah/aur/plasma-framework-git/src/plasma-framework/src/plasmaquick/view.cpp:243
> #1  0x0000000000462097 in StandaloneAppCorona::currentActivityChanged 
> (this=0x7772a0, newActivity=...)
>     at 
> /home/bshah/aur/plasma-workspace-git/src/plasma-workspace/shell/standaloneappcorona.cpp:192
> #2  0x00007ffff32383c9 in QMetaObject::activate(QObject*, int, int, void**) 
> () from /usr/lib/libQt5Core.so.5
> #3  0x00007ffff71f9763 in KActivities::Consumer::currentActivityChanged 
> (this=0x741aa0, _t1=...) at 
> /home/bshah/aur/kactivities-git/src/build/src/lib/core/moc_consumer.cpp:216
> #4  0x00007ffff71f94dd in KActivities::Consumer::qt_static_metacall 
> (_o=0x741aa0, _c=QMetaObject::InvokeMetaMethod, _id=0, _a=0x7fffffffa570)
>     at 
> /home/bshah/aur/kactivities-git/src/build/src/lib/core/moc_consumer.cpp:103
> #5  0x00007ffff32383c9 in QMetaObject::activate(QObject*, int, int, void**) 
> () from /usr/lib/libQt5Core.so.5
> #6  0x00007ffff71f91d6 in 
> KActivities::ActivitiesCache::currentActivityChanged (this=0x77c900, _t1=...) 
> at 
> /home/bshah/aur/kactivities-git/src/build/src/lib/core/moc_activitiescache_p.cpp:353
> #7  0x00007ffff71ee4f7 in KActivities::ActivitiesCache::setCurrentActivity 
> (this=0x77c900, activity=...)
>     at 
> /home/bshah/aur/kactivities-git/src/kactivities/src/lib/core/activitiescache_p.cpp:297
> ```
> 
> I hit this crash when creating recent media backend for pmc. First 
> backendsmodel is initalized which in turn loads the recentmedia backend and 
> hence creates the activity consumer first. Afterwards when signal is 
> connected it calls currentActivityChanged slot and fails to set containment 
> on null view.
> 
> 
> Diffs
> -----
> 
>   shell/standaloneappcorona.cpp efa5c91 
> 
> Diff: https://git.reviewboard.kde.org/r/123494/diff/
> 
> 
> Testing
> -------
> 
> works fine
> 
> 
> Thanks,
> 
> Bhushan Shah
> 
>

_______________________________________________
Plasma-devel mailing list
Plasma-devel@kde.org
https://mail.kde.org/mailman/listinfo/plasma-devel

Reply via email to