Solarmutex Deadlock when Closing Calc which contains functions with XVolatileResult return values
anwen
anwenfish at hotmail.com
Thu Aug 9 06:56:03 PDT 2012
anwen wrote
>
>
> BTW, I am not sure how to initialize a XDocumentEventBroadcaster which you
> mentioned previously in a Calc Extension. I tried this method:
> Reference<XSpreadsheetDocument>
> xCalc(m_xCC->getServiceManager()->createInstanceWithContext(OUString(RTL_CONSTASCII_USTRINGPARAM("com.sun.star.sheet.SpreadsheetDocument")),
> m_xCC), UNO_QUERY); But it did not work.
>
>
I am also interested in XDocumentEventBroadcaster/XDocumentEventListener. I
am wondering if you could correct my following code which tries to register
a XDocumentListener with the XDocumentEventBroadcaster in a Calc Extension.
I did some research on this topic. Most of examples initialize a
EventBroadcaster following a bootstrap() method which could not be used in
Calc Extension.
void SAL_CALL BLPAPIAddIn_Impl::addDocEvtListener() throw (RuntimeException)
{
// Reference<XModel> xModel = UnoRuntime.queryInterface(XModel.class,
uno::UNO_QUERY);
Reference<XSpreadsheetDocument>
xCalc(m_xCC->getServiceManager()->createInstanceWithContext(OUString(RTL_CONSTASCII_USTRINGPARAM("com.sun.star.sheet.SpreadsheetDocument")),
m_xCC), UNO_QUERY);
if (xCalc.is())
{
Reference< XDocumentEventBroadcaster > xBroadcaster(xCalc, UNO_QUERY);
if (xBroadcaster.is())
{
Reference< XDocumentEventListener > xDocListener(
static_cast<XDocumentEventListener*>(new CalcListener()), UNO_QUERY);
xBroadcaster->addDocumentEventListener(xDocListener);
std::cout << "added an DocEvtListener" << std::endl;
}
}
}
Thanks a lot.
--
View this message in context: http://nabble.documentfoundation.org/Solarmutex-Deadlock-when-Closing-Calc-which-contains-functions-with-XVolatileResult-return-values-tp3998056p4000189.html
Sent from the Dev mailing list archive at Nabble.com.
More information about the LibreOffice
mailing list