From 3575a90230defd280db1a44b3fb3696601d3171e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Lubo=C5=A1=20Lu=C5=88=C3=A1k?= Date: Mon, 23 Feb 2004 14:20:13 +0000 Subject: [PATCH] Avoid -1 as array index. svn path=/trunk/kdebase/kwin/; revision=290548 --- geometry.cpp | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/geometry.cpp b/geometry.cpp index a74d0a8ba2..aac5694735 100644 --- a/geometry.cpp +++ b/geometry.cpp @@ -208,9 +208,12 @@ QRect Workspace::clientArea( clientAreaOption opt, const QPoint& p, int desktop if( desktop == NETWinInfo::OnAllDesktops || desktop == 0 ) desktop = currentDesktop(); QDesktopWidget *desktopwidget = KApplication::desktop(); + int screen = desktopwidget->screenNumber( p ); + if( screen < 0 ) + screen = desktopwidget->primaryScreen(); QRect sarea = screenarea // may be NULL during KWin initialization - ? screenarea[ desktop ][ desktopwidget->screenNumber( p ) ] - : desktopwidget->screenGeometry( desktopwidget->screenNumber( p )); + ? screenarea[ desktop ][ screen ] + : desktopwidget->screenGeometry( screen ); QRect warea = workarea[ desktop ].isNull() ? QApplication::desktop()->geometry() : workarea[ desktop ]; @@ -223,7 +226,7 @@ QRect Workspace::clientArea( clientAreaOption opt, const QPoint& p, int desktop return warea; case MaximizeFullArea: if (options->xineramaMaximizeEnabled) - return desktopwidget->screenGeometry( desktopwidget->screenNumber( p )); + return desktopwidget->screenGeometry( screen ); else return desktopwidget->geometry(); case PlacementArea: