Package: gnome-power-manager Version: 2.32.0-2 Severity: important
After "gnome-power-manager" dims the screen it restores to a wrong brightness level because it floors its %->discrete calculation instead of rounding it. I've attached a patch for this and I've submitted it upstream.
-- Pedro Martínez Juliá Department of Communication and Information Engineering Faculty of Computer Science University of Murcia Email: pedr...@um.es --------------------------------------------------------- *** Entia non sunt multiplicanda praeter necessitatem ***
>From 9d2952244e5b4f3667e02d5d26aed0a251df5651 Mon Sep 17 00:00:00 2001 From: Pedro Martinez-Julia <pedr...@um.es> Date: Mon, 7 Mar 2011 23:31:40 +0100 Subject: [PATCH] Fixed #644143, how to convert from percentage to discrete and vice-versa. --- src/egg-discrete.c | 4 ++-- 1 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/egg-discrete.c b/src/egg-discrete.c index a051282..fe910cc 100644 --- a/src/egg-discrete.c +++ b/src/egg-discrete.c @@ -47,7 +47,7 @@ egg_discrete_from_percent (guint percentage, guint levels) egg_warning ("levels is 0!"); return 0; } - return ((gfloat) percentage * (gfloat) (levels - 1)) / 100.0f; + return (guint) ((((gfloat) percentage * (gfloat) (levels - 1)) / 100.0f) + 0.5f); } /** @@ -69,7 +69,7 @@ egg_discrete_to_percent (guint discrete, guint levels) egg_warning ("levels is 0!"); return 0; } - return (guint) ((gfloat) discrete * (100.0f / (gfloat) (levels - 1))); + return (guint) (((gfloat) discrete * (100.0f / (gfloat) (levels - 1))) + 0.5f); } /** -- 1.7.4.1