From: Denis Kenzior Date: Thu, 25 Jun 2009 16:43:45 +0000 (-0500) Subject: Preserve clip_validity X-Git-Tag: 0.1~44 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=74bbdea02df251d18c9ea2cf68b0644080eee064;p=platform%2Fupstream%2Fofono.git Preserve clip_validity CLCC does not report clip_validity. So if clip_validity of witheld has been reported in CLIP, but we're still somehow polling CLCC, which happens if CRING is not supported, and RING is used instead, this fact can be lost. Make sure we preserve clip_validity if possible --- diff --git a/drivers/atmodem/voicecall.c b/drivers/atmodem/voicecall.c index 3a2291b..dd837e7 100644 --- a/drivers/atmodem/voicecall.c +++ b/drivers/atmodem/voicecall.c @@ -286,6 +286,15 @@ static void clcc_poll_cb(gboolean ok, GAtResult *result, gpointer user_data) n = n->next; } else { + /* Always use the clip_validity from old call + * the only place this is truly told to us is + * in the CLIP notify, the rest are fudged + * anyway. Useful when RING, CLIP is used, + * and we're forced to use CLCC and clip_validity + * is 1 + */ + nc->clip_validity = oc->clip_validity; + if (memcmp(nc, oc, sizeof(struct ofono_call)) && !nc->type) ofono_voicecall_notify(modem, nc);