classpath-patches
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[cp-patches] Patch for Approval fixes bug #16540 GlassPane intercepting


From: Anthony Balkissoon
Subject: [cp-patches] Patch for Approval fixes bug #16540 GlassPane intercepting Mouse Events
Date: Tue, 06 Sep 2005 16:16:37 -0400

This patch (pending approval) fixes bug #16540 where a RootPaneContainer
whose GlassPane was set to visible but had no MouseListeners attached
was still intercepting Mouse Events.

The patch basically consists of the new implementation method
getDeepestComponentForMouseEventAt which (like
AWTUtilities.getDeepestComponentAt) simply calls findComponentAt.
However, getDeepestComponentForMouseEventAt also checks to see if there
is a visible GlassPane with no MouseListeners attached, in which case it
calls findNonGlassPaneComponentAt which does the same thing as
findComponentAt except that it ignores the GlassPane.

Note that I also added the API docs for findComponentAt.  Sorry to mix
doc changes with code changes, but it was very similar to the docs I
wrote for my new method findNonGlassPaneComponentAt.

Patch is attached.

2005-09-06  Anthony Balkissoon  <address@hidden>

        * java/awt/Container.java:
        (findComponentAt): Added API docs.
        (findNonGlassPaneComponentAt): New implementation method.
        (getDeepestComponentForMouseEventAt): New implementation method.
        (acquireComponentForMouseEvent): Added check to see if native container
        is a RootPaneContainer and replaced call to
        AWTUtilities.getDeepestComponentAt with call to new implementation
        method getDeepestComponentAt which does the same thing but also
        appropriately handles the RootPaneContainer's GlassPane.

--Tony

Attachment: GlassPaneMouseIntercept.diff
Description: Text Data


reply via email to

[Prev in Thread] Current Thread [Next in Thread]