summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCaolán McNamara <caolanm@redhat.com>2016-07-21 11:28:57 +0100
committerMiklos Vajna <vmiklos@collabora.co.uk>2016-07-21 15:57:29 +0000
commit2152e6bd6960e2cfc719f4274504e842cfdd4bc3 (patch)
tree951ae0c71d3818dc8bd56ec73312471b4e4e1130
parentbab808ca04f8c79a98e8133b09ac1a3934c6d339 (diff)
Resolves: tdf#101011 atk needs a value for accessible-table-column-header
This presumably became a problem after... commit 76c549eb01dcb7b5bf28a271ce00e386f3d388ba Author: Steve Yin <steve_y@apache.org> Date: Fri Nov 29 13:03:27 2013 +0000 Integrate branch of IAccessible2 added a TABLE_COLUMN_HEADER_CHANGED usage which triggered it. Change-Id: If54b7a39a170566cf7def3548ba385fa5d99bb1c (cherry picked from commit 9b47a8b21f87fa77d2d61ac4a2c2bbc7c0d67a19) Reviewed-on: https://gerrit.libreoffice.org/27368 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Miklos Vajna <vmiklos@collabora.co.uk>
-rw-r--r--vcl/unx/gtk/a11y/atklistener.cxx16
1 files changed, 15 insertions, 1 deletions
diff --git a/vcl/unx/gtk/a11y/atklistener.cxx b/vcl/unx/gtk/a11y/atklistener.cxx
index dad6fb57900e..3e6e16954970 100644
--- a/vcl/unx/gtk/a11y/atklistener.cxx
+++ b/vcl/unx/gtk/a11y/atklistener.cxx
@@ -519,8 +519,22 @@ void AtkListener::notifyEvent( const accessibility::AccessibleEventObject& aEven
}
case accessibility::AccessibleEventId::TABLE_COLUMN_HEADER_CHANGED:
- g_signal_emit_by_name( G_OBJECT( atk_obj ), "property_change::accessible-table-column-header");
+ {
+ accessibility::AccessibleTableModelChange aChange;
+ aEvent.NewValue >>= aChange;
+
+ AtkPropertyValues values;
+ memset(&values, 0, sizeof(AtkPropertyValues));
+ g_value_init (&values.new_value, G_TYPE_INT);
+ values.property_name = "accessible-table-column-header";
+
+ for (sal_Int32 nChangedColumn = aChange.FirstColumn; nChangedColumn <= aChange.LastColumn; ++nChangedColumn)
+ {
+ g_value_set_int (&values.new_value, nChangedColumn);
+ g_signal_emit_by_name(G_OBJECT(atk_obj), "property_change::accessible-table-column-header", &values, nullptr);
+ }
break;
+ }
case accessibility::AccessibleEventId::TABLE_CAPTION_CHANGED:
g_signal_emit_by_name( G_OBJECT( atk_obj ), "property_change::accessible-table-caption");