diff options
| author | Dana Jansens <danakj@orodu.net> | 2002-07-22 02:07:36 +0000 |
|---|---|---|
| committer | Dana Jansens <danakj@orodu.net> | 2002-07-22 02:07:36 +0000 |
| commit | 9fe6b282c0a9c1bd5ce754bc0fbc0e7c619eab14 (patch) | |
| tree | 5bd40b0f9a7a5aec56de93836a797707a11f3c09 /src | |
| parent | f7122039db43e473b4e7adade8b484eea071d802 (diff) | |
get the right rects for the xinerama regions
Diffstat (limited to 'src')
| -rw-r--r-- | src/BaseDisplay.cc | 28 | ||||
| -rw-r--r-- | src/Screen.cc | 2 |
2 files changed, 16 insertions, 14 deletions
diff --git a/src/BaseDisplay.cc b/src/BaseDisplay.cc index 320f2ba1..5aecac89 100644 --- a/src/BaseDisplay.cc +++ b/src/BaseDisplay.cc @@ -493,20 +493,22 @@ ScreenInfo::ScreenInfo(BaseDisplay *d, unsigned int num) { on a pre-screen basis anyways. */ xinerama_active = XineramaIsActive(d->getXDisplay()); - /* - If Xinerama is being used, there there is only going to be one screen - present. We still, of course, want to use the screen class, but that is - why no screen number is used in this function call. There should never - be more than one screen present with Xinerama active. - */ - int num; - XineramaScreenInfo *info = XineramaQueryScreens(d->getXDisplay(), &num); - if (num > 0 && info) { - for (int i = 0; i < num; ++i) { - xinerama_areas.push_back(Rect(info[i].x_org, info[i].y_org, - info[i].width, info[i].height)); + if (xinerama_active) { + /* + If Xinerama is being used, there there is only going to be one screen + present. We still, of course, want to use the screen class, but that + is why no screen number is used in this function call. There should + never be more than one screen present with Xinerama active. + */ + int num; + XineramaScreenInfo *info = XineramaQueryScreens(d->getXDisplay(), &num); + if (num > 0 && info) { + for (int i = 0; i < num; ++i) { + xinerama_areas.push_back(Rect(info[i].x_org, info[i].y_org, + info[i].width, info[i].height)); + } + XFree(info); } - XFree(info); } } } diff --git a/src/Screen.cc b/src/Screen.cc index 92dd4a70..60cd8e09 100644 --- a/src/Screen.cc +++ b/src/Screen.cc @@ -2093,7 +2093,7 @@ void BScreen::updateAvailableArea(void) { #ifdef XINERAMA // reset to the full areas if (isXineramaActive()) - xineramaUsableArea = allAvailableAreas(); + xineramaUsableArea = getXineramaAreas(); #endif // XINERAMA /* these values represent offsets from the screen edge |
