summaryrefslogtreecommitdiff
path: root/src/BaseDisplay.cc
diff options
context:
space:
mode:
authorDana Jansens <danakj@orodu.net>2002-07-22 02:07:36 +0000
committerDana Jansens <danakj@orodu.net>2002-07-22 02:07:36 +0000
commit9fe6b282c0a9c1bd5ce754bc0fbc0e7c619eab14 (patch)
tree5bd40b0f9a7a5aec56de93836a797707a11f3c09 /src/BaseDisplay.cc
parentf7122039db43e473b4e7adade8b484eea071d802 (diff)
get the right rects for the xinerama regions
Diffstat (limited to 'src/BaseDisplay.cc')
-rw-r--r--src/BaseDisplay.cc28
1 files changed, 15 insertions, 13 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);
}
}
}