summaryrefslogtreecommitdiffstats
path: root/src/cbs.c
diff options
context:
space:
mode:
authorDenis Kenzior <denkenz@gmail.com>2011-02-17 14:49:03 -0600
committerDenis Kenzior <denkenz@gmail.com>2011-02-17 15:09:17 -0600
commit7f43fc0f69606dfb248fe37d1c48ad73f5dbc744 (patch)
treea8c589f5502e1bf865171a8d9506ed9f904fea41 /src/cbs.c
parent9e640a246a563564e184335324fb3932fe4facdb (diff)
downloadofono-7f43fc0f69606dfb248fe37d1c48ad73f5dbc744.tar.bz2
cbs: Set topics on EFcbmid change only if powered
Diffstat (limited to 'src/cbs.c')
-rw-r--r--src/cbs.c11
1 files changed, 6 insertions, 5 deletions
diff --git a/src/cbs.c b/src/cbs.c
index c58ff892..d99f2508 100644
--- a/src/cbs.c
+++ b/src/cbs.c
@@ -853,7 +853,6 @@ static void sim_cbmid_read_cb(int ok, int length, int record,
int i;
char *str;
GSList *contents = NULL;
- char *topic_str;
if (!ok)
goto done;
@@ -889,10 +888,12 @@ static void sim_cbmid_read_cb(int ok, int length, int record,
done:
if (cbs->efcbmid_update) {
- topic_str = cbs_topics_to_str(cbs, cbs->topics);
- cbs->driver->set_topics(cbs, topic_str,
- cbs_set_powered_cb, cbs);
- g_free(topic_str);
+ if (cbs->powered == TRUE) {
+ char *topic_str = cbs_topics_to_str(cbs, cbs->topics);
+ cbs->driver->set_topics(cbs, topic_str,
+ cbs_set_powered_cb, cbs);
+ g_free(topic_str);
+ }
cbs->efcbmid_update = FALSE;
} else