Подробности
[В начало]
Проблема в реализации № S0572
Краткое описание
Неверная регистрация свойства "start-index" в AtkHyperlink
Подробное описание
Из-за неправильной регистрации свойства "start-index" в AtkHyperlink (использован идентификатор PROP_END_INDEX вместо PROP_START_INDEX), результат получения значения этого свойства всегда совпадает со значением свойства "end-index".
Раздел стандарта
ATK 1.9.0 Reference Manual, AtkHyperlink
Пример
//Object MyAtkHyperlink, which derives from AtkHyperlink
//and implements its interfaces
guint my_atk_hyperlink_get_start_index(AtkHyperlink* link_)
{
return 10;
}
guint my_atk_hyperlink_get_end_index(AtkHyperlink* link_)
{
return 20;
}
//...
int main()
{
AtkHyperlink* link = g_object_new(MY_TYPE_ATK_HYPERLINK, NULL);
gint start_index = 0;
g_object_get(link, "start-index", &start_index, NULL);
//now start_index is 20, but should be 10
return 0;
}
Способы устранения
Для устанения проблемы необходимо в функции atk_hyperlink_class_init() поправить регистрацию свойства "start-index":
--- atk-1.18.0/atk/atkhyperlink.c
+++ atk-1.18.0-fixed/atk/atkhyperlink.c
@@ -126,7 +126,7 @@
g_object_class_install_property (gobject_class,
- PROP_END_INDEX,
+ PROP_START_INDEX,
g_param_spec_int ("start-index",
_("Start index"),
_("The start index of the AtkHyperlink object"),
0,
G_MAXINT,
0,
G_PARAM_READABLE));
Компонент
gtk-atk 1.9.0 or later
Принято
Gnome Bugzilla 477763
Статус
Исправлено в ATK 1.21.5 for GNOME 2.21.5.
[В начало]
»