From bff0372fe16dc754d9b10067a46c40ee15a873ce Mon Sep 17 00:00:00 2001 From: Priit Laes Date: Mon, 11 May 2009 12:09:42 +0300 Subject: [PATCH] Added xrandr-1.3 runtime detection. --- gnome-extra/gnome-power-manager/Manifest | 3 +- .../gnome-power-manager-2.26.1-xrandr13.patch | 68 ++++++++++++++++++++ .../gnome-power-manager-2.26.1.ebuild | 3 + 3 files changed, 73 insertions(+), 1 deletions(-) create mode 100644 gnome-extra/gnome-power-manager/files/gnome-power-manager-2.26.1-xrandr13.patch diff --git a/gnome-extra/gnome-power-manager/Manifest b/gnome-extra/gnome-power-manager/Manifest index 94b9e32..459b38b 100644 --- a/gnome-extra/gnome-power-manager/Manifest +++ b/gnome-extra/gnome-power-manager/Manifest @@ -4,6 +4,7 @@ AUX gnome-power-manager-2.26.0-cpufreq-support.patch 26705 RMD160 312740d4a3377b AUX gnome-power-manager-2.26.0-cpufreq-ui.patch 4279 RMD160 c5cda818aae6d60b6726381e4f645d57275edf7d SHA1 2a0b35a7c0a480e6eec65b1db4fa2446ed08a815 SHA256 c3adc3f709670b91b05a85a67aabe180873670305304824b3c56a9145cccc20d AUX gnome-power-manager-2.26.0-gcc44-options.patch 1118 RMD160 e9e26f67cdfd949d65bf9970b3ed5ace13918746 SHA1 3f371ae4bedf054904a8e3ae00a1fa94dbe82129 SHA256 c55251fb471782356188e1686d1bd8385ea08f0a5904d1ffee048c7e4f8b2614 AUX gnome-power-manager-2.26.1-cpufreq-po.patch 309481 RMD160 47c88c9817a69daeff38a68de9da383b4edcbadc SHA1 bb084c6617b42afc59b56d9a8132c213cbb8825b SHA256 57821393b113a161df5ec84379e1e49032532a0cef33efc7d9e79e22d12fae41 +AUX gnome-power-manager-2.26.1-xrandr13.patch 2175 RMD160 27fc1b3879ddab6432a5614db3d7d0ba33641ca6 SHA1 34fbcb56269da619e94395057e545a1088d3cf17 SHA256 00b14af1736e24c0ae5c6be7d4e89041f1e9c82d1c00cd8c249ca35a92f38acc AUX org.freedesktop.hal.power-management.policy 850 RMD160 42a5da73e27416a897d374f0289ecfdbd59ecdf2 SHA1 eed04e5c57fc20348b4d0ecc6c47322f162329fb SHA256 ec600302d7cb80241c12edaa5c1429997f63b53195d7526923f4496eb62b1b43 DIST gnome-power-manager-2.26.1.tar.bz2 3746551 RMD160 dccb7e3a54c1631b73a225891ac58fa879cdb099 SHA1 07bfd19a7951502b3799c87f2421812d9b3e5d05 SHA256 8d82b9c8ea52d3976d9be771a9d8dcd5ebbb9feccd37cfcfbf3d56bfc2ffac8f -EBUILD gnome-power-manager-2.26.1.ebuild 3413 RMD160 7ab0d2d1864005343b040bb369558a0aea4fd89e SHA1 694aec07e79189ff9de7d84c3bd8b45012dfa061 SHA256 6b609a72ae08289a7cbb00c07795e5374ac030c501159f36a0624db26b458eaa +EBUILD gnome-power-manager-2.26.1.ebuild 3510 RMD160 77a25851dee3352c2274338fec0498eb0caf2178 SHA1 b777030d9d3277b003573ce3fa5c0b2b43214f2c SHA256 348c832c50b8142d27fbf3ec9bbc9884e71b58f5e8a351e2b955953780409221 diff --git a/gnome-extra/gnome-power-manager/files/gnome-power-manager-2.26.1-xrandr13.patch b/gnome-extra/gnome-power-manager/files/gnome-power-manager-2.26.1-xrandr13.patch new file mode 100644 index 0000000..73cf12a --- /dev/null +++ b/gnome-extra/gnome-power-manager/files/gnome-power-manager-2.26.1-xrandr13.patch @@ -0,0 +1,68 @@ +--- a/src/gpm-brightness-xrandr.c 2009-04-21 13:43:28.000000000 +0300 ++++ b/src/gpm-brightness-xrandr.c 2009-05-11 11:58:15.000000000 +0300 +@@ -60,6 +60,7 @@ + Display *dpy; + guint shared_value; + gboolean has_extension; ++ gboolean has_randr13; + gboolean hw_changed; + /* An cache of XRRScreenResources is used as XRRGetScreenResources is expensive */ + GPtrArray *resources; +@@ -171,6 +172,32 @@ + } + + /** ++ * gpm_brightness_xrandr_setup_version: Check whether xserver really supports xrandr-1.3 features. ++ **/ ++static gboolean ++gpm_brightness_xrandr_setup_version (GpmBrightnessXRandR *brightness) ++{ ++ gint major, minor; ++ ++ g_return_val_if_fail (GPM_IS_BRIGHTNESS_XRANDR (brightness), FALSE); ++ ++ /* get the display */ ++ brightness->priv->dpy = GDK_DISPLAY(); ++ if (!brightness->priv->dpy) { ++ egg_error ("Cannot open display"); ++ return FALSE; ++ } ++ if (!XRRQueryVersion (brightness->priv->dpy, &major, &minor)) { ++ return FALSE; ++ } ++ if (major == 1 && minor < 3) { ++ egg_debug ("RandR version %d.%d does not support XRRGetScreenResourcesCurrent", major, minor); ++ return FALSE; ++ } ++ return TRUE; ++} ++ ++/** + * gpm_brightness_xrandr_output_get_limits: + **/ + static gboolean +@@ -616,9 +643,14 @@ + root = RootWindow (brightness->priv->dpy, screen); + /* XRRGetScreenResourcesCurrent is less expensive than + XRRGetScreenResources, however it is available only +- in RandR 1.3 or higher */ ++ in RandR 1.3 or higher and of course xserver needs ++ to support it. ++ */ + #if (RANDR_MAJOR == 1 && RANDR_MINOR >= 3) +- resource = XRRGetScreenResourcesCurrent (brightness->priv->dpy, root); ++ if (brightness->priv->has_randr13) ++ resource = XRRGetScreenResourcesCurrent (brightness->priv->dpy, root); ++ else ++ resource = XRRGetScreenResources (brightness->priv->dpy, root); + #else + resource = XRRGetScreenResources (brightness->priv->dpy, root); + #endif +@@ -684,6 +716,7 @@ + + /* can we do this */ + brightness->priv->has_extension = gpm_brightness_xrandr_setup_display (brightness); ++ brightness->priv->has_randr13 = gpm_brightness_xrandr_setup_version (brightness); + if (brightness->priv->has_extension == FALSE) + return; + diff --git a/gnome-extra/gnome-power-manager/gnome-power-manager-2.26.1.ebuild b/gnome-extra/gnome-power-manager/gnome-power-manager-2.26.1.ebuild index a1d44cf..f8ffe6f 100644 --- a/gnome-extra/gnome-power-manager/gnome-power-manager-2.26.1.ebuild +++ b/gnome-extra/gnome-power-manager/gnome-power-manager-2.26.1.ebuild @@ -93,6 +93,9 @@ src_prepare() { # Fix uninstalled cpufreq schemas, bug #266995 epatch "${FILESDIR}/${PN}-2.26.0-cpufreq-schemas.patch" + # Add xrand13 runtime detection, bug #268021 + epatch "${FILESDIR}/${PN}-2.26.1-xrandr13.patch" + intltoolize --force --copy --automake || die "intltoolize failed" # Make it libtool-1 compatible -- 1.6.3