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 630097 - atktext does not include PANGO_UNDERLINE_ERROR
atktext does not include PANGO_UNDERLINE_ERROR
Status: RESOLVED FIXED
Product: atk
Classification: Platform
Component: atk
git master
Other All
: Normal major
: ---
Assigned To: Li Yuan
Li Yuan
Depends on:
Blocks:
 
 
Reported: 2010-09-19 20:00 UTC by Joanmarie Diggs (IRC: joanie)
Modified: 2010-09-21 10:31 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
proposed fix (1.68 KB, patch)
2010-09-19 20:06 UTC, Joanmarie Diggs (IRC: joanie)
committed Details | Review

Description Joanmarie Diggs (IRC: joanie) 2010-09-19 20:00:47 UTC
The Gtk underline property [1] allows for the following underline types [2]:

* none
* single
* double
* low
* error

Atk, on the other hand [3], only allows for: 

* none
* single
* double
* low

The impact of omitting the 'error' type of underline is that when that attribute is present, and when an AT such as Orca attempts to get the text attributes, the application being accessed will crash, as demonstrated from the backtrace below (taken whilst using Pidgin).

[1] http://library.gnome.org/devel/gtk/stable/GtkTextTag.html#GtkTextTag--underline
[2] http://library.gnome.org/devel/pango/stable/pango-Text-Attributes.html#PangoUnderline
[3] http://library.gnome.org/devel/atk/unstable/AtkText.html#AtkTextAttribute

Thread 1 (Thread 0xb7807850 (LWP 19210))

  • #0 __kernel_vsyscall
  • #1 raise
    at ../nptl/sysdeps/unix/sysv/linux/raise.c line 64
  • #2 abort
    at abort.c line 92
  • #3 g_assertion_message
    at /build/buildd/glib2.0-2.25.15/glib/gtestutils.c line 1358
  • #4 g_assertion_message_expr
  • #5 atk_text_attribute_get_value
    at atktext.c line 1167
  • #6 gail_misc_add_to_attr_set
    at /build/buildd/gtk+2.0-2.21.7/modules/other/gail/libgail-util/gailmisc.c line 609
  • #7 gail_misc_buffer_get_run_attributes
    at /build/buildd/gtk+2.0-2.21.7/modules/other/gail/libgail-util/gailmisc.c line 988
  • #8 gail_text_view_get_run_attributes
    at /build/buildd/gtk+2.0-2.21.7/modules/other/gail/gailtextview.c line 639
  • #9 atk_text_get_run_attributes
    at atktext.c line 647
  • #10 impl_getAttributes
    at text.c line 252
  • #11 _ORBIT_skel_small_Accessibility_Text_getAttributes
    at Accessibility-common.c line 760
  • #12 ??
    from /usr/lib/libORBit-2.so.0
  • #13 ORBit_OAObject_invoke
    from /usr/lib/libORBit-2.so.0
  • #14 ORBit_small_invoke_adaptor
    from /usr/lib/libORBit-2.so.0
  • #15 ??
    from /usr/lib/libORBit-2.so.0
  • #16 ??
    from /usr/lib/libORBit-2.so.0
  • #17 ??
    from /usr/lib/libORBit-2.so.0
  • #18 ORBit_handle_request
    from /usr/lib/libORBit-2.so.0
  • #19 giop_connection_handle_input
    from /usr/lib/libORBit-2.so.0
  • #20 ??
    from /usr/lib/libORBit-2.so.0
  • #21 ??
    from /usr/lib/libORBit-2.so.0
  • #22 g_main_dispatch
    at /build/buildd/glib2.0-2.25.15/glib/gmain.c line 2119
  • #23 g_main_context_dispatch
    at /build/buildd/glib2.0-2.25.15/glib/gmain.c line 2672
  • #24 g_main_context_iterate
    at /build/buildd/glib2.0-2.25.15/glib/gmain.c line 2750
  • #25 g_main_loop_run
    at /build/buildd/glib2.0-2.25.15/glib/gmain.c line 2958
  • #26 IA__gtk_main
    at /build/buildd/gtk+2.0-2.21.7/gtk/gtkmain.c line 1237
  • #27 main
    at gtkmain.c line 978

Comment 1 Joanmarie Diggs (IRC: joanie) 2010-09-19 20:06:05 UTC
Created attachment 170601 [details] [review]
proposed fix

This solves the problem for me, as verified by the fact that I can no longer crash Pidgin -- and also that Accerciser correctly indicates an underline type of 'error' for the red squiggly line.

Given that this bug makes it very likely that Orca braille users will encounter frequent crashes in Gtk+ applications which indicate misspelled words, I think this patch (or a similar such fix) should be considered for code freeze break.
Comment 2 Joanmarie Diggs (IRC: joanie) 2010-09-19 20:27:42 UTC
Note that this bug will also cause frequent crashes in OCRFeeder due to the recent addition of spell checking support.
Comment 3 Li Yuan 2010-09-21 03:39:32 UTC
Review of attachment 170601 [details] [review]:

I have got the approval from release team. Please commit the patch.
Comment 4 Joanmarie Diggs (IRC: joanie) 2010-09-21 10:27:59 UTC
Comment on attachment 170601 [details] [review]
proposed fix

Thanks Li! Done.

http://git.gnome.org/browse/atk/commit/?id=b122c67c180d1ecdadcf799e364f9856e3ab8913