From: Frédéric Buclin Date: Thu, 14 Oct 2010 00:31:45 +0000 (+0200) Subject: Bug 600598: "Can't call method "bug_list" on unblessed reference" error thrown when... X-Git-Tag: bugzilla-4.1.1~213 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=3e06a51f060f168034ada88e40d9b60d51f8a244;p=thirdparty%2Fbugzilla.git Bug 600598: "Can't call method "bug_list" on unblessed reference" error thrown when editing a bug which is in the BUGLIST cookie but not in a recent saved search, with action="next_bug" r/a=mkanat --- diff --git a/Bugzilla/Search/Recent.pm b/Bugzilla/Search/Recent.pm index 6e24bd5bc7..d7d595ecc4 100644 --- a/Bugzilla/Search/Recent.pm +++ b/Bugzilla/Search/Recent.pm @@ -90,6 +90,18 @@ sub check { return $search; } +sub new_from_cookie { + my ($invocant, $bug_ids) = @_; + my $class = ref($invocant) || $invocant; + + my $search = { id => 'cookie', + user_id => Bugzilla->user->id, + bug_list => join(',', @$bug_ids) }; + + bless $search, $class; + return $search; +} + #################### # Simple Accessors # #################### diff --git a/Bugzilla/User.pm b/Bugzilla/User.pm index 1dc03a9c7c..bf0a9e7e92 100644 --- a/Bugzilla/User.pm +++ b/Bugzilla/User.pm @@ -425,7 +425,8 @@ sub recent_search_for { if (my $list = $cgi->cookie('BUGLIST')) { my @bug_ids = split(':', $list); if (grep { $_ == $bug->id } @bug_ids) { - return { id => 'cookie', bug_list => \@bug_ids }; + my $search = Bugzilla::Search::Recent->new_from_cookie(\@bug_ids); + return $search; } }