diff options
author | Mart Raudsepp <leio@gentoo.org> | 2008-02-21 14:04:26 +0000 |
---|---|---|
committer | Mart Raudsepp <leio@gentoo.org> | 2008-02-21 14:04:26 +0000 |
commit | c3406599b48224a04d2c2a3dda4d7bb9bb4a9430 (patch) | |
tree | 6d2ea1fbc22cc744c721f5410797916881164c44 /gnome-extra/gnome-screensaver/files | |
parent | alpha/ia64/sparc/x86 stable (diff) | |
download | gentoo-2-c3406599b48224a04d2c2a3dda4d7bb9bb4a9430.tar.gz gentoo-2-c3406599b48224a04d2c2a3dda4d7bb9bb4a9430.tar.bz2 gentoo-2-c3406599b48224a04d2c2a3dda4d7bb9bb4a9430.zip |
Improve gamma restoring, bug 201019. Thanks to Pacho Ramos
(Portage version: 2.1.4.4)
Diffstat (limited to 'gnome-extra/gnome-screensaver/files')
-rw-r--r-- | gnome-extra/gnome-screensaver/files/gnome-screensaver-2.20.0-fix-gamma.patch | 60 |
1 files changed, 60 insertions, 0 deletions
diff --git a/gnome-extra/gnome-screensaver/files/gnome-screensaver-2.20.0-fix-gamma.patch b/gnome-extra/gnome-screensaver/files/gnome-screensaver-2.20.0-fix-gamma.patch new file mode 100644 index 000000000000..3afe0cb80f91 --- /dev/null +++ b/gnome-extra/gnome-screensaver/files/gnome-screensaver-2.20.0-fix-gamma.patch @@ -0,0 +1,60 @@ +http://bugzilla.gnome.org/show_bug.cgi?id=342850 +http://bugs.gentoo.org/show_bug.cgi?id=201019 + +Index: src/gs-fade.c +=================================================================== +--- src/gs-fade.c (revision 1322) ++++ src/gs-fade.c (working copy) +@@ -296,6 +296,10 @@ + } + # endif + ++ if (fade->priv->gamma_info) { ++ return TRUE; ++ } ++ + info = g_new0 (xf86_gamma_info, fade->priv->num_screens); + fade->priv->gamma_info = info; + +@@ -402,8 +406,10 @@ + int screen; + gboolean res; + +- for (screen = 0; screen < fade->priv->num_screens; screen++) { +- res = xf86_whack_gamma (screen, &fade->priv->gamma_info [screen], alpha); ++ if (fade->priv->gamma_info) { ++ for (screen = 0; screen < fade->priv->num_screens; screen++) { ++ res = xf86_whack_gamma (screen, &fade->priv->gamma_info [screen], alpha); ++ } + } + + return TRUE; +@@ -523,6 +529,8 @@ + + g_return_if_fail (GS_IS_FADE (fade)); + ++ gamma_info_init (fade); ++ + if (fade->priv->timer_id > 0) { + gs_fade_stop (fade); + } +@@ -641,6 +649,8 @@ + fade->priv->current_alpha = 1.0; + + gs_fade_set_alpha (fade, fade->priv->current_alpha); ++ ++ gamma_info_free (fade); + } + + static void +@@ -681,7 +691,9 @@ + display = gdk_display_get_default (); + fade->priv->num_screens = gdk_display_get_n_screens (display); + +- gamma_info_init (fade); ++#ifdef HAVE_XF86VMODE_GAMMA ++ fade->priv->gamma_info = NULL; ++#endif + } + + static void |