From b0f0110b1683d16ccb47a1680ac8f8b0c7b0625d Mon Sep 17 00:00:00 2001 From: Jeff Peeler Date: Tue, 4 Aug 2009 15:35:49 +0000 Subject: [PATCH] Fix broken call pickup The find_channel_by_group callback was only looking at the channel that was attempting to make the pickup instead of the other channels in the container. git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@210302 65c4cc65-6c06-0410-ace0-fbb531ad65f3 --- main/features.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/main/features.c b/main/features.c index 457e6c9484..b0774c2b72 100644 --- a/main/features.c +++ b/main/features.c @@ -4630,13 +4630,13 @@ static int find_channel_by_group(void *obj, void *arg, void *data, int flags) struct ast_channel *c = data; struct ast_channel *chan = obj; - int i = !c->pbx && + int i = !chan->pbx && /* Accessing 'chan' here is safe without locking, because there is no way for the channel do disappear from under us at this point. pickupgroup *could* change while we're here, but that isn't a problem. */ (c != chan) && (chan->pickupgroup & c->callgroup) && - ((c->_state == AST_STATE_RINGING) || (c->_state == AST_STATE_RING)); + ((chan->_state == AST_STATE_RINGING) || (chan->_state == AST_STATE_RING)); return i ? CMP_MATCH | CMP_STOP : 0; }