https://bugs.documentfoundation.org/show_bug.cgi?id=92617

--- Comment #14 from Lionel Elie Mamane <[email protected]> ---
(In reply to Julien Nabet from comment #13)
> If I don't misunderstand the bt, the pb is m_pCache is null. But how can it
> be since some lines above in dbaccess/source/core/api/RowSet.cxx, we've got
> this:
>     886     if(!m_pCache || !m_bNew || !m_bModified ||
> m_nResultSetConcurrency == ResultSetConcurrency::READ_ONLY)
>     887         throwFunctionSequenceException(*this);
> Moreover, there's ::osl::ResettableMutexGuard aGuard( *m_pMutex );
> See
> http://opengrok.libreoffice.org/xref/core/dbaccess/source/core/api/RowSet.
> cxx#884
> So even with multithread case, it should be ok

aGuard is a resettable guard, and that's exactly what:
  notifyAllListenersRowBeforeChange(aGuard,aEvt);
does:

void ORowSet::notifyAllListenersRowBeforeChange(::osl::ResettableMutexGuard&
_rGuard,const RowChangeEvent &aEvt)
{
   
NOTIFY_LISTERNERS_CHECK(m_aApproveListeners,XRowSetApproveListener,approveRowChange);
(...)

and:

#define NOTIFY_LISTERNERS_CHECK(_rListeners,T,method)                          
  \
     (...)                                                                     
             \
     _rGuard.clear();

-- 
You are receiving this mail because:
You are the assignee for the bug.
_______________________________________________
Libreoffice-bugs mailing list
[email protected]
http://lists.freedesktop.org/mailman/listinfo/libreoffice-bugs

Reply via email to