diff options
-rw-r--r-- | src/indicator-power.c | 14 |
1 files changed, 12 insertions, 2 deletions
diff --git a/src/indicator-power.c b/src/indicator-power.c index 275e871..28cc023 100644 --- a/src/indicator-power.c +++ b/src/indicator-power.c @@ -427,10 +427,15 @@ menu_add_device (GtkMenu *menu, &state, &time); - if (kind == UP_DEVICE_KIND_LINE_POWER) + g_debug ("%s: got data from object %s", G_STRFUNC, object_path); + + /* Try to fix the case when we get a empty battery bay as a real battery */ + if (state == UP_DEVICE_STATE_UNKNOWN && + percentage == 0) return; - g_debug ("%s: got data from object %s", G_STRFUNC, object_path); + if (kind == UP_DEVICE_KIND_LINE_POWER) + return; /* Process the data */ device_gicons = get_device_icon (kind, state, device_icon); @@ -582,6 +587,11 @@ get_primary_device (GVariant *devices) g_debug ("%s: got data from object %s", G_STRFUNC, object_path); + /* Try to fix the case when we get a empty battery bay as a real battery */ + if (state == UP_DEVICE_STATE_UNKNOWN && + percentage == 0) + continue; + /* not battery */ if (kind != UP_DEVICE_KIND_BATTERY) continue; |