totem r5014 - in trunk: . src/backend



Author: hadess
Date: Thu Jan 10 11:13:44 2008
New Revision: 5014
URL: http://svn.gnome.org/viewvc/totem?rev=5014&view=rev

Log:
2008-01-10  Bastien Nocera  <hadess hadess net>

	* src/backend/bacon-resize.c: (bacon_resize), (bacon_restore):
	Don't try to change the resolution in multi monitor mode,
	as the VidMode extension doesn't allow for multiple monitors
	(Closes: #472494)



Modified:
   trunk/ChangeLog
   trunk/src/backend/bacon-resize.c

Modified: trunk/src/backend/bacon-resize.c
==============================================================================
--- trunk/src/backend/bacon-resize.c	(original)
+++ trunk/src/backend/bacon-resize.c	Thu Jan 10 11:13:44 2008
@@ -92,6 +92,13 @@
 
 	screen = gtk_widget_get_screen (widget);
 	root = gdk_screen_get_root_window (screen);
+
+	/* XF86VidModeGetModeLine just doesn't work nicely with multiple monitors */
+	if (gdk_screen_get_n_monitors (screen) > 1) {
+		XUnlockDisplay (Display);
+		return;
+	}
+
 	res = XF86VidModeGetModeLine (Display, GDK_SCREEN_XNUMBER (screen), &dotclock, &modeline);
 	if (!res) {
 		XUnlockDisplay (Display);
@@ -99,8 +106,9 @@
 	}
 
 	/* Check if there's a viewport */
-	width = gdk_screen_width ();
-	height = gdk_screen_height ();
+	width = gdk_screen_get_width (screen);
+	height = gdk_screen_get_height (screen);
+
 	if (width <= modeline.hdisplay && height <= modeline.vdisplay) {
 		XUnlockDisplay (Display);
 		return;
@@ -175,10 +183,10 @@
 	}
 
 	/* Check if there's a viewport */
-	width = gdk_screen_width ();
-	height = gdk_screen_height ();
-	if (width > modeline.hdisplay
-	    && height > modeline.vdisplay) {
+	width = gdk_screen_get_width (screen);
+	height = gdk_screen_get_height (screen);
+
+	if (width > modeline.hdisplay && height > modeline.vdisplay) {
 		XUnlockDisplay (Display);
 		return;
 	}



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]