Author: ate
Date: Tue Jan 27 00:29:51 2009
New Revision: 737946

URL: http://svn.apache.org/viewvc?rev=737946&view=rev
Log:
WICKET-2050 - KittenCaptchaPanel generates a Ajax callback image url which 
potentially breaks when used in a Portlet 

Modified:
    
wicket/trunk/wicket-extensions/src/main/java/org/apache/wicket/extensions/captcha/kittens/KittenCaptchaPanel.java

Modified: 
wicket/trunk/wicket-extensions/src/main/java/org/apache/wicket/extensions/captcha/kittens/KittenCaptchaPanel.java
URL: 
http://svn.apache.org/viewvc/wicket/trunk/wicket-extensions/src/main/java/org/apache/wicket/extensions/captcha/kittens/KittenCaptchaPanel.java?rev=737946&r1=737945&r2=737946&view=diff
==============================================================================
--- 
wicket/trunk/wicket-extensions/src/main/java/org/apache/wicket/extensions/captcha/kittens/KittenCaptchaPanel.java
 (original)
+++ 
wicket/trunk/wicket-extensions/src/main/java/org/apache/wicket/extensions/captcha/kittens/KittenCaptchaPanel.java
 Tue Jan 27 00:29:51 2009
@@ -199,8 +199,10 @@
                                        // attribute, this reduces the flicker
                                        final StringBuilder javascript = new 
StringBuilder();
                                        javascript.append("Wicket.$('" + 
image.getMarkupId() + "').src = '");
-                                       
javascript.append(image.urlFor(IResourceListener.INTERFACE));
-                                       javascript.append("&rand=" + 
Math.random());
+                                       CharSequence url = 
image.urlFor(IResourceListener.INTERFACE);
+                                       javascript.append(url);
+                                       
javascript.append((url.toString().indexOf('?') > -1 ? "&" : "?") + "rand=" +
+                                               Math.random());
                                        javascript.append("'");
                                        
target.appendJavascript(javascript.toString());
                                }


Reply via email to