View | Details | Raw Unified | Return to bug 46823
Collapse All | Expand All

(-)src/java/org/apache/fop/layoutmgr/BlockLevelEventProducer.java (-3 / +4 lines)
Lines 93-105 Link Here
93
     * @param amount the amount by which the contents overflow (in mpt)
93
     * @param amount the amount by which the contents overflow (in mpt)
94
     * @param clip true if the content will be clipped
94
     * @param clip true if the content will be clipped
95
     * @param canRecover indicates whether FOP can recover from this problem and continue working
95
     * @param canRecover indicates whether FOP can recover from this problem and continue working
96
     * @param isError indicates whether an error message should be issued
96
     * @param loc the location of the error or null
97
     * @param loc the location of the error or null
97
     * @throws LayoutException the layout error provoked by the method call
98
     * @throws LayoutException the layout error provoked by the method call
98
     * @event.severity FATAL
99
     * @event.severity WARN
99
     */
100
     */
100
    void viewportOverflow(Object source, String elementName,
101
    void viewportOverflow(Object source, String elementName,
101
            int amount, boolean clip, boolean canRecover,
102
            int amount, boolean clip, boolean canRecover, boolean isError,
102
            Locator loc) throws LayoutException;
103
            Locator loc);
103
104
104
    /**
105
    /**
105
     * Contents overflow a region viewport.
106
     * Contents overflow a region viewport.
(-)src/java/org/apache/fop/layoutmgr/BlockContainerLayoutManager.java (-4 / +6 lines)
Lines 378-386 Link Here
378
            if (contentOverflows) {
378
            if (contentOverflows) {
379
                BlockLevelEventProducer eventProducer = BlockLevelEventProducer.Provider.get(
379
                BlockLevelEventProducer eventProducer = BlockLevelEventProducer.Provider.get(
380
                        getBlockContainerFO().getUserAgent().getEventBroadcaster());
380
                        getBlockContainerFO().getUserAgent().getEventBroadcaster());
381
                boolean canRecover = (getBlockContainerFO().getOverflow() != EN_ERROR_IF_OVERFLOW);
381
                boolean canRecover = true;
382
                boolean isError = (getBlockContainerFO().getOverflow() == EN_ERROR_IF_OVERFLOW);
382
                eventProducer.viewportOverflow(this, getBlockContainerFO().getName(),
383
                eventProducer.viewportOverflow(this, getBlockContainerFO().getName(),
383
                        breaker.getOverflowAmount(), needClip(), canRecover,
384
                        breaker.getOverflowAmount(), needClip(), canRecover, isError,
384
                        getBlockContainerFO().getLocator());
385
                        getBlockContainerFO().getLocator());
385
            }
386
            }
386
        }
387
        }
Lines 529-537 Link Here
529
            if (!autoHeight & (contentOverflows)) {
530
            if (!autoHeight & (contentOverflows)) {
530
                BlockLevelEventProducer eventProducer = BlockLevelEventProducer.Provider.get(
531
                BlockLevelEventProducer eventProducer = BlockLevelEventProducer.Provider.get(
531
                        getBlockContainerFO().getUserAgent().getEventBroadcaster());
532
                        getBlockContainerFO().getUserAgent().getEventBroadcaster());
532
                boolean canRecover = (getBlockContainerFO().getOverflow() != EN_ERROR_IF_OVERFLOW);
533
                boolean canRecover = true;
534
                boolean isError = (getBlockContainerFO().getOverflow() == EN_ERROR_IF_OVERFLOW);
533
                eventProducer.viewportOverflow(this, getBlockContainerFO().getName(),
535
                eventProducer.viewportOverflow(this, getBlockContainerFO().getName(),
534
                        breaker.getOverflowAmount(), needClip(), canRecover,
536
                        breaker.getOverflowAmount(), needClip(), canRecover, isError,
535
                        getBlockContainerFO().getLocator());
537
                        getBlockContainerFO().getLocator());
536
            }
538
            }
537
        }
539
        }
(-)src/java/org/apache/fop/events/FOPEventListenerProxy.java (+5 lines)
Lines 66-71 Link Here
66
                //Reduce severity if FOP can recover
66
                //Reduce severity if FOP can recover
67
                event.setSeverity(EventSeverity.WARN);
67
                event.setSeverity(EventSeverity.WARN);
68
            }
68
            }
69
            Boolean isError = (Boolean)event.getParam("isError");
70
            if (Boolean.TRUE.equals(isError)) {
71
                //Increase severity as specified by user
72
                event.setSeverity(EventSeverity.ERROR);
73
            }
69
        }
74
        }
70
        this.delegate.processEvent(event);
75
        this.delegate.processEvent(event);
71
    }
76
    }

Return to bug 46823