After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 440238 - Java text events have null text objects
Java text events have null text objects
Status: RESOLVED FIXED
Product: orca
Classification: Applications
Component: general
2.17.x
Other Linux
: High major
: 2.20.0
Assigned To: Lynn Monsanto
Orca Maintainers
: 407704 435565 435567 (view as bug list)
Depends on: 435825
Blocks: orca-java
 
 
Reported: 2007-05-21 18:19 UTC by Lynn Monsanto
Modified: 2008-07-22 19:27 UTC
See Also:
GNOME target: ---
GNOME version: 2.17/2.18


Attachments
Java test program that displays a frame containing an editable text field (1.08 KB, text/plain)
2007-05-22 18:32 UTC, Lynn Monsanto
Details

Description Lynn Monsanto 2007-05-21 18:19:03 UTC
To avoid confusion, I'm opening a single bug to cover the numerous problems caused by Java text events having null text objects. I'm closing the other null text object bugs as duplicates of this one.

The problem is that the Java Access Bridge for GNOME (JABG) receives and forwards good text events to the Registry. However, Orca receives text events with null text objects. I haven't determined whether this problem occurs for all types of text events, from all Java text components. However, the problem occurs, at least, for caret-moved events from JTextFields and JTextAreas.
Comment 1 Lynn Monsanto 2007-05-21 18:20:35 UTC
Email from Lynn to Jeff Cai:

Hi Jeff,

I'm trying to fix a bug where Orca receives caret-moved events, but the text object in the Python events are null.  As a test case, I created a simple Java application that displays a JTextField containing the string "This is a text field.".  I added some trace statements to the dispatchEvent method in JavaBridge.java. The statement simply prints the contents of the caret moved event when it is received.  I added similar statements to EventQueueRegistry.java printing the event contents just before the event is processed.

Here's the output when I right-arrow in the JTextField:

// from JavaBridge.dispatchEvent
Caret EVENT : 9, 8
start = 9, end = 9
dispatching event with ANY type com.sun.corba.se.impl.corba.TypeCodeImpl@1462851 =
null
object:text-caret-moved 9,8 from javax.swing.JTextField$AccessibleJTextField@1bb60c3
dispatched text event
text contents: This is a text field.

// from EventQueueRegistry.processEvent
processEvent: object:text-caret-moved
processed text event
text contents: This is a text field.

It appears to me that the event is good when the event is sent to the registry. I'm guessing that something is going wrong in the Python CORBA implementation, but I need to be more sure about this.  Any suggestions for tracing the problem further?

Also, if you believe the problem is in the Python CORBA implementation, do you know whom I can contact to get this problem resolved? It's a big problem for Orca with Java text.

Thanks!
Lynn
Comment 2 Lynn Monsanto 2007-05-21 18:23:25 UTC
*** Bug 435567 has been marked as a duplicate of this bug. ***
Comment 3 Lynn Monsanto 2007-05-21 18:23:52 UTC
*** Bug 435565 has been marked as a duplicate of this bug. ***
Comment 4 Jeff Cai 2007-05-22 09:45:10 UTC
Lynn, could you give me your java testing code so I can test it?
Comment 5 Willie Walker 2007-05-22 14:51:25 UTC
This might be fixed.  See also bug 360272 and bug 435825.
Comment 6 Lynn Monsanto 2007-05-22 18:32:24 UTC
Created attachment 88629 [details]
Java test program that displays a frame containing an editable text field

Jeff,

Here's the Java test program. When you hit the button, it displays the current text extents as returned by the Java Accessibility API. You can compare them to what the JABG gets when it calls the AT-SPI method to get the extents.

Lynn
Comment 7 Willie Walker 2007-05-22 21:03:22 UTC
*** Bug 407704 has been marked as a duplicate of this bug. ***
Comment 8 Lynn Monsanto 2007-05-23 19:59:09 UTC
I installed the latest pyorbit and confirmed this bug is fixed by the fix for pyorbit bug 435825. Orca speaks each character as I right-arrow through the text field in the Java test program. In addition, the onCaretMoved method in J2SE_access_bridge.py shows that the event source text object is correct.

Should this bug be closed as fixed, even though the pyorbit fix is not in the latest GNOME release?
Comment 9 Willie Walker 2007-05-23 20:06:10 UTC
> I installed the latest pyorbit and confirmed this bug is fixed by the fix for
> pyorbit bug 435825. Orca speaks each character as I right-arrow through the
> text field in the Java test program. In addition, the onCaretMoved method in
> J2SE_access_bridge.py shows that the event source text object is correct.

Yee haa!!!  I have a feeling this will close a number of our Java-related bugs.

> Should this bug be closed as fixed, even though the pyorbit fix is not in the
> latest GNOME release?

I think it is fair to mark is as FIXED with a target of 2.19.3, since http://bugzilla.gnome.org/show_bug.cgi?id=435825#c7 says it will "go into the next software release", which is GNOME 2.19.3.
Comment 10 Gustavo Carneiro 2007-05-23 21:31:54 UTC
I'll release PyORBit 2.14.3 next weekend, in sync with GNOME 2.18.2.
Comment 11 Willie Walker 2007-05-23 23:50:25 UTC
(In reply to comment #10)
> I'll release PyORBit 2.14.3 next weekend, in sync with GNOME 2.18.2.
> 

Thanks so much!
Comment 12 Lynn Monsanto 2007-05-25 00:28:26 UTC
I'm closing this with the target 2.19.0, since that is the next target on the list after 2.18.0.