Author: richter Date: Fri Jan 23 10:21:55 2015 New Revision: 1654165 URL: http://svn.apache.org/r1654165 Log: use different form in dynctrl to avoid conflicts and memory leaks
Modified: perl/embperl/trunk/Embperl/Form/Control/dynctrl.pm Modified: perl/embperl/trunk/Embperl/Form/Control/dynctrl.pm URL: http://svn.apache.org/viewvc/perl/embperl/trunk/Embperl/Form/Control/dynctrl.pm?rev=1654165&r1=1654164&r2=1654165&view=diff ============================================================================== --- perl/embperl/trunk/Embperl/Form/Control/dynctrl.pm (original) +++ perl/embperl/trunk/Embperl/Form/Control/dynctrl.pm Fri Jan 23 10:21:55 2015 @@ -70,10 +70,22 @@ sub create_ctrl $ctrl -> {$attr} = $self -> {$attr} ; } $ctrl -> {text} = $ctrl -> {textprefix} . $ctrl -> {text} if ($ctrl -> {textprefix}) ; - my $form = $self -> form ; + my $parent_form = $self -> form ; + my $form = $req -> {dynctrl_form} ||= Embperl::Form -> new ([], + { + control_packages => $parent_form -> {control_packages}, + datasrc_packages => $parent_form -> {datasrc_packages}, + charset => $parent_form -> {options}{charset}, + language => $parent_form -> {options}{language}, + }) ; + + # make sure convert_xxx overloads works + bless $form, ref $parent_form ; + #my $form = $self -> form ; my $ctrlform = [$ctrl] ; $form -> new_controls ($ctrlform, undef, undef, undef, undef, undef, undef, 1) ; - +#::dbgcycle ($form) ; +#::dbgcycle ($req) ; return $req -> {"dynctrl_$id"} = $ctrlform -> [0] ; } --------------------------------------------------------------------- To unsubscribe, e-mail: embperl-cvs-unsubscr...@perl.apache.org For additional commands, e-mail: embperl-cvs-h...@perl.apache.org