From 76ef832ce5348d12a871223d4c034c7daeaddb82 Mon Sep 17 00:00:00 2001 From: Tim Williams Date: Mon, 17 Oct 2011 18:47:27 +0100 Subject: Adding the remaining Mandriva patches and spec files --- ...andr-0.5.2.1-change_the_way_crtcs_are_set.patch | 131 +++++++++++++++++++++ 1 file changed, 131 insertions(+) create mode 100644 mandriva/2010.2/applications/krandr/krandr-0.5.2.1-change_the_way_crtcs_are_set.patch (limited to 'mandriva/2010.2/applications/krandr/krandr-0.5.2.1-change_the_way_crtcs_are_set.patch') diff --git a/mandriva/2010.2/applications/krandr/krandr-0.5.2.1-change_the_way_crtcs_are_set.patch b/mandriva/2010.2/applications/krandr/krandr-0.5.2.1-change_the_way_crtcs_are_set.patch new file mode 100644 index 000000000..9a64c309e --- /dev/null +++ b/mandriva/2010.2/applications/krandr/krandr-0.5.2.1-change_the_way_crtcs_are_set.patch @@ -0,0 +1,131 @@ +diff -p -up krandr-0.5.2.1/randr/randrcrtc.cpp.orig krandr-0.5.2.1/randr/randrcrtc.cpp +--- krandr-0.5.2.1/randr/randrcrtc.cpp.orig 2008-03-28 13:56:38.000000000 -0300 ++++ krandr-0.5.2.1/randr/randrcrtc.cpp 2008-03-28 16:15:57.000000000 -0300 +@@ -30,6 +30,13 @@ RandRCrtc::RandRCrtc(RandRScreen *parent + Q_ASSERT(m_screen); + + m_id = id; ++ ++ // just to make sure it gets initialized ++ m_proposedRect = m_currentRect; ++ m_proposedRotation = m_currentRotation; ++ m_proposedRate = m_currentRate; ++ ++ + loadSettings(); + } + +@@ -116,11 +123,6 @@ void RandRCrtc::loadSettings(bool notify + changes |= RandR::ChangeRate; + } + +- // just to make sure it gets initialized +- m_proposedRect = m_currentRect; +- m_proposedRotation = m_currentRotation; +- m_proposedRate = m_currentRate; +- + // free the info + XRRFreeCrtcInfo(info); + +@@ -130,6 +132,7 @@ void RandRCrtc::loadSettings(bool notify + + void RandRCrtc::handleEvent(XRRCrtcChangeNotifyEvent *event) + { ++#if 0 + kdDebug() << "[CRTC] Event..." << endl; + int changed = 0; + +@@ -164,6 +167,7 @@ void RandRCrtc::handleEvent(XRRCrtcChang + + if (changed) + emit crtcChanged(m_id, changed); ++#endif + } + + RRMode RandRCrtc::mode() const +@@ -241,6 +245,7 @@ bool RandRCrtc::applyProposed() + return false; + + RROutput *outputs = new RROutput[m_connectedOutputs.count()]; ++ int connectedCount = m_connectedOutputs.count(); + for (int i = 0; i < m_connectedOutputs.count(); ++i) + outputs[i] = m_connectedOutputs[i]; + +@@ -261,7 +266,7 @@ bool RandRCrtc::applyProposed() + if (!m_screen->rect().contains(r)) + { + // try to adjust the screen size +- if (!m_screen->adjustSize(r)) ++ if (!adjustScreenSize(r, true)) + return false; + } + +@@ -279,7 +284,7 @@ bool RandRCrtc::applyProposed() + + // adjust the screen size + r = r.unite(m_currentRect); +- if (!m_screen->adjustSize(r)) ++ if (!adjustScreenSize(r,true)) + return false; + } + } +@@ -287,7 +292,7 @@ bool RandRCrtc::applyProposed() + + Status s = XRRSetCrtcConfig(qt_xdisplay(), m_screen->resources(), m_id, + RandR::timestamp, m_proposedRect.x(), m_proposedRect.y(), mode.id(), +- m_proposedRotation, outputs, m_connectedOutputs.count()); ++ m_proposedRotation, outputs, connectedCount); + + bool ret; + if (s == RRSetConfigSuccess) +@@ -424,6 +429,19 @@ ModeList RandRCrtc::modes() const + return modeList; + } + ++bool RandRCrtc::adjustScreenSize(const QRect &rect, bool disable) ++{ ++ if (disable) ++ { ++ // disable the crtc before changing screen size ++ Status s = XRRSetCrtcConfig(qt_xdisplay(), m_screen->resources(), m_id, ++ RandR::timestamp, 0, 0, None, ++ RandR::Rotate0, NULL, 0); ++ } ++ ++ return m_screen->adjustSize(rect); ++} ++ + #include "randrcrtc.moc" + + #endif +diff -p -up krandr-0.5.2.1/randr/randroutput.cpp.orig krandr-0.5.2.1/randr/randroutput.cpp +--- krandr-0.5.2.1/randr/randroutput.cpp.orig 2008-03-28 16:14:56.000000000 -0300 ++++ krandr-0.5.2.1/randr/randroutput.cpp 2008-03-28 16:15:18.000000000 -0300 +@@ -107,6 +107,7 @@ void RandROutput::loadSettings(bool noti + + void RandROutput::handleEvent(XRROutputChangeNotifyEvent *event) + { ++#if 0 + int changed = 0; + + if (event->crtc != m_currentCrtc) +@@ -141,6 +142,7 @@ void RandROutput::handleEvent(XRROutputC + + if (changed) + emit outputChanged(m_id, changed); ++#endif + } + + void RandROutput::handlePropertyEvent(XRROutputPropertyNotifyEvent *event) +diff -p -up krandr-0.5.2.1/randr/randrcrtc.h.orig krandr-0.5.2.1/randr/randrcrtc.h +--- krandr-0.5.2.1/randr/randrcrtc.h.orig 2008-03-28 14:24:07.000000000 -0300 ++++ krandr-0.5.2.1/randr/randrcrtc.h 2008-03-28 14:27:15.000000000 -0300 +@@ -62,6 +62,8 @@ public: + + ModeList modes() const; + ++ bool adjustScreenSize(const QRect &rect, bool disableCrtc = false); ++ + signals: + void crtcChanged(RRCrtc c, int changes); + -- cgit v1.2.3