--- deliantra/Deliantra-Client/bin/cfplus 2006/12/09 21:26:46 1.138 +++ deliantra/Deliantra-Client/bin/cfplus 2006/12/16 17:33:26 1.141 @@ -70,7 +70,7 @@ $SIG{QUIT} = sub { Carp::cluck "QUIT" }; $SIG{PIPE} = 'IGNORE'; -$Event::Eval = 0; +$Event::Eval = 1; $Event::DIED = sub { CFPlus::fatal Carp::longmess $_[1] }; @@ -178,10 +178,28 @@ if $_[0]{query_dialog}; } +# FIXME: a very ugly hack to wait for stat update look below! #d# +our $QUERY_TIMER; #d# + # server query dialog sub server_query { my ($conn, $flags, $prompt) = @_; + # FIXME: a very ugly hack to wait for stat update #d# + if ($prompt =~ /roll new stats/ and not $conn->{stat_change_with}) { + unless ($QUERY_TIMER) { + $QUERY_TIMER = + Event->timer ( + after => 1, + cb => sub { + server_query ($conn, $flags, $prompt, 1); + $QUERY_TIMER = undef + } + ); + return; + } + } + $conn->{query_dialog} = my $dialog = new CFPlus::UI::Toplevel x => "center", y => "center", @@ -1772,6 +1790,7 @@ sub setup_build_button { my ($enabled) = @_; if ($enabled) { + $BUILD_BUTTON->hide if $BUILD_BUTTON; $BUILD_BUTTON ||= new CFPlus::UI::Button text => "Build", tooltip => "Opens the ingame builder",