davidedmundson added a comment.

  Well identified, it is racey.
  
  But the solution seems off
  
  on line 68 we check
  on line 75 we implicitly check again
  now we're checking a 3rd time!
  
  I think we can instead solve it with some re-arranging
  
     m_serviceWatcher->addWatchedService(service);
     if 
(QDBusConnection::sessionBus().interface()->isServiceRegistered(service).value())
  {
      // as before except for the moved line
    } else {
      m_serviceWatcher->removeWatchedService(service);
    }

REPOSITORY
  R120 Plasma Workspace

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

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

Reply via email to