From 3e87db7e862d68be19de108edbe858f85275ead4 Mon Sep 17 00:00:00 2001 From: tdv Date: Wed, 14 May 2008 09:16:18 -0700 Subject: [PATCH] 6604044: java crashes talking to second X screen Reviewed-by: prr --- src/solaris/native/sun/awt/awt_GraphicsEnv.c | 5 +++-- 1 file 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 68299f796..7f64a882f 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; -- GitLab