329 return res; 330 } finally { 331 awtUnlock(); 332 } 333 } 334 335 void init() { 336 awtLock(); 337 try { 338 XlibWrapper.XSupportsLocale(); 339 if (XlibWrapper.XSetLocaleModifiers("") == null) { 340 log.finer("X locale modifiers are not supported, using default"); 341 } 342 tryXKB(); 343 344 AwtScreenData defaultScreen = new AwtScreenData(XToolkit.getDefaultScreenData()); 345 awt_defaultFg = defaultScreen.get_blackpixel(); 346 347 arrowCursor = XlibWrapper.XCreateFontCursor(XToolkit.getDisplay(), 348 XCursorFontConstants.XC_arrow); 349 areExtraMouseButtonsEnabled = Boolean.parseBoolean(System.getProperty("sun.awt.enableExtraMouseButtons", "true")); 350 //set system property if not yet assigned 351 System.setProperty("sun.awt.enableExtraMouseButtons", ""+areExtraMouseButtonsEnabled); 352 353 // Detect display mode changes 354 XlibWrapper.XSelectInput(XToolkit.getDisplay(), XToolkit.getDefaultRootWindow(), XConstants.StructureNotifyMask); 355 XToolkit.addEventDispatcher(XToolkit.getDefaultRootWindow(), new XEventDispatcher() { 356 @Override 357 public void dispatchEvent(XEvent ev) { 358 if (ev.get_type() == XConstants.ConfigureNotify) { 359 awtUnlock(); 360 try { 361 ((X11GraphicsEnvironment)GraphicsEnvironment. 362 getLocalGraphicsEnvironment()). 363 displayChanged(); 364 } finally { 365 awtLock(); 366 } 367 } 368 } 369 }); 370 } finally { 371 awtUnlock(); 372 } | 329 return res; 330 } finally { 331 awtUnlock(); 332 } 333 } 334 335 void init() { 336 awtLock(); 337 try { 338 XlibWrapper.XSupportsLocale(); 339 if (XlibWrapper.XSetLocaleModifiers("") == null) { 340 log.finer("X locale modifiers are not supported, using default"); 341 } 342 tryXKB(); 343 344 AwtScreenData defaultScreen = new AwtScreenData(XToolkit.getDefaultScreenData()); 345 awt_defaultFg = defaultScreen.get_blackpixel(); 346 347 arrowCursor = XlibWrapper.XCreateFontCursor(XToolkit.getDisplay(), 348 XCursorFontConstants.XC_arrow); 349 final String extraButtons = "sun.awt.enableExtraMouseButtons"; 350 AccessController.doPrivileged((PrivilegedAction<Void>) () -> { 351 areExtraMouseButtonsEnabled = 352 Boolean.parseBoolean(System.getProperty(extraButtons, "true")); 353 //set system property if not yet assigned 354 System.setProperty(extraButtons, ""+areExtraMouseButtonsEnabled); 355 return null; 356 }); 357 // Detect display mode changes 358 XlibWrapper.XSelectInput(XToolkit.getDisplay(), XToolkit.getDefaultRootWindow(), XConstants.StructureNotifyMask); 359 XToolkit.addEventDispatcher(XToolkit.getDefaultRootWindow(), new XEventDispatcher() { 360 @Override 361 public void dispatchEvent(XEvent ev) { 362 if (ev.get_type() == XConstants.ConfigureNotify) { 363 awtUnlock(); 364 try { 365 ((X11GraphicsEnvironment)GraphicsEnvironment. 366 getLocalGraphicsEnvironment()). 367 displayChanged(); 368 } finally { 369 awtLock(); 370 } 371 } 372 } 373 }); 374 } finally { 375 awtUnlock(); 376 } |