https://issues.apache.org/ooo/show_bug.cgi?id=122453
--- Comment #6 from Andre <[email protected]> --- The root cause of this bug seems to be a design or implementation flaw in sfx2. The SfxDispatch::_FindServer() method does not find a slot server for the position and size slots while the OLE object is active. This seems to be OK. The strange thing here, that I still don't understand, is that there is no view shell on the shell stack for the Chart OLE. The DrawViewShell of Impress is still the top most shell (level 0 on the shell stack.) This should be ignored when searching a slot server, otherwise the slots would be processed by Impress, not by Chart. The problem is that when the OLE is deactivated and SfxViewShell::UIDeactivating() is called (note that DrawViewShell overrides this method but calls the base implementation) the slot servers are not invalidated. This would be done with a call to SfxStateCache::Invalidate(sal_True), but Invalidate() is only called with the default sal_False argument. The result was described in the last comment: the slot server is not updated and therefore remains empty and the slots are not processed. A possible fix is a call to SfxBindings::InvalidateAll(sal_True) in SfxViewShell::UIDeactivated() or DrawViewShell::Deactivated(). -- You are receiving this mail because: You are on the CC list for the bug.
