}
private void processWindowStateEvent() {
CLongPointer actualTypeReturn = bridge.createCLongPointer(1, false);
Int32Pointer actualFormatReturn = bridge.createInt32Pointer(1, false);
CLongPointer nitemsReturn = bridge.createCLongPointer(1, false);
CLongPointer bytesAfterReturn = bridge.createCLongPointer(1, false);
PointerPointer propReturn = bridge.createPointerPointer(1, false);
x11.XGetWindowProperty(factory.getDisplay(), windowId,
factory.wm.NET_WM_STATE, 0, Integer.MAX_VALUE, X11Defs.FALSE,
X11Defs.AnyPropertyType, actualTypeReturn, actualFormatReturn,
nitemsReturn, bytesAfterReturn, propReturn);
int count = (int)nitemsReturn.get(0);
if (count == 0) {
return;
}
if (actualFormatReturn.get(0) == 32) {
CLongPointer types = bridge.createCLongPointer(propReturn.get(0));
deriveNewWindowState(count, types);
} else {
// awt.10=Only 32-bit format is supported for window state operations.
throw new RuntimeException(Messages.getString("awt.10")); //$NON-NLS-1$