This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug AWT/16740] New: Unwanted expose events upon mouse enter/exit
- From: "gcc-bugzilla at gcc dot gnu dot org" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: 27 Jul 2004 00:27:56 -0000
- Subject: [Bug AWT/16740] New: Unwanted expose events upon mouse enter/exit
- Reply-to: gcc-bugzilla at gcc dot gnu dot org
Mouse enter/exit actions generate unwanted expose events from the GTK
peer side. To demonstrate, run Acunia's Graphics.DrawStringClipped
test. If you move your mouse in and out of the center component, it
will be redrawn. The expected behaviour of that test is that the
center component is only redrawn when you click on it.
After a brief investigation, I narrowed it down to pre_event_handler()
in jni/gtk-peer/gnu_java_awt_peer_gtk_GtkEvents.c, which receives a
GDK_EXPOSE signal when the mouse enters/exits a widget. This signal
is converted into an AWT expose event, causing the component to be
redrawn.
------- Additional Comments From fitzsim at redhat dot com 2004-05-18 18:22 -------
This should be fixed, right? Do you have a test case for it?
------- Additional Comments From djee at redhat dot com 2004-05-19 10:08 -------
This is not fixed yet. For testing, please refer to Acunia's
Graphics.DrawStringClipped test, as described above.
------- Additional Comments From fitzsim at redhat dot com 2004-05-19 11:58 -------
Ah, didn't read carefully enough. OK, confirmed that it still doesn't
work. We may be able to do something like disable GDK_EXPOSE events
for certain widgets and instead of handling GDK_EXPOSE in
pre_event_handler, connect signals to each widget's "expose" signal.
Does that make sense?
--
Summary: Unwanted expose events upon mouse enter/exit
Product: gcc
Version: 3.5.0
Status: UNCONFIRMED
Severity: enhancement
Priority: P1
Component: AWT
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: djee at redhat dot com
CC: djee at redhat dot com,gcc-bugs at gcc dot gnu dot org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=16740