Mailing List Archive

svn commit: r1654165 - /perl/embperl/trunk/Embperl/Form/Control/dynctrl.pm
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-unsubscribe@perl.apache.org
For additional commands, e-mail: embperl-cvs-help@perl.apache.org