Applet focus fixes
This commit is contained in:
parent
37ab6afff2
commit
be0fbdf13b
|
@ -468,7 +468,7 @@ final class LinuxDisplay implements DisplayImplementation {
|
||||||
private boolean isAncestorXEmbedded(long window) throws LWJGLException {
|
private boolean isAncestorXEmbedded(long window) throws LWJGLException {
|
||||||
long xembed_atom = internAtom("_XEMBED_INFO", true);
|
long xembed_atom = internAtom("_XEMBED_INFO", true);
|
||||||
if (xembed_atom != None) {
|
if (xembed_atom != None) {
|
||||||
long w = parent_window;
|
long w = window;
|
||||||
while (w != None) {
|
while (w != None) {
|
||||||
if (hasProperty(getDisplay(), w, xembed_atom))
|
if (hasProperty(getDisplay(), w, xembed_atom))
|
||||||
return true;
|
return true;
|
||||||
|
|
|
@ -85,8 +85,11 @@ static int global_error_handler(Display *disp, XErrorEvent *error) {
|
||||||
JNIEnv *env = getThreadEnv();
|
JNIEnv *env = getThreadEnv();
|
||||||
if (env != NULL) {
|
if (env != NULL) {
|
||||||
jclass org_lwjgl_LinuxDisplay_class = (*env)->FindClass(env, "org/lwjgl/opengl/LinuxDisplay");
|
jclass org_lwjgl_LinuxDisplay_class = (*env)->FindClass(env, "org/lwjgl/opengl/LinuxDisplay");
|
||||||
if (org_lwjgl_LinuxDisplay_class == NULL)
|
if (org_lwjgl_LinuxDisplay_class == NULL) {
|
||||||
|
// Don't propagate error
|
||||||
|
(*env)->ExceptionClear(env);
|
||||||
return 0;
|
return 0;
|
||||||
|
}
|
||||||
jmethodID handler_method = (*env)->GetStaticMethodID(env, org_lwjgl_LinuxDisplay_class, "globalErrorHandler", "(JJJJJJJ)I");
|
jmethodID handler_method = (*env)->GetStaticMethodID(env, org_lwjgl_LinuxDisplay_class, "globalErrorHandler", "(JJJJJJJ)I");
|
||||||
if (handler_method == NULL)
|
if (handler_method == NULL)
|
||||||
return 0;
|
return 0;
|
||||||
|
|
Loading…
Reference in New Issue