Fix arguments passed to UserpicSelector

        Patch by kareila. 

diffs (62 lines):

diff -r d097898a2272 -r 439ad38d4bd7 cgi-bin/LJ/Widget.pm
--- a/cgi-bin/LJ/Widget.pm      Fri Oct 15 19:11:08 2010 +0800
+++ b/cgi-bin/LJ/Widget.pm      Fri Oct 15 19:19:05 2010 +0800
@@ -105,6 +105,10 @@ sub render {
 
     my $subclass = $class->subclass;
     my $css_subclass = lc($subclass);
+    # figure out where "Odd number of elements in hash assignment" warning is 
coming from
+    if ( scalar( @opts ) % 2 == 1 ) {
+        carp "Odd number of \...@opts passed from $subclass";
+    }
     my %opt_hash = @opts;
 
     my $widget_ele_id = $class->widget_ele_id;
diff -r d097898a2272 -r 439ad38d4bd7 cgi-bin/LJ/Widget/UserpicSelector.pm
--- a/cgi-bin/LJ/Widget/UserpicSelector.pm      Fri Oct 15 19:11:08 2010 +0800
+++ b/cgi-bin/LJ/Widget/UserpicSelector.pm      Fri Oct 15 19:19:05 2010 +0800
@@ -28,7 +28,9 @@ sub handle_post {
 }
 
 sub render_body {
-    my ( $class, $u, $head, $pic, $picform, $opts ) = @_;
+    my ( $class, %opts ) = @_;
+    my ( $u, $head, $pic, $picform ) = @{ $opts{picargs} };
+    my $opts = \%opts;  # to avoid rewriting below
 
     return "" unless LJ::isu( $u );
     return "" unless LJ::is_enabled('userpicselect') || 
$u->can_use_userpic_select;
diff -r d097898a2272 -r 439ad38d4bd7 cgi-bin/weblib.pl
--- a/cgi-bin/weblib.pl Fri Oct 15 19:11:08 2010 +0800
+++ b/cgi-bin/weblib.pl Fri Oct 15 19:19:05 2010 +0800
@@ -1079,10 +1079,11 @@ sub entry_form {
     my $pic = '';      # displays chosen/default pic                           
      
     my $picform = '';  # displays form drop-down                               
  
 
-    LJ::Widget::UserpicSelector->render( $remote, \$$head, \$pic, \$picform,
-                { prop_picture_keyword => $opts->{prop_picture_keyword},
-                  no_auth => ! $opts->{auth_as_remote}, onload => $onload,
-                  altlogin => $altlogin, entry_js => 1 } );    
+    LJ::Widget::UserpicSelector->render(
+                picargs => [ $remote, \$$head, \$pic, \$picform ],
+                prop_picture_keyword => $opts->{prop_picture_keyword},
+                no_auth => ! $opts->{auth_as_remote}, onload => $onload,
+                altlogin => $altlogin, entry_js => 1 );
 
     # libs for userpicselect
     LJ::need_res( LJ::Talk::init_iconbrowser_js() )
diff -r d097898a2272 -r 439ad38d4bd7 htdocs/inbox/compose.bml
--- a/htdocs/inbox/compose.bml  Fri Oct 15 19:11:08 2010 +0800
+++ b/htdocs/inbox/compose.bml  Fri Oct 15 19:19:05 2010 +0800
@@ -224,8 +224,9 @@ body<=
     $body .= LJ::form_auth();
     my $pic = ''; # displays chosen/default pic
     my $picform = ''; # displays form drop-down
-    LJ::Widget::UserpicSelector->render($remote, \$$head, \$pic, \$picform,
-                { prop_picture_keyword => $POST{'prop_picture_keyword'} } );
+    LJ::Widget::UserpicSelector->render(
+                picargs => [ $remote, \$$head, \$pic, \$picform ],
+                prop_picture_keyword => $POST{prop_picture_keyword} );
     $body .= $pic;
 
     $body .= "<div id='metainfo'>";
_______________________________________________
dw-changelog mailing list
[email protected]
http://lists.dwscoalition.org/mailman/listinfo/dw-changelog

Reply via email to