From 94b5facb95118e16e48f425c52728be87d1f95f9 Mon Sep 17 00:00:00 2001 From: Colin Kuskie Date: Thu, 13 Jul 2006 21:55:21 +0000 Subject: [PATCH] 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. --- docs/changelog/7.x.x.txt | 1 + lib/WebGUI/Asset/Wobject/MultiSearch.pm | 2 +- lib/WebGUI/International.pm | 2 -- 3 files changed, 2 insertions(+), 3 deletions(-) diff --git a/docs/changelog/7.x.x.txt b/docs/changelog/7.x.x.txt index 1025606da..ddb5b8ae9 100644 --- a/docs/changelog/7.x.x.txt +++ b/docs/changelog/7.x.x.txt @@ -12,6 +12,7 @@ - fix: Typo when trying to display pvt profile - Added an unsubscribe link to the messages generated by collaboration subscriptions per the laws in various countries. + - fix: MultiSearch 7.0.1 - fix: User profile field "Department" needs i18n diff --git a/lib/WebGUI/Asset/Wobject/MultiSearch.pm b/lib/WebGUI/Asset/Wobject/MultiSearch.pm index def80a1a3..a962a177c 100644 --- a/lib/WebGUI/Asset/Wobject/MultiSearch.pm +++ b/lib/WebGUI/Asset/Wobject/MultiSearch.pm @@ -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) { diff --git a/lib/WebGUI/International.pm b/lib/WebGUI/International.pm index 1f406206e..b7e46f650 100644 --- a/lib/WebGUI/International.pm +++ b/lib/WebGUI/International.pm @@ -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; }