From c613cdc8c99cd4e8e4c1c78c99dcab8dce9b6572 Mon Sep 17 00:00:00 2001 From: Jamie Cameron Date: Fri, 8 Apr 2016 12:07:54 -0700 Subject: [PATCH] don;'t completely crash if one module fails --- web-lib-funcs.pl | 15 +++++++++------ 1 file changed, 9 insertions(+), 6 deletions(-) diff --git a/web-lib-funcs.pl b/web-lib-funcs.pl index 2bdd59371..94237b74e 100755 --- a/web-lib-funcs.pl +++ b/web-lib-funcs.pl @@ -10264,12 +10264,15 @@ foreach my $m (&get_available_module_infos()) { my $dir = &module_root_directory($m->{'dir'}); my $mfile = "$dir/webmin_menu.pl"; next if (!-r $mfile); - &foreign_require($m->{'dir'}, "webmin_menu.pl"); - foreach my $i (&foreign_call($m->{'dir'}, "list_webmin_menu", - $data, $in)) { - $i->{'module'} = $m->{'dir'}; - push(@rv, $i); - } + eval { + local $main::error_must_die = 1; + &foreign_require($m->{'dir'}, "webmin_menu.pl"); + foreach my $i (&foreign_call($m->{'dir'}, "list_webmin_menu", + $data, $in)) { + $i->{'module'} = $m->{'dir'}; + push(@rv, $i); + } + }; } return sort { ($b->{'priority'} || 0) <=> ($a->{'priority'} || 0) } @rv; }