[gnome-shell] Use gdk_screen_get_primary_monitor on gtk-2.20.1+
- From: Adel Gadllah <agadllah src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gnome-shell] Use gdk_screen_get_primary_monitor on gtk-2.20.1+
- Date: Wed, 12 May 2010 07:36:04 +0000 (UTC)
commit 410dfb2da307d5a30976fb596f1edb7784165a54
Author: Adel Gadllah <adel gadllah gmail com>
Date: Wed May 12 09:35:32 2010 +0200
Use gdk_screen_get_primary_monitor on gtk-2.20.1+
Starting with gtk-2.20.0 there is a gdk_screen_get_primary_monitor,
which supports querying the primary monitor from xrandr.
But due to a sorting bug and lack of heuristics in the fallback path,
it isn't really useable.
Those bugs are fixed in gtk-2.20.1, so use it when building with
gtk-2.20.1+.
https://bugzilla.gnome.org/show_bug.cgi?id=608647
src/shell-global.c | 12 +++++++++++-
1 files changed, 11 insertions(+), 1 deletions(-)
---
diff --git a/src/shell-global.c b/src/shell-global.c
index 2228ef4..59db203 100644
--- a/src/shell-global.c
+++ b/src/shell-global.c
@@ -1117,7 +1117,14 @@ shell_global_get_primary_monitor (ShellGlobal *global)
{
GdkScreen *screen = gdk_screen_get_default ();
GdkRectangle rect;
- gint i, primary = 0;
+ gint primary = 0;
+
+ /* gdk_screen_get_primary_monitor is only present in gtk-2.20+
+ * and is in a useable state (supports heuristics and fallback modes)
+ * starting with 2.20.1
+ */
+#if !GTK_CHECK_VERSION (2, 20, 1)
+ gint i;
gchar *output_name = NULL;
gint num_monitors = gdk_screen_get_n_monitors (screen);
@@ -1136,6 +1143,9 @@ shell_global_get_primary_monitor (ShellGlobal *global)
}
}
}
+#else
+ primary = gdk_screen_get_primary_monitor (screen);
+#endif
gdk_screen_get_monitor_geometry (screen, primary, &rect);
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]