]> wagnertech.de Git - mfinanz.git/blobdiff - SL/Dispatcher.pm
Vor Exception-Ausgabe sicherstellen, dass das aktuelle Verzeichnis OK ist
[mfinanz.git] / SL / Dispatcher.pm
index 9083b8df67f6ba047ed782d27411c3920424086e..c6f3b5e10d186b4580079f817d726d7319084313 100644 (file)
@@ -3,8 +3,12 @@ package SL::Dispatcher;
 use strict;
 
 BEGIN {
-  unshift @INC, "modules/override"; # Use our own versions of various modules (e.g. YAML).
-  push    @INC, "modules/fallback"; # Only use our own versions of modules if there's no system version.
+  use SL::System::Process;
+  my $exe_dir = SL::System::Process::exe_dir;
+
+  unshift @INC, "${exe_dir}/modules/override"; # Use our own versions of various modules (e.g. YAML).
+  push    @INC, "${exe_dir}/modules/fallback"; # Only use our own versions of modules if there's no system version.
+  unshift @INC, $exe_dir;
 }
 
 use CGI qw( -no_xhtml);
@@ -249,6 +253,7 @@ sub handle_request {
     if ($EVAL_ERROR ne END_OF_REQUEST) {
       print STDERR $EVAL_ERROR;
       $::form->{label_error} = $::request->{cgi}->pre($EVAL_ERROR);
+      chdir SL::System::Process::exe_dir;
       eval { show_error('generic/error') };
     }
   };