+08Jul07=======================================================================
+1. put in a temporary fix to the crashing on incoming PC10 talks, whilst I
+try to work out how it is happening.
06Jul07=======================================================================
1. re-arrange id checking so that it is more logical and check that config
records, that can be an hour coming, are not thoughtlessly ignored, thus
my $dxchan;
$dxchan = DXChannel::get($main::myalias) if $to eq $main::mycall;
$dxchan = DXChannel::get($to) unless $dxchan;
- if ($dxchan && $dxchan->is_user) {
- $dxchan->talk($from, $to, $via, $text, $onode);
- return;
+ # check it...
+ if (ref $dxchan && $dxchan->isa('DXChannel')) {
+ if ($dxchan->is_user) {
+ $dxchan->talk($from, $to, $via, $text, $onode);
+ return;
+ }
+ } else {
+ dbg("ERROR: $to -> $dxchan is not a DXChannel! (local talk)");
}
# convert to PC10 talks where appropriate
if ($ref) {
# just go for the "best" one for now (rather than broadcast)
$dxchan = $ref->dxchan;
-# my @dxchan = $ref->alldxchan;
-# for $dxchan (@dxchan) {
+
+ # check it...
+ if (ref $dxchan && $dxchan->isa('DXChannel')) {
if ($dxchan->{do_pc9x}) {
$dxchan->send($line);
} else {
$dxchan->talk($from, $to, $via, $text, $onode);
}
-# }
+ } else {
+ dbg("ERROR: $to -> $dxchan is not a DXChannel! (convert to pc10)");
+ }
return;
}