diff options
author | mvanbaak <mvanbaak@f38db490-d61c-443f-a65b-d21fe96a405b> | 2009-12-04 16:18:57 +0000 |
---|---|---|
committer | mvanbaak <mvanbaak@f38db490-d61c-443f-a65b-d21fe96a405b> | 2009-12-04 16:18:57 +0000 |
commit | 2ca9398edb2fdbd94ef56a599652957c6e086cc7 (patch) | |
tree | 04de30cbab2c18facd3b366212158120df20bbed /channels/chan_skinny.c | |
parent | 08651f52a3d83fead3f3203f79647ac288e9a7cd (diff) |
Only assign line and device in handle_transfer_button when we have a subchannel.
(closes issue #16040)
Reported by: ebroad
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@233059 f38db490-d61c-443f-a65b-d21fe96a405b
Diffstat (limited to 'channels/chan_skinny.c')
-rw-r--r-- | channels/chan_skinny.c | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/channels/chan_skinny.c b/channels/chan_skinny.c index 79eb2fb2b..c7cfb1501 100644 --- a/channels/chan_skinny.c +++ b/channels/chan_skinny.c @@ -4544,8 +4544,8 @@ static int handle_hold_button(struct skinny_subchannel *sub) static int handle_transfer_button(struct skinny_subchannel *sub) { - struct skinny_line *l = sub->parent; - struct skinny_device *d = l->device; + struct skinny_line *l; + struct skinny_device *d; struct skinny_subchannel *newsub; struct ast_channel *c; pthread_t t; @@ -4554,6 +4554,10 @@ static int handle_transfer_button(struct skinny_subchannel *sub) ast_verbose("Transfer: No subchannel to transfer\n"); return -1; } + + l = sub->parent; + d = l->device; + if (!sub->related) { /* Another sub has not been created so this must be first XFER press */ if (!sub->onhold) { |