MultiSearch view method was missing the session variable in the form code for the

Submit button.

International object creation cache caches session variable.  Since this code
is persistent, the session object would never undergo garbage creation and
would accumulate memory.
This commit is contained in:
Colin Kuskie 2006-07-13 21:55:21 +00:00
parent 8abbdf5e41
commit 94b5facb95
3 changed files with 2 additions and 3 deletions

View file

@ -132,7 +132,7 @@ sub view {
#Set some template variables
$var{'for'} = $i18n->get('for');
$var{'search'} = $i18n->get('search');
$var{'submit'} = WebGUI::Form::Submit->new({name=>'SearchSubmit',value=>$i18n->get('submit','WebGUI')})->toHtml();
$var{'submit'} = WebGUI::Form::Submit->new($self->session, {name=>'SearchSubmit',value=>$i18n->get('submit','WebGUI')})->toHtml();
my $out = $self->processTemplate(\%var,undef,$self->{_viewTemplate});
if (!$self->session->var->isAdminOn && $self->get("cacheTimeout") > 10) {

View file

@ -232,13 +232,11 @@ Specify a default language. Defaults to user preference or "English".
sub new {
my ($class, $session, $namespace, $language) = @_;
return $i18nCache{namespaces}{$namespace} if $i18nCache{namespaces}{$namespace};
my $self = bless( {
_session => $session,
_namespace => $namespace,
_language => ($language || $session->user->profileField('language')),
},$class);
$i18nCache{namespaces}{$namespace} = $self;
return $self;
}