Solarmutex Deadlock when Closing Calc which contains functions with XVolatileResult return values

anwen anwenfish at hotmail.com
Mon Aug 13 15:35:33 PDT 2012


Michael Stahl-2 wrote
> 
> On 09/08/12 15:56, anwen wrote:
>> 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.
> 
> i don't think documents implement XDocumentEventBroadcaster, but there
> is a GlobalEventBroadcaster service that you can get from the service
> factory:
> 
>  Object oGEB = m_xMSF.createInstance(
>                 "com.sun.star.frame.GlobalEventBroadcaster");
>  m_xGEB = UnoRuntime.queryInterface(XDocumentEventBroadcaster.class,
> oGEB);
> 
> iirc the DocumentEvent that your listener gets then contains something
> that identifies the document that the event is for.
> 
> 

I implemented the above code with c++ . However, it did not work. Anything
wrong with the following code:
m_xCC is a given Reference<XComponentContext>

Reference<XEventBroadcaster>
xBrd(m_xCC->getServiceManager()->createInstanceWithContext(OUString(RTL_CONSTASCII_USTRINGPARAM("com.sun.star.frame.GlobalEventbroadcaster")),
m_xCC), UNO_QUERY); //xBrd is still empty, not sure why?
		
if (xBrd.is())
{		
	Reference< XEventListener > xDocListener(
			static_cast<XEventListener*>(new CalcListener()), UNO_QUERY);
	xBrd->addEventListener(xDocListener);
}

Thanks,

Wendi



--
View this message in context: http://nabble.documentfoundation.org/Solarmutex-Deadlock-when-Closing-Calc-which-contains-functions-with-XVolatileResult-return-values-tp3998056p4001090.html
Sent from the Dev mailing list archive at Nabble.com.


More information about the LibreOffice mailing list