From 71dcb7fcc4b10e956668485b7ac1f9a5c1735dfb Mon Sep 17 00:00:00 2001 From: Julian Murgia Date: Wed, 26 Jul 2017 23:29:51 +0200 Subject: [PATCH] Fixes power management on x11 platform and removes explicit NULL pointer dereference. --- platform/x11/os_x11.cpp | 2 ++ platform/x11/power_x11.cpp | 11 ++--------- 2 files changed, 4 insertions(+), 9 deletions(-) diff --git a/platform/x11/os_x11.cpp b/platform/x11/os_x11.cpp index 5bfe31b8c29..1dde328edab 100644 --- a/platform/x11/os_x11.cpp +++ b/platform/x11/os_x11.cpp @@ -497,6 +497,8 @@ void OS_X11::initialize(const VideoMode &p_desired, int p_video_driver, int p_au joypad = memnew(JoypadLinux(input)); #endif _ensure_data_dir(); + + power_manager = memnew(PowerX11); } void OS_X11::xim_destroy_callback(::XIM im, ::XPointer client_data, diff --git a/platform/x11/power_x11.cpp b/platform/x11/power_x11.cpp index 093d24f4063..8e69a2223f8 100644 --- a/platform/x11/power_x11.cpp +++ b/platform/x11/power_x11.cpp @@ -171,25 +171,18 @@ void PowerX11::check_proc_acpi_battery(const char *node, bool *have_battery, boo charge = true; } } else if (String(key) == "remaining capacity") { - char *endptr = NULL; - //const int cvt = (int) strtol(val, &endptr, 10); String sval = val; const int cvt = sval.to_int(); - if (*endptr == ' ') { - remaining = cvt; - } + remaining = cvt; } } ptr = &info[0]; while (make_proc_acpi_key_val(&ptr, &key, &val)) { if (String(key) == "design capacity") { - char *endptr = NULL; String sval = val; const int cvt = sval.to_int(); - if (*endptr == ' ') { - maximum = cvt; - } + maximum = cvt; } }