summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--kcontrol/randr/krandrtray.cpp19
-rw-r--r--kcontrol/randr/krandrtray.h3
2 files changed, 6 insertions, 16 deletions
diff --git a/kcontrol/randr/krandrtray.cpp b/kcontrol/randr/krandrtray.cpp
index 422aebba2..18d14bdc6 100644
--- a/kcontrol/randr/krandrtray.cpp
+++ b/kcontrol/randr/krandrtray.cpp
@@ -136,13 +136,14 @@ void KRandRSystemTray::contextMenuAboutToShow(KPopupMenu* menu)
findPrimaryDisplay();
refresh();
-#ifndef QT_XRANDR_FIXES_01
// HACK
- // This is needed because all unpatched versions of Qt does not properly generate screen
+ // This is needed because Qt does not properly generate screen
// resize events when switching screens, so KDE gets stuck in the old resolution
- currentScreen()->proposeSize(GetHackResolutionParameter());
- currentScreen()->applyProposed();
-#endif
+ // This only seems to happen with more than one screen, so check for that condition...
+ if (kapp->desktop()->numScreens() > 1) {
+ currentScreen()->proposeSize(GetHackResolutionParameter());
+ currentScreen()->applyProposed();
+ }
currentScreen()->proposeSize(GetDefaultResolutionParameter());
currentScreen()->applyProposed();
@@ -256,9 +257,6 @@ int KRandRSystemTray::GetDefaultResolutionParameter()
return returnIndex;
}
-#ifndef QT_XRANDR_FIXES_01
-#warning "Your version of Qt3 does not contain the XRandR screen switching patch. This will force a slow and suboptimal display switching method."
-// HACK
int KRandRSystemTray::GetHackResolutionParameter() {
int resparm;
@@ -267,7 +265,6 @@ int KRandRSystemTray::GetHackResolutionParameter() {
return resparm;
}
-#endif
void KRandRSystemTray::populateMenu(KPopupMenu* menu)
{
@@ -561,7 +558,6 @@ void KRandRSystemTray::slotCycleDisplays()
findPrimaryDisplay();
refresh();
-#ifndef QT_XRANDR_FIXES_01
// HACK
// This is needed because Qt does not properly generate screen
// resize events when switching screens, so KDE gets stuck in the old resolution
@@ -570,7 +566,6 @@ void KRandRSystemTray::slotCycleDisplays()
currentScreen()->proposeSize(GetHackResolutionParameter());
currentScreen()->applyProposed();
}
-#endif
currentScreen()->proposeSize(GetDefaultResolutionParameter());
currentScreen()->applyProposed();
@@ -746,7 +741,6 @@ void KRandRSystemTray::slotOutputChanged(int parameter)
findPrimaryDisplay();
refresh();
-#ifndef QT_XRANDR_FIXES_01
// HACK
// This is needed because Qt does not properly generate screen
// resize events when switching screens, so KDE gets stuck in the old resolution
@@ -755,7 +749,6 @@ void KRandRSystemTray::slotOutputChanged(int parameter)
currentScreen()->proposeSize(GetHackResolutionParameter());
currentScreen()->applyProposed();
}
-#endif
currentScreen()->proposeSize(GetDefaultResolutionParameter());
currentScreen()->applyProposed();
diff --git a/kcontrol/randr/krandrtray.h b/kcontrol/randr/krandrtray.h
index 6a2892a2d..fac91e358 100644
--- a/kcontrol/randr/krandrtray.h
+++ b/kcontrol/randr/krandrtray.h
@@ -21,7 +21,6 @@
#include <qptrlist.h>
-#include <qapplication.h>
#include <ksystemtray.h>
#include <kglobalaccel.h>
@@ -63,9 +62,7 @@ private:
void populateMenu(KPopupMenu* menu);
void addOutputMenu(KPopupMenu* menu);
int GetDefaultResolutionParameter();
-#ifndef QT_XRANDR_FIXES_01
int GetHackResolutionParameter();
-#endif
void findPrimaryDisplay();
bool m_popupUp;