Apache OpenOffice (AOO) Bugzilla – Issue 97628
All of Custom Animation have no effect in Impress
Last modified: 2009-02-26 10:55:10 UTC
[Steps] 1. Create a Impress doc. 2. In Tasks Bar, choose "Title Slide" layout. And type some words in text field. 3. Select the words, press "Add..." button in "Custom Animation" bar, choose any effect of "Moderate" region in "Emphasis" bar, such as "Grow With Color". [Result] The Slide blink with a black background without animation, both in "Automatic Preview" and "Slide Show". [Expectation] The Emphasis Animation can be shown.
Reproducible with DEV300m37 on WinXP, but can't reproduce it with OOo2.4.1, regression. All of Custom Animation doesn't work, edit summary
I cannot confirm it. For me it works with OOo3.0 and with OOODEVm37, both on WinXP. It works with "play" (don't forget to mark the effect first) and with "Slide show". I have tested it with and without hardware acceleration.
Meiying -> regina Sorry, just reproduce it on WinXP. I can confirm it, Would you like checking it once more?
@amy2008: do you select th complete texbox or do you just select the words in edit mode? Cannot reproduce this here on m37, sorry.
@wg: Just select some words in edit mode. The situation here is queer. The "Custom Animation" in "Automatic Preview" is still a black blinking. In "Slide Show", it will display nothing at the first 10 (or more) times when play the slide: no slide, no animation, just a black screen. But after keep trying on playing it by pressing "F5" continuously, suddenly, the content of the slide and the animation display. Test in DEV300m37 (Build:9371) on WinXP and DEV300m38 (Build:9377) on Linux I've tried on several machines. P.S. In OOo300m9, "Custom Animation" works well both in "Automatic Preview" and "Slide Show".
Just select one or more paragraphs in edit mode. I will upload an attachment file for reproducing it. Thank you for your great work.
Created attachment 59135 [details] just press F5 can see the result
Your attached file works fine for me. I have tested it with and without hardware acceleration and with and without 3D view. My graphic card is a "NVIDIA GeForce3 Ti 200" on WinXP home SP3. Do you tried it on PCs with different graphic cards? Do you have got an actual driver for your graphic card?
meiying -> regina > Your attached file works fine for me. I have tested it with and without > hardware acceleration and with and without 3D view. My graphic card is > a "NVIDIA GeForce3 Ti 200" on WinXP home SP3. Do you tried it on PCs with > different graphic cards? Do you have got an actual driver for your graphic > card? I have done testing twice with DEV300m37, the attached file doesn't work in both cases. First, Tested without hardware acceleration and 3D view. OS: WinXP SP3 Graphic card: Intel(R) 82945G Express Chipset Family Driver for my graphic card: bring with OS Second, Tested without hardware acceleration and 3D view. OS: WinXP SP3 Graphic card: NVIDIA GeForce 7100 GS Driver for my graphic card: NVIDIA The important information is the attached file works well with OOo300m9, but it doesn't work with DEV300m37, so I think it's a problem.
meiying -> regina please check it more than five times according to above mentioned steps. Because in some computers, it needs more times to reproduce it, but majority of computers can reproduce it at the first time.
Could 'nt reproduce here with native display and remote display, with and without hw acceleration on two different machines (Win XP).
Created attachment 59198 [details] Record for reproducing
My fault, actually it can be reproducible on WinXP and Linux.
I tried it with DEV300m37 on OpenSolaris in a VirtualBox and I can also reproduce it. Basically, I can second doze_worm's observation from JAN 5th. What I have been trying so far, sometimes the effect works at once, but sometimes it will show the black background blinking several times. Most important, if you once started the effect successfully, it will ever work again and you have to create a new document to continue evaluation. Hence, the issue seems to be related to the initialization of the effect. @amy2008: Can you please describe very detailed, how you reproduce it. Please list every single step and feature selected. Best regards, Peter
Meiying -> Peter, I will do everythink that I can. In the second attachment, it is a video that records the action which I reproduce, unpack it and run it, then you can see the operation. Regards!
Ok, reproducible now when I am doing exact the same things as in the video (thanks very much for this, fantastic!). Leaving the edit mode of the text and just having it selected shows me the custom animation.
An assertion in implCreateIteratedNodes(...) (in slideshow/source/engine/animationnodes/animationnodefactory.cxx) is triggered which may be an indication of what goes wrong.
@af: which one?
This one (at or near line 257): ENSURE_OR_RETURN( aTarget.Paragraph >= 0 && rTreeNodeSupplier.getNumberOfTreeNodes( DocTreeNode::NODETYPE_LOGICAL_PARAGRAPH ) > aTarget.Paragraph, "implCreateIteratedNodes(): paragraph index out of range" );
Hm. Works here (m38, and doing the exact same steps as in the video). The assertion says that either the input paragraph index or the annotations in the metafile are wrong (that's how the paragraph/word/character boundaries are transported from EditEngine to slideshow). Chances are that aw033 (in since m30) broke something, @aw, any ideas?
AW: Sorry, no ideas. aw033 changed evtl. the MetaFile data (it should all be emulated), but applies no change to the Impress object animations at all (i don't even know how Slideshow receives them). I see no obvoius change from primitive changes here.
The center of this problem seems to lie in the createNewSdrTextAttribute(...) method in svx/source/sdr/primitive2d/sdrattributecreator.cxx. For a text shape in edit mode it returns NULL instead of some SdrTextAttribute. This prevents the primitive sequence from being built and the meta file from being properly generated. No metafile, no text in the slideshow. The effect of a missing metafile depends on the animation effect. In some cases an OSL_ENSURE_AND_RETURN avoids the worst. In others the slideshow simply crashes. @AW: I commented out the if(!bInEditMode) line in the createNewSdrTextAttribute(...) method and everything worked fine, but that is of course not a real fix. Please find a better one.
AW: The bInEditMode flag is used to suppress primitive creation (ant thus texst output) for text in edit mode. That output is still done using the EditView (Outliner/EditEngine). Problem is that it's not as simple as re-including the data creation again, since in edit mode the data is not yet in the model. Thinking about a solution...
AW: Hard to do. Problem is the OutlinerParaObject which i get from the model, but from the running Outliner when in edit mode. The 2nd will give me the OPO posession, so i would need a lifetime control, too. Unfortunately OPO is old stuff and not refcounted (ideal would be a COW-Object here). Looking deeper...
AW: Decided to implement an new, COW and RefCounted OutlinerParaObject. Stumbled upon some memory leaks: wrote #i98573# and #i98575# for OutlinerParaObject resp. EditTextObject handling. Already fixed where seen. Need to fix/change/adapt and build incompatible in all application. If, oh, IF i only had a much faster machine...
AW: Stumbled about a dozen files which would not build initially. Some in SW whcih could not build with debug (one even containing not-cleanedup merge comments), some in sc where some casts were missing (which are in plane in m40). How was the wntmsci12. pro version built for m39....? Argh! This costs muuuuch time :-(
AW: Committed first adaption, revisions are: 267073, 267074, 267076 and 267077. Preparing build on linux system...
aw said "How was the wntmsci12. pro version built for m39?" - the build was "engineered", that's why OOo needs release engineering. :D
AW->thb: Yes, does not really help, but is true ;-) Another thing: The initial crash has to do with not correlating the diverse data sources in slideshow. Mayne You remember, we already once talked about it. When e.g. an animation (fetched over API i think) says that word three is animated, Slideshow accesses word three hard, even when it does not exist (in the MetaFile fetched for the object) and crashes. It would be good to fix that, too (!) I will fix that the metafile data will contain the text of the object currently edited in the meantime...
AW: New OutlinerParaObject works well. Needed to cleanup headers for ParagraphData. Built on wntmsci12, unxsols4, unxlngi6 for checking. Also added a new TextHierarchyPrimitive2D (TextHierarchyEditPrimitive2D) to encapsulate text derived form edit mode instead of model data. This will allow the renderers to decide if to suppress this data or not. Implemented suppression in VCL pixel renderer (so it will be included from the VCL MetaFile renderer). Testing...
AW: Committed last versions, all done and works as expected. The text primitives are encapsulated using a TextHierarchyEditPrimitive2D and are ignored by the display renderer, but included into the MetaFile renderer. This is also a good future direction where the edited text may already be displayed not by some editur, but from the processor for primitives like all other primitive stuff, too. Presentation preview and presentation work again when started from a active Textdit, checked in, done.
AW->WG: Please verify. Use initial description. Important point is to do all this while the text object is in edit mode
Verified in CWS.
Tested in OOO310_m3. Closed.