summaryrefslogtreecommitdiff
path: root/community/lxpanel/battery.patch
diff options
context:
space:
mode:
Diffstat (limited to 'community/lxpanel/battery.patch')
-rw-r--r--community/lxpanel/battery.patch72
1 files changed, 72 insertions, 0 deletions
diff --git a/community/lxpanel/battery.patch b/community/lxpanel/battery.patch
new file mode 100644
index 000000000..5d701ea6d
--- /dev/null
+++ b/community/lxpanel/battery.patch
@@ -0,0 +1,72 @@
+diff --git plugins/batt/batt_sys.c plugins/batt/batt_sys.c
+index 54ff678..1eebab5 100644
+--- a/src/plugins/batt/batt_sys.c
++++ b/src/plugins/batt/batt_sys.c
+@@ -35,15 +35,6 @@
+ #include <stdlib.h>
+ #include <string.h>
+
+-battery* battery_new() {
+- static int battery_num = 1;
+- battery * b = g_new0 ( battery, 1 );
+- battery_reset(b);
+- b->battery_num = battery_num;
+- battery_num++;
+- return b;
+-}
+-
+ void battery_reset( battery * b) {
+ b->type_battery = TRUE;
+ b->capacity_unit = "mAh";
+@@ -58,6 +49,15 @@ void battery_reset( battery * b) {
+ b->state = NULL;
+ }
+
++battery* battery_new() {
++ static int battery_num = 1;
++ battery * b = g_new0 ( battery, 1 );
++ battery_reset(b);
++ b->battery_num = battery_num;
++ battery_num++;
++ return b;
++}
++
+ static gchar* parse_info_file(char *filename)
+ {
+ char *buf = NULL;
+@@ -194,7 +194,7 @@ void battery_update( battery *b ) {
+
+ /* convert energy values (in mWh) to charge values (in mAh) if needed and possible */
+ if (b->last_capacity_unit != -1 && b->last_capacity == -1) {
+- if (b->voltage != -1) {
++ if (b->voltage > 0) {
+ b->last_capacity = b->last_capacity_unit * 1000 / b->voltage;
+ } else {
+ b->last_capacity = b->last_capacity_unit;
+@@ -202,7 +202,7 @@ void battery_update( battery *b ) {
+ }
+ }
+ if (b->design_capacity_unit != -1 && b->design_capacity == -1) {
+- if (b->voltage != -1) {
++ if (b->voltage > 0) {
+ b->design_capacity = b->design_capacity_unit * 1000 / b->voltage;
+ } else {
+ b->design_capacity = b->design_capacity_unit;
+@@ -210,7 +210,7 @@ void battery_update( battery *b ) {
+ }
+ }
+ if (b->remaining_energy != -1 && b->remaining_capacity == -1) {
+- if (b->voltage != -1) {
++ if (b->voltage > 0) {
+ b->remaining_capacity = b->remaining_energy * 1000 / b->voltage;
+ b->present_rate = b->present_rate * 1000 / b->voltage;
+ } else {
+@@ -220,7 +220,7 @@ void battery_update( battery *b ) {
+ if (b->last_capacity < MIN_CAPACITY)
+ b->percentage = 0;
+ else
+- b->percentage = ((float) b->remaining_energy * 100.0) / (float) b->last_capacity_unit;
++ b->percentage = (float) b->remaining_capacity * 100 / b->last_capacity;
+
+ if (b->percentage > 100)
+ b->percentage = 100;