From a0526df192782a3968b2648050927653655ba4c8 Mon Sep 17 00:00:00 2001 From: Dirk Koopman Date: Sun, 8 Jul 2007 16:08:34 +0100 Subject: [PATCH 1/1] put in temp fix for pc10 talk crashes --- Changes | 3 +++ perl/DXProtHandle.pm | 20 ++++++++++++++------ perl/Version.pm | 2 +- 3 files changed, 18 insertions(+), 7 deletions(-) diff --git a/Changes b/Changes index fd9ab102..a37bf744 100644 --- a/Changes +++ b/Changes @@ -1,3 +1,6 @@ +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 diff --git a/perl/DXProtHandle.pm b/perl/DXProtHandle.pm index 5e3f0597..b58f95bf 100644 --- a/perl/DXProtHandle.pm +++ b/perl/DXProtHandle.pm @@ -1738,9 +1738,14 @@ sub handle_93 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 @@ -1748,14 +1753,17 @@ sub handle_93 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; } diff --git a/perl/Version.pm b/perl/Version.pm index a95140f8..cb6fc877 100644 --- a/perl/Version.pm +++ b/perl/Version.pm @@ -11,6 +11,6 @@ use vars qw($version $subversion $build); $version = '1.54'; $subversion = '0'; -$build = '107'; +$build = '108'; 1; -- 2.43.0