Also set the cached flag on CFU activation and
re-querying of the conditionals.
---
 src/call-forwarding.c |   10 ++++++++++
 1 files changed, 10 insertions(+), 0 deletions(-)

diff --git a/src/call-forwarding.c b/src/call-forwarding.c
index 786d163..aa1ece7 100644
--- a/src/call-forwarding.c
+++ b/src/call-forwarding.c
@@ -659,6 +659,16 @@ static void set_query_cf_callback(const struct ofono_error 
*error, int total,
        DBG("%s conditions:", cf_type_lut[cf->query_next]);
        cf_cond_list_print(cf->cf_conditions[cf->query_next]);
 
+       if (cf->query_next == CALL_FORWARDING_TYPE_UNCONDITIONAL) {
+               cf->flags |= CALL_FORWARDING_FLAG_CACHED;
+
+               /*
+                * CFU has been disabled, conditionals need to be updated
+                */
+               if (is_cfu_enabled(cf) == FALSE)
+                       cf->query_end = CALL_FORWARDING_TYPE_NOT_REACHABLE;
+       }
+
        if (cf->query_next == cf->query_end)
                return;
 
-- 
1.7.5.4

_______________________________________________
ofono mailing list
[email protected]
http://lists.ofono.org/listinfo/ofono

Reply via email to