summaryrefslogtreecommitdiffstats
path: root/kicker/kicker/core/container_extension.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'kicker/kicker/core/container_extension.cpp')
-rw-r--r--kicker/kicker/core/container_extension.cpp19
1 files changed, 16 insertions, 3 deletions
diff --git a/kicker/kicker/core/container_extension.cpp b/kicker/kicker/core/container_extension.cpp
index 80ceb6e13..1b7857774 100644
--- a/kicker/kicker/core/container_extension.cpp
+++ b/kicker/kicker/core/container_extension.cpp
@@ -476,6 +476,12 @@ void ExtensionContainer::removeSessionConfigFile()
void ExtensionContainer::moveMe()
{
int screen = xineramaScreen();
+ if (screen == -3)
+ {
+ // we aren't on any screen? um. ok.
+ return;
+ }
+
if (screen < 0)
{
screen = kapp->desktop()->screenNumber(this);
@@ -1980,7 +1986,7 @@ int ExtensionContainer::xineramaScreen() const
// sanitize at runtime only, since many Xinerama users
// turn it on and off and don't want kicker to lose their configs
- /* -2 means all screens, -1 primary screens, the rest are valid screen numbers */
+ /* -3 means no screens, -2 means all screens, -1 primary screens, the rest are valid screen numbers */
if (XineramaAllScreens <= m_settings.xineramaScreen() &&
m_settings.xineramaScreen() < TQApplication::desktop()->numScreens())
{
@@ -1988,8 +1994,15 @@ int ExtensionContainer::xineramaScreen() const
}
else
{
- /* force invalid screen locations onto the primary screen */
- return TQApplication::desktop()->primaryScreen();
+ if (m_settings.xineramaHideSwitch())
+ {
+ return -3;
+ }
+ else
+ {
+ /* force invalid screen locations onto the primary screen */
+ return TQApplication::desktop()->primaryScreen();
+ }
}
}