DO NOT REPLY [Bug 45306] New: fo:instream-foreign-object in fo: marker does not work

View: New views
4 Messages — Rating Filter:   Alert me  

DO NOT REPLY [Bug 45306] New: fo:instream-foreign-object in fo: marker does not work

by Bugzilla from bugzilla@apache.org :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

https://issues.apache.org/bugzilla/show_bug.cgi?id=45306

           Summary: fo:instream-foreign-object in fo:marker does not work
           Product: Fop
           Version: 1.0dev
          Platform: All
        OS/Version: All
            Status: NEW
          Severity: normal
          Priority: P2
         Component: fo tree
        AssignedTo: fop-dev@...
        ReportedBy: adelmelle@...


See the disabled testcase added here:
http://svn.apache.org/viewvc?rev=672617&view=rev

In current FOP Trunk, the test throws a NPE, due to AbstractRetrieveMarker not
correctly cloning the foreign object. cloneSingleNode() apparently only deals
with FObj and FOText, but XMLObj descends directly from FONode, so does not
survive...

Changing XMLObj to extend FObj, instead of FONode, partly fixes the issue. It
clones the root of the document, but does not yet descend recursively.


--
Configure bugmail: https://issues.apache.org/bugzilla/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug.

DO NOT REPLY [Bug 45306] fo:instream-foreign-object in fo: marker does not work

by Bugzilla from bugzilla@apache.org :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

https://issues.apache.org/bugzilla/show_bug.cgi?id=45306





--- Comment #1 from Luca Furini <lfurini@...>  2008-07-22 03:19:45 PST ---
I'm wondering whether we really need to clone the whole foreign subtree, as we
are quite sure (?) that it's not FO and it's self-contained ....

I'm attaching a patch that clones the foreign tree root without deleting the
child pointers; I have performed a couple of tests and everything seems fine.
(actually, now I think of it, the patch is slightly sub-optimal, as we could
just clone the instream-foreign-object node and share the whole foreign
subtree)

If there are no remaining erroneous situations or objections I can apply the
patch to the trunk.


--
Configure bugmail: https://issues.apache.org/bugzilla/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug.

DO NOT REPLY [Bug 45306] fo:instream-foreign-object in fo: marker does not work

by Bugzilla from bugzilla@apache.org :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

https://issues.apache.org/bugzilla/show_bug.cgi?id=45306





--- Comment #2 from Luca Furini <lfurini@...>  2008-07-22 03:21:04 PST ---
Created an attachment (id=22297)
 --> (https://issues.apache.org/bugzilla/attachment.cgi?id=22297)
"cheap" cloning of the foreign subtree


--
Configure bugmail: https://issues.apache.org/bugzilla/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug.

DO NOT REPLY [Bug 45306] fo:instream-foreign-object in fo: marker does not work

by Bugzilla from bugzilla@apache.org :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

https://issues.apache.org/bugzilla/show_bug.cgi?id=45306


Andreas L. Delmelle <adelmelle@...> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|NEW                         |ASSIGNED




--- Comment #3 from Andreas L. Delmelle <adelmelle@...>  2008-07-24 13:42:55 PST ---
(In reply to comment #1)

(Apologies for being so late with the reply)

> I'm wondering whether we really need to clone the whole foreign subtree, as we
> are quite sure (?) that it's not FO and it's self-contained ....

Yep, now that you mention it. :-)

Seems like it could also be solved by overriding
InstreamForeignObject.clone(FONode, boolean), to always pass 'false' for the
boolean parameter (= removeChildren)...?

I'll look into it again later, and see what would work best.

Thanks for the feedback.


--
Configure bugmail: https://issues.apache.org/bugzilla/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug.
LightInTheBox - Buy quality products at wholesale price