From: Russell Bryant Date: Sat, 29 Jan 2005 07:19:10 +0000 (+0000) Subject: Fix interation of # transfer and flash hook transfer (bug #3011) X-Git-Tag: 1.0.11.1~237 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=e1a6d33ed07b6e062754c73852bbaf2b72d72c61;p=thirdparty%2Fasterisk.git Fix interation of # transfer and flash hook transfer (bug #3011) git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/v1-0@4917 65c4cc65-6c06-0410-ace0-fbb531ad65f3 --- diff --git a/channels/chan_zap.c b/channels/chan_zap.c index 3aa5678fec..72b22af776 100755 --- a/channels/chan_zap.c +++ b/channels/chan_zap.c @@ -2576,6 +2576,7 @@ static int zt_bridge(struct ast_channel *c0, struct ast_channel *c1, int flags, if (flags & (AST_BRIDGE_DTMF_CHANNEL_0 | AST_BRIDGE_DTMF_CHANNEL_1)) return -2; + ast_mutex_lock(&c0->lock); ast_mutex_lock(&c1->lock); @@ -4165,6 +4166,11 @@ static int zt_write(struct ast_channel *ast, struct ast_frame *frame) ast_log(LOG_DEBUG, "Dropping frame since I'm still dialing on %s...\n",ast->name); return 0; } + if (!p->owner) { + if (option_debug) + ast_log(LOG_DEBUG, "Dropping frame since there is no active owner on %s...\n",ast->name); + return 0; + } if (p->cidspill) { if (option_debug) ast_log(LOG_DEBUG, "Dropping frame since I've still got a callerid spill\n");