Sophie

Sophie

distrib > Mandriva > 2009.0 > i586 > by-pkgid > 6b6a59f2906ad4b4449229e0ccfab10e > files > 8

krandr-0.5.2.1-15mdv2009.0.src.rpm

--- krandr-0.5.2.1/randr/randrdisplay.cpp.orig	2007-09-12 11:00:50.000000000 -0300
+++ krandr-0.5.2.1/randr/randrdisplay.cpp	2007-09-12 11:05:15.000000000 -0300
@@ -64,6 +64,27 @@ RandRDisplay::RandRDisplay()
 			m_legacyScreens.append(new LegacyRandRScreen(i));
 	}
 
+#ifdef HAS_RANDR_1_2
+	// check if we have more than one output, if no, revert to the legacy behavior
+	if (RandR::has_1_2)
+	{
+		int count = 0;
+		for (int i = 0; i < m_numScreens; ++i)
+			count += m_screens[i]->outputs().count();
+
+		if (count < 2)
+		{
+			RandR::has_1_2 = false;
+			for (int i = 0; i < m_numScreens; ++i)
+			{
+				delete m_screens[i];
+				m_legacyScreens.append(new LegacyRandRScreen(i));
+			}
+			m_screens.clear();
+		}
+	}
+#endif
+
 	setCurrentScreen(QApplication::desktop()->primaryScreen());
 }