<!DOCTYPE html>
<html>
<head>
  <meta charset="UTF-8">
  <title>New Defects Reported - LibreOffice</title>
  <style>
    body { font-family: Arial, sans-serif; color: #222; line-height: 1.6; }
    .button {
      display: inline-block;
      padding: 10px 20px;
      margin: 20px 0;
      font-size: 16px;
      color: #fff !important;
      background-color: #0056b3;
      text-decoration: none;
      border-radius: 5px;
    }
    pre {
      background: #f8f9fa;
      padding: 10px;
      border-radius: 5px;
      font-size: 14px;
      overflow-x: auto;
    }
  </style>
</head>
<body>
  <p>Hi,</p>

  <p>
    Please find the latest report on new defect(s) introduced to <strong>LibreOffice</strong>
     found with Coverity Scan.
  </p>  

  <ul>
    <li><strong>New Defects Found:</strong> 4</li>
      <li>
        4 defect(s), reported by Coverity Scan earlier, were marked fixed in the recent build analyzed by Coverity Scan.
      </li>
    <li><strong>Defects Shown:</strong> Showing 4 of 4 defect(s)</li>
  </ul>

  <h3>Defect Details</h3>
  <pre>
** CID 1655285:       Concurrent data access violations  (MISSING_LOCK)
/sd/source/console/PresenterSlideShowView.cxx: 187           in sdext::presenter::PresenterSlideShowView::disposing(std::unique_lock<std::mutex> &)()


_____________________________________________________________________________________________
*** CID 1655285:         Concurrent data access violations  (MISSING_LOCK)
/sd/source/console/PresenterSlideShowView.cxx: 187             in sdext::presenter::PresenterSlideShowView::disposing(std::unique_lock<std::mutex> &)()
181         // Tell all listeners that we are disposed.
182         lang::EventObject aEvent;
183         aEvent.Source = static_cast<XWeak*>(this);
184     
185         assert(rLock.mutex() == &m_aMutex);
186         maMouseListeners.disposeAndClear(rLock, aEvent);
>>>     CID 1655285:         Concurrent data access violations  (MISSING_LOCK)
>>>     Accessing "this->maMouseMotionListeners" without holding lock "comphelper::UnoImplBase.m_aMutex". Elsewhere, "sdext::presenter::PresenterSlideShowView.maMouseMotionListeners" is written to with "UnoImplBase.m_aMutex" held 2 out of 2 times.
187         maMouseMotionListeners.disposeAndClear(rLock, aEvent);
188         maPaintListeners.disposeAndClear(rLock, aEvent);
189         maModifyListeners.disposeAndClear(rLock, aEvent);
190     
191         // Do this for
192         // XPaintListener, XModifyListener,XMouseListener,XMouseMotionListener,XWindowListener?

** CID 1655284:       Concurrent data access violations  (MISSING_LOCK)
/sd/source/console/PresenterSlideShowView.cxx: 189           in sdext::presenter::PresenterSlideShowView::disposing(std::unique_lock<std::mutex> &)()


_____________________________________________________________________________________________
*** CID 1655284:         Concurrent data access violations  (MISSING_LOCK)
/sd/source/console/PresenterSlideShowView.cxx: 189             in sdext::presenter::PresenterSlideShowView::disposing(std::unique_lock<std::mutex> &)()
183         aEvent.Source = static_cast<XWeak*>(this);
184     
185         assert(rLock.mutex() == &m_aMutex);
186         maMouseListeners.disposeAndClear(rLock, aEvent);
187         maMouseMotionListeners.disposeAndClear(rLock, aEvent);
188         maPaintListeners.disposeAndClear(rLock, aEvent);
>>>     CID 1655284:         Concurrent data access violations  (MISSING_LOCK)
>>>     Accessing "this->maModifyListeners" without holding lock "comphelper::UnoImplBase.m_aMutex". Elsewhere, "sdext::presenter::PresenterSlideShowView.maModifyListeners" is written to with "UnoImplBase.m_aMutex" held 2 out of 2 times.
189         maModifyListeners.disposeAndClear(rLock, aEvent);
190     
191         // Do this for
192         // XPaintListener, XModifyListener,XMouseListener,XMouseMotionListener,XWindowListener?
193     
194         if (mxWindow.is())

** CID 1655283:       Concurrent data access violations  (MISSING_LOCK)
/sd/source/console/PresenterSlideShowView.cxx: 186           in sdext::presenter::PresenterSlideShowView::disposing(std::unique_lock<std::mutex> &)()


_____________________________________________________________________________________________
*** CID 1655283:         Concurrent data access violations  (MISSING_LOCK)
/sd/source/console/PresenterSlideShowView.cxx: 186             in sdext::presenter::PresenterSlideShowView::disposing(std::unique_lock<std::mutex> &)()
180     {
181         // Tell all listeners that we are disposed.
182         lang::EventObject aEvent;
183         aEvent.Source = static_cast<XWeak*>(this);
184     
185         assert(rLock.mutex() == &m_aMutex);
>>>     CID 1655283:         Concurrent data access violations  (MISSING_LOCK)
>>>     Accessing "this->maMouseListeners" without holding lock "comphelper::UnoImplBase.m_aMutex". Elsewhere, "sdext::presenter::PresenterSlideShowView.maMouseListeners" is written to with "UnoImplBase.m_aMutex" held 2 out of 2 times.
186         maMouseListeners.disposeAndClear(rLock, aEvent);
187         maMouseMotionListeners.disposeAndClear(rLock, aEvent);
188         maPaintListeners.disposeAndClear(rLock, aEvent);
189         maModifyListeners.disposeAndClear(rLock, aEvent);
190     
191         // Do this for

** CID 1655282:       Concurrent data access violations  (MISSING_LOCK)
/sd/source/console/PresenterSlideShowView.cxx: 188           in sdext::presenter::PresenterSlideShowView::disposing(std::unique_lock<std::mutex> &)()


_____________________________________________________________________________________________
*** CID 1655282:         Concurrent data access violations  (MISSING_LOCK)
/sd/source/console/PresenterSlideShowView.cxx: 188             in sdext::presenter::PresenterSlideShowView::disposing(std::unique_lock<std::mutex> &)()
182         lang::EventObject aEvent;
183         aEvent.Source = static_cast<XWeak*>(this);
184     
185         assert(rLock.mutex() == &m_aMutex);
186         maMouseListeners.disposeAndClear(rLock, aEvent);
187         maMouseMotionListeners.disposeAndClear(rLock, aEvent);
>>>     CID 1655282:         Concurrent data access violations  (MISSING_LOCK)
>>>     Accessing "this->maPaintListeners" without holding lock "comphelper::UnoImplBase.m_aMutex". Elsewhere, "sdext::presenter::PresenterSlideShowView.maPaintListeners" is written to with "UnoImplBase.m_aMutex" held 2 out of 2 times.
188         maPaintListeners.disposeAndClear(rLock, aEvent);
189         maModifyListeners.disposeAndClear(rLock, aEvent);
190     
191         // Do this for
192         // XPaintListener, XModifyListener,XMouseListener,XMouseMotionListener,XWindowListener?
193     

  </pre>

  <p>
    <a href="https://scan.coverity.com/projects/libreoffice?tab=overview" class="button">View Defects in Coverity Scan</a>
  </p>

  <p>Best regards,</p>
  <p>The Coverity Scan Admin Team</p>
  <img class="logo" width="140" src="https://scan.coverity.com/assets/BlackDuckLogo-6697adc63e07340464201a2ad534d3d3e44f95d36edda20b140440d34f05372f.svg" />
</body>
</html>