diff options
Diffstat (limited to 'libjava/gnu/gcj')
-rw-r--r-- | libjava/gnu/gcj/xlib/Font.java | 16 | ||||
-rw-r--r-- | libjava/gnu/gcj/xlib/Window.java | 2 | ||||
-rw-r--r-- | libjava/gnu/gcj/xlib/natFont.cc | 2 | ||||
-rw-r--r-- | libjava/gnu/gcj/xlib/natWindow.cc | 14 | ||||
-rw-r--r-- | libjava/gnu/gcj/xlib/natXAnyEvent.cc | 5 |
5 files changed, 33 insertions, 6 deletions
diff --git a/libjava/gnu/gcj/xlib/Font.java b/libjava/gnu/gcj/xlib/Font.java index cd2fff9630d..74985b9388e 100644 --- a/libjava/gnu/gcj/xlib/Font.java +++ b/libjava/gnu/gcj/xlib/Font.java @@ -34,7 +34,21 @@ public final class Font extends XID structure = struct; } - static native RawData loadFont(Display display, String lfdNamePattern); + static RawData loadFont(Display display, String lfdNamePattern) + { + RawData returnValue = null; + try + { + returnValue = loadFontImpl (display,lfdNamePattern); + } + catch (XException e) + { + // Throw a descriptive exception, including the font pattern + throw new XException ("Font not found: " + lfdNamePattern); + } + return returnValue; + } + static native RawData loadFontImpl(Display display, String lfdNamePattern); static native int getXIDFromStruct(RawData structure); diff --git a/libjava/gnu/gcj/xlib/Window.java b/libjava/gnu/gcj/xlib/Window.java index ae3dbfd688b..3ff3657c45c 100644 --- a/libjava/gnu/gcj/xlib/Window.java +++ b/libjava/gnu/gcj/xlib/Window.java @@ -73,6 +73,8 @@ public class Window extends Drawable public native void map(); public native void unmap(); + public native void toFront(); + public native void toBack(); protected boolean owned = false; diff --git a/libjava/gnu/gcj/xlib/natFont.cc b/libjava/gnu/gcj/xlib/natFont.cc index 54ac655d17b..cd5d87c7ab6 100644 --- a/libjava/gnu/gcj/xlib/natFont.cc +++ b/libjava/gnu/gcj/xlib/natFont.cc @@ -16,7 +16,7 @@ details. */ #include <gnu/gcj/xlib/Font.h> #include <gnu/gcj/xlib/XException.h> -gnu::gcj::RawData* gnu::gcj::xlib::Font::loadFont(Display* display, +gnu::gcj::RawData* gnu::gcj::xlib::Font::loadFontImpl(Display* display, jstring lfdNamePattern) { ::Display* dpy = (::Display*) display->display; diff --git a/libjava/gnu/gcj/xlib/natWindow.cc b/libjava/gnu/gcj/xlib/natWindow.cc index 6600795574f..62cd086ccb4 100644 --- a/libjava/gnu/gcj/xlib/natWindow.cc +++ b/libjava/gnu/gcj/xlib/natWindow.cc @@ -77,6 +77,20 @@ void gnu::gcj::xlib::Window::setAttributes(WindowAttributes* attributes) // no fast fail } +void gnu::gcj::xlib::Window::toBack() +{ + ::Display* dpy = (::Display*) (display->display); + ::Window window = xid; + XLowerWindow(dpy, window); +} + +void gnu::gcj::xlib::Window::toFront() +{ + ::Display* dpy = (::Display*) (display->display); + ::Window window = xid; + XRaiseWindow(dpy, window); +} + void gnu::gcj::xlib::Window::map() { ::Display* dpy = (::Display*) (display->display); diff --git a/libjava/gnu/gcj/xlib/natXAnyEvent.cc b/libjava/gnu/gcj/xlib/natXAnyEvent.cc index 26d3b604b04..0bef563ed2d 100644 --- a/libjava/gnu/gcj/xlib/natXAnyEvent.cc +++ b/libjava/gnu/gcj/xlib/natXAnyEvent.cc @@ -69,14 +69,11 @@ jboolean gnu::gcj::xlib::XAnyEvent::loadNext(jboolean block) int xfd = XConnectionNumber(dpy); int pipefd = pipe[0]; int n = (xfd > pipefd ? xfd : pipefd) + 1; - struct timeval timeout; - timeout.tv_usec = 100000; // 100ms timeout - timeout.tv_sec = 0; fd_set rfds; FD_ZERO(&rfds); FD_SET(xfd, &rfds); FD_SET(pipefd, &rfds); - int sel = _Jv_select (n, &rfds, NULL, NULL, &timeout); + int sel = _Jv_select (n, &rfds, NULL, NULL, NULL); if (sel > 0) { if (FD_ISSET(xfd, &rfds)) |