diff options
Diffstat (limited to 'src/nativewindow/native/x11')
-rw-r--r-- | src/nativewindow/native/x11/Xmisc.c | 16 |
1 files changed, 13 insertions, 3 deletions
diff --git a/src/nativewindow/native/x11/Xmisc.c b/src/nativewindow/native/x11/Xmisc.c index 31d57240f..5a17bdb8f 100644 --- a/src/nativewindow/native/x11/Xmisc.c +++ b/src/nativewindow/native/x11/Xmisc.c @@ -420,13 +420,18 @@ JNIEXPORT jlong JNICALL Java_com_jogamp_nativewindow_impl_x11_X11Lib_CreateDummy windowParent = XRootWindowOfScreen(scrn); } - attrMask = (CWBackPixel | CWBorderPixel | CWColormap | CWOverrideRedirect) ; + attrMask = ( CWBackingStore | CWBackingPlanes | CWBackingPixel | CWBackPixel | + CWBorderPixel | CWColormap | CWOverrideRedirect ) ; memset(&xswa, 0, sizeof(xswa)); - xswa.override_redirect = True; // not decorated + xswa.override_redirect = False; // use the window manager, always xswa.border_pixel = 0; xswa.background_pixel = 0; - xswa.event_mask = 0 ; // no events + xswa.backing_store=NotUseful; /* NotUseful, WhenMapped, Always */ + xswa.backing_planes=0; /* planes to be preserved if possible */ + xswa.backing_pixel=0; /* value to use in restoring planes */ + xswa.event_mask = 0 ; /* no events */ + xswa.colormap = XCreateColormap(dpy, XRootWindow(dpy, scrn_idx), visual, @@ -443,6 +448,11 @@ JNIEXPORT jlong JNICALL Java_com_jogamp_nativewindow_impl_x11_X11Lib_CreateDummy attrMask, &xswa); + XSync(dpy, False); + + XSelectInput(dpy, window, 0); // no events + XSync(dpy, False); + x11ErrorHandlerEnable(dpy, 0, env); DBG_PRINT( "X11: [CreateWindow] created window %p on display %p\n", window, dpy); |