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 170327 - text delete event should be fired after text change has been completed
text delete event should be fired after text change has been completed
Status: RESOLVED FIXED
Product: atk
Classification: Platform
Component: gail
unspecified
Other Linux
: Normal enhancement
: ---
Assigned To: padraig.obriain
padraig.obriain
AP2
Depends on:
Blocks: 348466
 
 
Reported: 2005-03-14 14:34 UTC by Oana Serb
Modified: 2011-01-21 06:43 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
proposed patch (5.33 KB, patch)
2005-03-16 09:59 UTC, Oana Serb
committed Details | Review

Description Oana Serb 2005-03-14 14:34:26 UTC
For more informations, see discussions from bug #161271.
Comment 1 bill.haneman 2005-03-15 13:41:11 UTC
This is not a gail 'bug', since we don't guarantee the state of the text when
the delete event is fired.  However the patch in bug 161271 is probably useful.

Comment 2 Oana Serb 2005-03-16 09:59:40 UTC
Created attachment 38785 [details] [review]
proposed patch
Comment 3 Oana Serb 2005-03-16 10:02:48 UTC
The attached patch is from bug #161271.
Comment 4 bill.haneman 2005-03-16 10:05:41 UTC
Comment on attachment 38785 [details] [review]
proposed patch

thanks Oana, please commit!
Comment 5 remus draica 2005-03-17 10:22:23 UTC
Comment on attachment 38785 [details] [review]
proposed patch


Patch committed on cvs head.
Comment 6 remus draica 2005-03-25 14:14:45 UTC
Patch containes line:

+      gail_entry->length_delete = arg2 - arg2;

This should be:

+      gail_entry->length_delete = arg2 - arg1;


Comment 7 bill.haneman 2005-03-29 15:54:10 UTC
please fix and commit. thanks!
Comment 8 remus draica 2005-03-30 09:48:11 UTC
Fixies applied to cvs.
Comment 9 bill.haneman 2005-03-30 10:06:02 UTC
THanks Remus.
Comment 10 bill.haneman 2006-07-27 13:48:19 UTC
It seems this patch was a mistake, since it makes it impossible to fulfill the at-spi contract calling for the TextChangeEvent to return the change string.
Comment 11 bill.haneman 2006-07-27 13:57:19 UTC
While firing the event after the change has been made means that clients can re-read the entire text contents on notification, and get something that's probably reasonably current (unless new changes are being made during the query), the "fire on idle" solution has made it impossible to provide the proper change string to at-spi.  Ideally the notification would be fired synchronously _just before_ gtk+ modifies the text buffer, so that atk-bridge would be able to extract the change string in the expected manner, but subsequent queries would see the updated data instead.  (Firing the notification at that time may not be feasible, depending on what gtk+ signals are available).

While gail can of course obtain and cache the change string, it's unclear how it could be communicated to atk-bridge via the existing ATK API.
Comment 12 Kjartan Maraas 2006-11-30 15:25:28 UTC
Looks like this was commited and never reverted. Marking the patch as commited.
Comment 13 Li Yuan 2007-05-15 04:44:41 UTC
I think it should be OK to revert the patch. The text_changed::delete signal tells the callback which charcaters are removed. If ATs wants, they can compute what current text like. Plus, Orca doesn't read the hole text when user press delete. It just read the deleted text.
Comment 14 Li Yuan 2011-01-21 06:43:41 UTC
The problem has been fixed.