davidedmundson added a comment.

  > And this used QWeakPointer leads to premature destruction of object 
m_layout points to.
  
  Do you have commit access?

INLINE COMMENTS

> itemcontainer.cpp:68
> +    disconnect(m_editModeTimer, &QTimer::timeout, this, nullptr);
> +    disconnect(this, &QQuickItem::parentChanged, this, nullptr);
> +

Right, this one line makes a lot of sense.

I can imagine QQuickItem::~QuickItem changes parent, and calling 
ItemContainer::setLayout after we've run our ItemContainers destructor means 
all bets are completely off. I can believe an already destroyed QPointer 
behaves weirdly.

Lets not change the other two. There's no chance of an event loop processing a 
timer event after ItemContainer:::~ItemContainer before we're auto disconnected.

REPOSITORY
  R120 Plasma Workspace

REVISION DETAIL
  https://phabricator.kde.org/D27650

To: alnikiforov, ngraham, davidedmundson, mart
Cc: anthonyfieroni, plasma-devel, Orage, LeGast00n, The-Feren-OS-Dev, cblack, 
jraleigh, zachus, fbampaloukas, GB_2, ragreen, ZrenBot, ngraham, himcesjf, 
lesliezhai, ali-mohamed, jensreuterberg, abetts, sebas, apol, ahiemstra, mart

Reply via email to