Revert r925355, r925357 and r925358 as the crashing was caused by

Kephal and has since been fixed.

svn path=/trunk/KDE/kdebase/workspace/; revision=927675
icc-effect-5.14.5
Lucas Murray 2009-02-18 04:05:37 +00:00
parent 5fe0ef985d
commit 21f023ee77
3 changed files with 11 additions and 16 deletions

View File

@ -2860,11 +2860,6 @@ void Client::handleMoveResize( int x, int y, int x_root, int y_root )
// TODO move whole group when moving its leader or when the leader is not mapped?
// If the cursor goes into the "dead" area of a Xinerama screen where the two monitors
// have different resolutions treat it as if the cursor didn't move at all.
if( workspace()->screenNumber( globalPos ) == -1 )
return;
// When doing a restricted move we must always keep 100px of the titlebar
// visible to allow the user to be able to move it again.
int frameLeft, frameRight, frameTop, frameBottom;

View File

@ -344,9 +344,10 @@ int Toplevel::screen() const
return 0;
int s = workspace()->screenNumber( geometry().center());
if( s < 0 )
// Center of the window is offscreen, just use the active one as if this window is the
// one with input focus then activeScreen() will return the screen it used to be on.
return workspace()->activeScreen( false );
{
kDebug(1212) << "Invalid screen: Center" << geometry().center() << ", screen" << s;
return 0;
}
return s;
}

View File

@ -1550,14 +1550,13 @@ int Workspace::activeScreen( bool checkClient ) const
{
if( !options->xineramaEnabled )
return 0;
int screen = -1;
if( options->activeMouseScreen )
screen = Kephal::ScreenUtils::screenId( cursorPos());
if( screen != -1 )
return screen;
if( activeClient() != NULL && !activeClient()->isOnScreen( active_screen ) && checkClient )
return activeClient()->screen();
return active_screen;
if( !options->activeMouseScreen )
{
if( activeClient() != NULL && !activeClient()->isOnScreen( active_screen ))
return activeClient()->screen();
return active_screen;
}
return Kephal::ScreenUtils::screenId( cursorPos());
}
/**