Lines 58-69
Link Here
|
58 |
|
58 |
|
59 |
int areaHeight = 0; |
59 |
int areaHeight = 0; |
60 |
int contentWidth = 0; |
60 |
int contentWidth = 0; |
|
|
61 |
int infLoopThreshhold = 50; |
61 |
|
62 |
|
62 |
String id; |
63 |
String id; |
63 |
int span; |
64 |
int span; |
64 |
|
65 |
|
65 |
// this may be helpful on other FOs too |
66 |
// this may be helpful on other FOs too |
66 |
boolean anythingLaidOut = false; |
67 |
boolean anythingLaidOut = false; |
|
|
68 |
//Added to see how long it's been since nothing was laid out. |
69 |
int noLayoutCount = 0; |
67 |
|
70 |
|
68 |
public Block(FObj parent, PropertyList propertyList) |
71 |
public Block(FObj parent, PropertyList propertyList) |
69 |
throws FOPException { |
72 |
throws FOPException { |
Lines 77-82
Link Here
|
77 |
public Status layout(Area area) throws FOPException { |
80 |
public Status layout(Area area) throws FOPException { |
78 |
BlockArea blockArea; |
81 |
BlockArea blockArea; |
79 |
|
82 |
|
|
|
83 |
if (!anythingLaidOut) { |
84 |
noLayoutCount++; |
85 |
} |
86 |
if (noLayoutCount > infLoopThreshhold) { |
87 |
throw new FOPException( |
88 |
"No meaningful layout in block after many attempts. "+ |
89 |
"Infinite loop is assumed. Processing halted."); |
90 |
} |
80 |
// log.error(" b:LAY[" + marker + "] "); |
91 |
// log.error(" b:LAY[" + marker + "] "); |
81 |
|
92 |
|
82 |
|
93 |
|