Changeset View
Changeset View
Standalone View
Standalone View
sysutils/xfce4-power-manager/files/patch-src_xfpm-backlight-helper.c
--- src/xfpm-backlight-helper.c.orig 2017-11-23 23:52:06 UTC | --- src/xfpm-backlight-helper.c.orig 2020-01-26 23:15:39 UTC | ||||
+++ src/xfpm-backlight-helper.c | +++ src/xfpm-backlight-helper.c | ||||
@@ -49,6 +49,8 @@ | @@ -49,6 +49,8 @@ | ||||
#define EXIT_CODE_INVALID_USER 4 | #define EXIT_CODE_INVALID_USER 4 | ||||
#define EXIT_CODE_NO_BRIGHTNESS_SWITCH 5 | #define EXIT_CODE_NO_BRIGHTNESS_SWITCH 5 | ||||
+#define MAX_DEVICE_NUM 8 | +#define MAX_DEVICE_NUM 8 | ||||
+ | + | ||||
#if !defined(BACKEND_TYPE_FREEBSD) | #if !defined(BACKEND_TYPE_FREEBSD) | ||||
#define BACKLIGHT_SYSFS_LOCATION "/sys/class/backlight" | #define BACKLIGHT_SYSFS_LOCATION "/sys/class/backlight" | ||||
#define BRIGHTNESS_SWITCH_LOCATION "/sys/module/video/parameters/brightness_switch_enabled" | #define BRIGHTNESS_SWITCH_LOCATION "/sys/module/video/parameters/brightness_switch_enabled" | ||||
@@ -204,19 +206,23 @@ backlight_helper_get_device (void) | @@ -204,19 +206,23 @@ backlight_helper_get_device (void) | ||||
/* devices in priority order */ | /* devices in priority order */ | ||||
gchar *types[] = { "lcd", "crt", "out", "ext", "tv", NULL }; | gchar *types[] = { "lcd", "crt", "out", "ext", "tv", NULL }; | ||||
gchar *device = NULL; | gchar *device = NULL; | ||||
- gint i; | - gint i; | ||||
+ gint i, j; | + gint i, j; | ||||
- device = (gchar *) g_malloc (sizeof (gchar)); | - device = (gchar *) g_malloc (sizeof (gchar)); | ||||
+ device = (gchar *) g_malloc (sizeof (gchar) * 8); | + device = (gchar *) g_malloc (sizeof (gchar) * 8); | ||||
for (i = 0; types[i] != NULL; i++) { | for (i = 0; types[i] != NULL; i++) { | ||||
- g_snprintf (device, (gulong) strlen (types[i]), "%s0", types[i]); | - g_snprintf (device, (gulong) strlen (types[i]), "%s0", types[i]); | ||||
+ for (j = 0; j < MAX_DEVICE_NUM; j++) { | + for (j = 0; j < MAX_DEVICE_NUM; j++) { | ||||
+ g_snprintf (device, 8, "%s%i", types[i], j); | + g_snprintf (device, 8, "%s%i", types[i], j); | ||||
- /* stop, when first device is found */ | - /* stop, when first device is found */ | ||||
- if (acpi_video_is_enabled (device)) | - if (acpi_video_is_enabled (device)) | ||||
- break; | - break; | ||||
+ /* stop, when first device is found */ | + /* stop, when first device is found */ | ||||
+ if (acpi_video_is_enabled (device)) | + if (acpi_video_is_enabled (device)) | ||||
+ return (device); | + return (device); | ||||
+ } | + } | ||||
} | } | ||||
- return device; | - return device; | ||||
+ g_free (device); | + g_free (device); | ||||
+ | + | ||||
+ return (NULL); | + return (NULL); | ||||
} | } | ||||
/* | /* |