--- deliantra/Deliantra-Client/DC/Main.pm 2011/12/27 09:17:27 1.2
+++ deliantra/Deliantra-Client/DC/Main.pm 2011/12/30 10:59:00 1.5
@@ -19,6 +19,7 @@
use common::sense;
use Carp 'verbose';
+use Cwd ();
use EV;
BEGIN { *time = \&EV::time }
@@ -42,7 +43,15 @@
BEGIN {
$SIG{__DIE__} = sub {
- return if $^S;
+ return if $^S; # quick reject
+
+ # return if there are any eval contexts in the csall stack
+ for my $i (0..999) {
+ my ($sub, $is_require) = (caller $i)[3, 7]
+ or last;
+ return if $sub eq "(eval)" && !$is_require;
+ }
+
crash "CRASH/DIE: $_[0]" => 1;
DC::fatal Carp::longmess "$_[0]";
}
@@ -1133,7 +1142,7 @@
tooltip => "You can override the audio driver to use here. Leaving it empty will result "
. "in Deliantra picking one automatically. GNU/Linux users often prefer specific "
. "drivers though, and can experiment with alsa, dsp, esd, pulse, arts, nas "
- . "or other system-specific drivers. Selecting the wrong driver here will simply result"
+ . "or other system-specific drivers. Selecting the wrong driver here will simply result "
. "in no sound.",
on_changed => sub { my ($self, $value) = @_; $CFG->{audio_driver} = $value; 1 }
);
@@ -1843,12 +1852,12 @@
$table->add_at (1, $row++, new DC::UI::Label align => 0, text => $Deliantra::VARDIR, tooltip => "");
$table->add_at (0, $row , new DC::UI::Label align => 1, text => "Database Directory");
$table->add_at (1, $row++, new DC::UI::Label align => 0, text => $DC::DB::DBDIR, tooltip => "");
+ $table->add_at (0, $row , new DC::UI::Label align => 1, text => "Urlader (Prebuilt)");
+ $table->add_at (1, $row++, new DC::UI::Label align => 0, text => $ENV{URLADER_VERSION}, tooltip => "");
$table->add_at (0, $row , new DC::UI::Label align => 1, text => "Branch (Prebuilt)");
- $table->add_at (1, $row++, new DC::UI::Label align => 0, text => $::EXE_ID, tooltip => "");
+ $table->add_at (1, $row++, new DC::UI::Label align => 0, text => $ENV{URLADER_EXE_ID}, tooltip => "");
$table->add_at (0, $row , new DC::UI::Label align => 1, text => "Version (Prebuilt)");
- $table->add_at (1, $row++, new DC::UI::Label align => 0, text => $::EXE_VER, tooltip => "");
- $table->add_at (0, $row , new DC::UI::Label align => 1, text => "Update (Prebuilt)");
- $table->add_at (1, $row++, new DC::UI::Label align => 0, text => $::UPDPAR, tooltip => "");
+ $table->add_at (1, $row++, new DC::UI::Label align => 0, text => $ENV{URLADER_EXE_VER}, tooltip => "");
}
$vbox
@@ -2840,8 +2849,11 @@
}
}
- $ENV{FONTCONFIG_FILE} = DC::find_rcfile "fonts/fonts.conf";
- $ENV{FONTCONFIG_DIR} = DC::find_rcfile "fonts";
+ # fontconfig doesn't support relative paths anymore, so use abs_path and keep fingers crossed
+ # these are ignored under windows, for some reason, and thus set in the loader
+ $ENV{FONTCONFIG_FILE} = "fonts.conf";
+ $ENV{FONTCONFIG_PATH} = Cwd::abs_path DC::find_rcfile "fonts";
+ $ENV{FONTCONFIG_DIR} = $ENV{FONTCONFIG_PATH}; # helps with older versions
{
my @fonts = map DC::find_rcfile "fonts/$_", qw(