Author: spepping
Date: Thu Dec  9 09:00:24 2010
New Revision: 1043871

URL: http://svn.apache.org/viewvc?rev=1043871&view=rev
Log:
Avoid an NPE in InlineStackingLM.applyChanges for Knuth elements with a null 
position; resolves bug 50276

Added:
    
xmlgraphics/fop/trunk/test/layoutengine/standard-testcases/knuth_element-null_position.xml
   (with props)
Modified:
    
xmlgraphics/fop/trunk/src/java/org/apache/fop/layoutmgr/inline/InlineStackingLayoutManager.java

Modified: 
xmlgraphics/fop/trunk/src/java/org/apache/fop/layoutmgr/inline/InlineStackingLayoutManager.java
URL: 
http://svn.apache.org/viewvc/xmlgraphics/fop/trunk/src/java/org/apache/fop/layoutmgr/inline/InlineStackingLayoutManager.java?rev=1043871&r1=1043870&r2=1043871&view=diff
==============================================================================
--- 
xmlgraphics/fop/trunk/src/java/org/apache/fop/layoutmgr/inline/InlineStackingLayoutManager.java
 (original)
+++ 
xmlgraphics/fop/trunk/src/java/org/apache/fop/layoutmgr/inline/InlineStackingLayoutManager.java
 Thu Dec  9 09:00:24 2010
@@ -285,8 +285,9 @@ public abstract class InlineStackingLayo
         KnuthElement oldElement;
         while (oldListIterator.hasNext()) {
             oldElement = (KnuthElement) oldListIterator.next();
-            oldElement.setPosition
-                (oldElement.getPosition().getPosition());
+            if (oldElement.getPosition() != null) {
+                oldElement.setPosition(oldElement.getPosition().getPosition());
+            }
         }
         // reset the iterator
         oldListIterator = oldList.listIterator();

Added: 
xmlgraphics/fop/trunk/test/layoutengine/standard-testcases/knuth_element-null_position.xml
URL: 
http://svn.apache.org/viewvc/xmlgraphics/fop/trunk/test/layoutengine/standard-testcases/knuth_element-null_position.xml?rev=1043871&view=auto
==============================================================================
--- 
xmlgraphics/fop/trunk/test/layoutengine/standard-testcases/knuth_element-null_position.xml
 (added)
+++ 
xmlgraphics/fop/trunk/test/layoutengine/standard-testcases/knuth_element-null_position.xml
 Thu Dec  9 09:00:24 2010
@@ -0,0 +1,44 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+  Licensed to the Apache Software Foundation (ASF) under one or more
+  contributor license agreements.  See the NOTICE file distributed with
+  this work for additional information regarding copyright ownership.
+  The ASF licenses this file to You under the Apache License, Version 2.0
+  (the "License"); you may not use this file except in compliance with
+  the License.  You may obtain a copy of the License at
+
+       http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+-->
+<!-- $Id$ -->
+<testcase>
+  <info>
+       <p>This check tests that Knuth elements with a null position do
+not cause a NPE (in InlineStackingLM.applyChanges)</p>
+  </info>
+  <fo>
+       <fo:root xmlns:fo="http://www.w3.org/1999/XSL/Format"; 
xmlns:fox="http://xmlgraphics.apache.org/fop/extensions"; hyphenate="true" 
language="de">
+         <fo:layout-master-set>
+               <fo:simple-page-master master-name="A4" page-height="29.7cm" 
page-width="21cm" margin="2cm">
+                 <fo:region-body/>
+               </fo:simple-page-master>
+         </fo:layout-master-set>
+
+         <fo:page-sequence master-reference="A4">
+
+               <fo:flow flow-name="xsl-region-body">
+                 <fo:block><fo:inline padding-left="1cm"><fo:basic-link 
internal-destination="N1003F">Abluftanlage</fo:basic-link></fo:inline></fo:block>
+                 <fo:block id="N1003F"/>
+               </fo:flow>
+         </fo:page-sequence>
+       </fo:root>
+  </fo>
+  <checks>
+    <eval expected="Abluftanlage" 
xpath="//flow/block/lineArea/inlineparent/inlineparent/text/word"/>
+  </checks>
+</testcase>

Propchange: 
xmlgraphics/fop/trunk/test/layoutengine/standard-testcases/knuth_element-null_position.xml
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: 
xmlgraphics/fop/trunk/test/layoutengine/standard-testcases/knuth_element-null_position.xml
------------------------------------------------------------------------------
    svn:keywords = Id



---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to