You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@myfaces.apache.org by lu...@apache.org on 2009/11/30 20:40:43 UTC

svn commit: r885561 - /myfaces/shared/trunk_4.0.x/core/src/main/java/org/apache/myfaces/shared/renderkit/html/HtmlButtonRendererBase.java

Author: lu4242
Date: Mon Nov 30 19:40:43 2009
New Revision: 885561

URL: http://svn.apache.org/viewvc?rev=885561&view=rev
Log:
MYFACES-2430 Button image url rendered wrong for resources (Thanks to Michael Kurz for this patch)

Modified:
    myfaces/shared/trunk_4.0.x/core/src/main/java/org/apache/myfaces/shared/renderkit/html/HtmlButtonRendererBase.java

Modified: myfaces/shared/trunk_4.0.x/core/src/main/java/org/apache/myfaces/shared/renderkit/html/HtmlButtonRendererBase.java
URL: http://svn.apache.org/viewvc/myfaces/shared/trunk_4.0.x/core/src/main/java/org/apache/myfaces/shared/renderkit/html/HtmlButtonRendererBase.java?rev=885561&r1=885560&r2=885561&view=diff
==============================================================================
--- myfaces/shared/trunk_4.0.x/core/src/main/java/org/apache/myfaces/shared/renderkit/html/HtmlButtonRendererBase.java (original)
+++ myfaces/shared/trunk_4.0.x/core/src/main/java/org/apache/myfaces/shared/renderkit/html/HtmlButtonRendererBase.java Mon Nov 30 19:40:43 2009
@@ -34,6 +34,7 @@
 import javax.faces.context.FacesContext;
 import javax.faces.context.ResponseWriter;
 import javax.faces.event.ActionEvent;
+import javax.faces.application.ResourceHandler;
 
 import org.apache.myfaces.shared.config.MyfacesConfig;
 import org.apache.myfaces.shared.renderkit.ClientBehaviorEvents;
@@ -126,8 +127,16 @@
         if (image != null)
         {
             writer.writeAttribute(HTML.TYPE_ATTR, HTML.INPUT_TYPE_IMAGE, org.apache.myfaces.shared.renderkit.JSFAttr.TYPE_ATTR);
-            String src = facesContext.getApplication().getViewHandler().getResourceURL(
-                    facesContext, image);
+            String src;
+            // Check if image attribute already contained resource expression (is resolved as resource url)
+            if (image.contains(ResourceHandler.RESOURCE_IDENTIFIER))
+            {
+                src = image;
+            }
+            else
+            {
+                src = facesContext.getApplication().getViewHandler().getResourceURL(facesContext, image);
+            }
             writer.writeURIAttribute(HTML.SRC_ATTR, externalContext.encodeResourceURL(src),
                                      org.apache.myfaces.shared.renderkit.JSFAttr.IMAGE_ATTR);
         }