Mathias and Andre,

Many thanks for looking into this, and in a timely manner. I'll stand by
until the fix can be integrated.

Regards,

-- Cameron


On Tue, Jun 29, 2010 at 10:09 AM, Andre Fischer <andre.w.fisc...@sun.com>wrote:

> Hi Cameron, Mathias,
>
>
> On 6/29/2010 12:42, Mathias Bauer wrote:
>
>> Hi Cameron,,
>>
>> I had a short look on the SlideShow code. It's quite strange, the class
>> that allows to add and remove listeners is not the same as the class
>> that sends the disposing events. IMHO this cant work as the event source
>> in the disposing() call won't match the object that was used for
>> registration.
>>
> No, that is not a problem.  The SlideShowListenerProxy class knows where
> the listeners where registered at and could use the right source in its
> disposing events.
>
> The implementation seems (I am just the maintainer, not the author) to be
> designed to forward events to the registered XSlideShowListener objects. For
> the disposing event, however, this is never triggered.
> This is of course a bug and has to be fixed.
>
> Best regards,
> Andre
>
>
>
>> I have cc'ed the Impress developers, maybe they can shed some light on
>> this.
>>
>> Regards,
>> Mathias
>>
>>
>> On 06/28/2010 05:49 PM, Cameron Flint wrote:
>>
>>> Hello Mathias,
>>>
>>> Thanks for the response. I've double-checked that:
>>>
>>> - registration of the slideshow listener is successful (I receive all
>>> other
>>> events as expected),
>>> - my listener derives only from the XSlideshowListener class, and
>>> - at no other point in my code do I remove the listener.
>>>
>>> Here are a few more details on the problem:
>>>
>>> 1. I do not receive a dispose() call both for the case that I have
>>> manually
>>> called XPresentation.end() (before the slide show is complete), and
>>> the case
>>> that the slideshow exits normally.
>>> 2. Same goes for in-window as well as full-screen presentations.
>>> 3. When I attempt to de-register the listener, the actual error
>>> preventing
>>> me from doing so is that XPresentation2.getController() returns null. Of
>>> course, this only occurs when the slideshow has already been disposed
>>> by the
>>> third party.
>>> 4. I am developing on Symphony 3 beta 3, which I am fairly certain
>>> uses OO
>>> 310m11(Build:9399) (at least, that is the version in its
>>> unoil.jar/MANIFEST.MF).
>>>
>>> I should mention that this issue is not necessarily an impediment, as
>>> I've
>>> long-since simply removed the de-register without any observable side
>>> effects. It would be much more satisfying, however, to get to the root
>>> issue. :)
>>>
>>> -- Cameron
>>>
>>>
>>> On Fri, Jun 25, 2010 at 3:29 AM, Mathias Bauer<nospamfor...@gmx.de>
>>> wrote:
>>>
>>>  Hi Cameron,
>>>>
>>>>
>>>> On 06/23/2010 08:47 PM, Cameron Flint wrote:
>>>>
>>>>  Hello,
>>>>>
>>>>> I have a class which implements XSlideshowListener, and attempts to
>>>>> override
>>>>> the disposing() (from the XEventListener superclass) in order to set a
>>>>> flag
>>>>> to ensure that I don't try to remove it a second time if the target
>>>>> slideshow has already been disposed. However, I never seem to get this
>>>>> call.
>>>>> Consequently, my cleanup routine which calls
>>>>> XSlideShowController.removeSlideshowListener() receives a
>>>>> NullPointerException since the slideshow has already terminated,
>>>>> unbeknown
>>>>> to my listener.
>>>>>
>>>>> It would seem that a listener registered on a slideshow should be
>>>>> notified
>>>>> when that slideshow disposes, or am I mistaken?
>>>>>
>>>>>
>>>> No, you are right. When an object is disposed, it will notify all
>>>> registered event listeners. So if an object obviously was disposed,
>>>> but you
>>>> didn't receive a notification, the reasons that I could imagine are
>>>>
>>>> - your registration failed or was not carried out at all
>>>> - your class derives from another one that implements the disposing()
>>>> method and you accidently used a wrong method declaration
>>>> - your listener was removed already before the slide show was disposed
>>>>
>>>> Did you receive any slide show events? Have you made shure that the
>>>> listener wasn't removed before the slide show was disposed?
>>>>
>>>> Regards,
>>>> Mathias
>>>>
>>>> --
>>>> Mathias Bauer (mba) - Project Lead OpenOffice.org Writer
>>>> OpenOffice.org Engineering at Sun: http://blogs.sun.com/GullFOSS
>>>> Please don't reply to "nospamfor...@gmx.de".
>>>> I use it for the OOo lists and only rarely read other mails sent to it.
>>>>
>>>> ---------------------------------------------------------------------
>>>> To unsubscribe, e-mail: dev-unsubscr...@api.openoffice.org
>>>> For additional commands, e-mail: dev-h...@api.openoffice.org
>>>>
>>>>
>>>>
>>>
>>
>>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: dev-unsubscr...@api.openoffice.org
> For additional commands, e-mail: dev-h...@api.openoffice.org
>
>

Reply via email to