Author: acumiskey
Date: Fri Apr 18 09:37:33 2008
New Revision: 649600

URL: http://svn.apache.org/viewvc?rev=649600&view=rev
Log:
Merged revisions 649477,649552 via svnmerge from 
https://svn.apache.org/repos/asf/xmlgraphics/fop/trunk

........
  r649477 | jeremias | 2008-04-18 13:03:24 +0100 (Fri, 18 Apr 2008) | 1 line
  
  Bugfix: If the first event is not issued over an event producer, the fallback 
logging event listener was not installed.
........
  r649552 | jeremias | 2008-04-18 15:40:56 +0100 (Fri, 18 Apr 2008) | 1 line
  
  Remember the missing glyphs also if an event listener is registered so they 
don't get warned about twice.
........

Modified:
    xmlgraphics/fop/branches/Temp_AFPGOCAResources/   (props changed)
    
xmlgraphics/fop/branches/Temp_AFPGOCAResources/src/java/org/apache/fop/apps/FOUserAgent.java
    
xmlgraphics/fop/branches/Temp_AFPGOCAResources/src/java/org/apache/fop/fonts/SingleByteFont.java

Propchange: xmlgraphics/fop/branches/Temp_AFPGOCAResources/
------------------------------------------------------------------------------
--- svnmerge-integrated (original)
+++ svnmerge-integrated Fri Apr 18 09:37:33 2008
@@ -1 +1 @@
-/xmlgraphics/fop/trunk:1-649432
+/xmlgraphics/fop/trunk:1-649598

Modified: 
xmlgraphics/fop/branches/Temp_AFPGOCAResources/src/java/org/apache/fop/apps/FOUserAgent.java
URL: 
http://svn.apache.org/viewvc/xmlgraphics/fop/branches/Temp_AFPGOCAResources/src/java/org/apache/fop/apps/FOUserAgent.java?rev=649600&r1=649599&r2=649600&view=diff
==============================================================================
--- 
xmlgraphics/fop/branches/Temp_AFPGOCAResources/src/java/org/apache/fop/apps/FOUserAgent.java
 (original)
+++ 
xmlgraphics/fop/branches/Temp_AFPGOCAResources/src/java/org/apache/fop/apps/FOUserAgent.java
 Fri Apr 18 09:37:33 2008
@@ -39,7 +39,7 @@
 import org.apache.fop.events.DefaultEventBroadcaster;
 import org.apache.fop.events.Event;
 import org.apache.fop.events.EventBroadcaster;
-import org.apache.fop.events.EventProducer;
+import org.apache.fop.events.EventListener;
 import org.apache.fop.events.FOPEventListenerProxy;
 import org.apache.fop.events.LoggingEventListener;
 import org.apache.fop.fo.FOEventHandler;
@@ -549,11 +549,25 @@
 
     private class FOPEventBroadcaster extends DefaultEventBroadcaster {
 
-        private FOPEventListenerProxy rootListener;
+        private EventListener rootListener;
         
         public FOPEventBroadcaster() {
-            this.rootListener = new FOPEventListenerProxy(
-                    this.listeners, FOUserAgent.this);
+            //Install a temporary event listener that catches the first event 
to
+            //do some initialization.
+            this.rootListener = new EventListener() {
+                public void processEvent(Event event) {
+                    if (!listeners.hasEventListeners()) {
+                        //Backwards-compatibility: Make sure at least the 
LoggingEventListener is
+                        //plugged in so no events are just silently swallowed.
+                        addEventListener(
+                                new 
LoggingEventListener(LogFactory.getLog(FOUserAgent.class)));
+                    }
+                    //Replace with final event listener
+                    rootListener = new FOPEventListenerProxy(
+                            listeners, FOUserAgent.this);
+                    rootListener.processEvent(event);
+                }
+            };
         }
         
         /** [EMAIL PROTECTED] */
@@ -561,18 +575,6 @@
             rootListener.processEvent(event);
         }
 
-        /** [EMAIL PROTECTED] */
-        protected EventProducer createProxyFor(Class clazz) {
-            if (!this.listeners.hasEventListeners()) {
-                //Backwards-compatibility: Make sure at least the 
LoggingEventListener is plugged
-                //in so no events are just silently swallowed.
-                addEventListener(
-                        new 
LoggingEventListener(LogFactory.getLog(FOUserAgent.class)));
-                
-            }
-            return super.createProxyFor(clazz);
-        }
-        
     }
     
 }

Modified: 
xmlgraphics/fop/branches/Temp_AFPGOCAResources/src/java/org/apache/fop/fonts/SingleByteFont.java
URL: 
http://svn.apache.org/viewvc/xmlgraphics/fop/branches/Temp_AFPGOCAResources/src/java/org/apache/fop/fonts/SingleByteFont.java?rev=649600&r1=649599&r2=649600&view=diff
==============================================================================
--- 
xmlgraphics/fop/branches/Temp_AFPGOCAResources/src/java/org/apache/fop/fonts/SingleByteFont.java
 (original)
+++ 
xmlgraphics/fop/branches/Temp_AFPGOCAResources/src/java/org/apache/fop/fonts/SingleByteFont.java
 Fri Apr 18 09:37:33 2008
@@ -117,15 +117,15 @@
         }
         
         //Give up, character is not available
-        if (this.eventListener != null) {
-            this.eventListener.glyphNotAvailable(this, c, getFontName());
-        } else {
-            Character ch = new Character(c);
-            if (warnedChars == null) {
-                warnedChars = new java.util.HashSet();
-            }
-            if (warnedChars.size() < 8 && !warnedChars.contains(ch)) {
-                warnedChars.add(ch);
+        Character ch = new Character(c);
+        if (warnedChars == null) {
+            warnedChars = new java.util.HashSet();
+        }
+        if (warnedChars.size() < 8 && !warnedChars.contains(ch)) {
+            warnedChars.add(ch);
+            if (this.eventListener != null) {
+                this.eventListener.glyphNotAvailable(this, c, getFontName());
+            } else {
                 if (warnedChars.size() == 8) {
                     log.warn("Many requested glyphs are not available in font 
" + getFontName());
                 } else {



---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to