diff options
author | tdv <none@none> | 2008-05-14 09:16:18 -0700 |
---|---|---|
committer | tdv <none@none> | 2008-05-14 09:16:18 -0700 |
commit | c0983f42b77e2ef017e1b202c380c422d554eed4 (patch) | |
tree | abdbfcfc2cd04aa19c56df0b9a66808f5bc03a7c /src/solaris | |
parent | 31cdf31a8daad05e76a1e5d8f10d427153f32c52 (diff) | |
download | jdk8u_jdk-c0983f42b77e2ef017e1b202c380c422d554eed4.tar.gz |
6604044: java crashes talking to second X screen
Reviewed-by: prr
Diffstat (limited to 'src/solaris')
-rw-r--r-- | src/solaris/native/sun/awt/awt_GraphicsEnv.c | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/src/solaris/native/sun/awt/awt_GraphicsEnv.c b/src/solaris/native/sun/awt/awt_GraphicsEnv.c index 68299f7960..7f64a882fb 100644 --- a/src/solaris/native/sun/awt/awt_GraphicsEnv.c +++ b/src/solaris/native/sun/awt/awt_GraphicsEnv.c @@ -650,7 +650,7 @@ static void xinerama_init_linux() if (XineramaQueryScreens != NULL) { DTRACE_PRINTLN("calling XineramaQueryScreens func on Linux"); xinInfo = (*XineramaQueryScreens)(awt_display, &locNumScr); - if (xinInfo != NULL) { + if (xinInfo != NULL && locNumScr > XScreenCount(awt_display)) { int32_t idx; DTRACE_PRINTLN("Enabling Xinerama support"); usingXinerama = True; @@ -701,7 +701,8 @@ static void xinerama_init_solaris() if (XineramaSolarisFunc != NULL) { DTRACE_PRINTLN("calling XineramaGetInfo func on Solaris"); if ((*XineramaSolarisFunc)(awt_display, 0, &fbrects[0], - &fbhints[0], &locNumScr) != 0) + &fbhints[0], &locNumScr) != 0 && + locNumScr > XScreenCount(awt_display)) { DTRACE_PRINTLN("Enabling Xinerama support"); usingXinerama = True; |