Merge tag 'upstream/2.35.1' into tizen 00/224300/2 submit/tizen/20200213.221652
authorArtur Świgoń <a.swigon@samsung.com>
Fri, 7 Feb 2020 12:48:05 +0000 (13:48 +0100)
committerArtur Świgoń <a.swigon@samsung.com>
Tue, 11 Feb 2020 09:28:57 +0000 (10:28 +0100)
Change-Id: I5fda43a15419df045c0f92ac1d8709a320ff732d

1  2 
NEWS
atk/atkcomponent.c
atk/atkcomponent.h
atk/atkdocument.c
atk/atkstate.h
atk/atktext.c
docs/atk-sections.txt
packaging/atk.spec

diff --cc NEWS
--- 1/NEWS
--- 2/NEWS
+++ b/NEWS
@@@ -1024,21 -1155,21 +1155,21 @@@ Changes in version 1.12.4
  *
  *Add Li Yuan to MAINTAINERS.
  
--Changes in version 1.12.3: 
++Changes in version 1.12.3:
  =========================
  *
  * Add missing signals to fix win32 build (Cedric Gustin, bug #355912).
  * New linguas: 'te' (Sunil Mohan Adapa), 'dz', 'ku' (Abel Cheung).
  * Implement AtkDocument signals (Neo Liu)
  * Update docs to include info on AtkDocument signals.
--* Bugfixes: #357847, #340553, #346464, #352227, 
++* Bugfixes: #357847, #340553, #346464, #352227,
  
--Changes in version 1.12.2: 
++Changes in version 1.12.2:
  =========================
  * Documentation fixes.
  * New language: Bengali (Runa Bhattacharjee)
  
--Changes in version 1.12.1: 
++Changes in version 1.12.1:
  =========================
  * Added AtkHyperlinkImpl
  * New language: Bengali India (bn_IN) - Runa Bhattacharjee.
    new and deprecated methods are created.
  * Added "get_uri" method to AtkStreamableContent.
  
--Changes in version 1.12.0: 
++Changes in version 1.12.0:
  =========================
  
  * Added ATK_ROLE_FORM, ATK_STATE_ANIMATED, ATK_STATE_VISITED, ATK_STATE_DEFAULT
@@@ -1058,7 -1189,7 +1189,7 @@@ Changes in version 1.11.4
   * Enhanced documentation: gtk-doc API docs are
     now at 100% coverage.
  
-- * allow for NULL in-params to AtkImage coordinate APIs. 
++ * allow for NULL in-params to AtkImage coordinate APIs.
  
   * New langs: Georgian (ka)   Vladimir Sichinava
                Oriya (or)      Gora Mohanty
@@@ -1076,7 -1207,7 +1207,7 @@@ Changes in version 1.11.0
    AtkDocument, AtkObject, AtkComponent, AtkState.
  
    Significant API additions:  Added locale attribute to
--  AtkImage instances, and Document instances.  
++  AtkImage instances, and Document instances.
    Added the ability to assign weakly-typed attributes to
    AtkObject as name-value pairs; also added similar
    name-value pairs to AtkDocument for attributes which are
  
    Minor documentation fixes (thanks to Bill Abt).
  
--  Added 'tt' (Tatar) locale, Simos Xenitellis  
++  Added 'tt' (Tatar) locale, Simos Xenitellis
  
  Changes in version 1.10.3:
  =========================
  
--  Libtool fix.        
++  Libtool fix.
    N.B. : 1.10.2 was released with a buggy libtool!
  
    in version 1.10.2:
@@@ -1123,14 -1254,14 +1254,14 @@@ atk_relation_add_target. (bug #158722
  
  * Use gmodule-no-export.pc. (bug #158531) [Matthias Clasen]
  
--* Add new translations: Arabic [Arafat Medini], 
++* Add new translations: Arabic [Arafat Medini],
  Thai [Supranee Thirawattanasuk], Assamese [Sunaram Patir]
  
  * Updated translations: Canadian English [Adam Weinberger],
  Italian [Alessio Frusciante], Traditional Chinese [GNOME HK Team],
  Welsh [Dafydd Harries], French [Jean-Michel Ardantz],
  Romanian [Mi\305\237u Moldovan], Catalan [Jordi Mallach]
-- 
++
  Changes in version 1.8.0
  ========================
  * Add translations: Bosnian [Kenan Had\305\276iavdi\304\207],
@@@ -1179,14 -1310,14 +1310,14 @@@ Changes in version 1.7.
  ========================
  * Add "bounds-changed" signal for AtkComponent. (bug #140476)
  
--* Add new state ATK_STATE_TRUNCATED and new relation 
++* Add new state ATK_STATE_TRUNCATED and new relation
  ATK_RELATION_PARENT_WINDOW_OF. (bug #133375)
  
  Changes in version 1.6.1
  ========================
  * Update to build on Cygwin, (bug #136666) [Roger Leigh]
  
--* Add translations: Gujarati [Gujarati team], 
++* Add translations: Gujarati [Gujarati team],
  Basque [I\303\261aki Larra\303\261aga] Punjabi [Amanpreet Singh Alam],
  Walloon [Pablo Saratxaga], Marathi [Indictrans team]
  
@@@ -1199,9 -1330,9 +1330,9 @@@ Changes in version 1.6.
  ========================
  * Add translation: Serbian Jekavian [Bojan Suzic], Estonian [Priit Laes]
  
--* Update translations: Arabic [Arafat Medini], 
++* Update translations: Arabic [Arafat Medini],
  Spanish [Francisco Javier F. Serrador],
--Lithuanian [\305\275ygimantas Beru\304\215ka], 
++Lithuanian [\305\275ygimantas Beru\304\215ka],
  Serbian [Aleksandar Urosevic], Belarusian [Ales Nyakhaychyk]
  
  Changes in version 1.5.5
@@@ -1214,7 -1345,7 +1345,7 @@@ Greek [Kostas Papadimas], Hindi [Guntup
  
  Changes in version 1.5.4
  ========================
--* Update translations: Japanese [Takeshi AIHANA], 
++* Update translations: Japanese [Takeshi AIHANA],
  Azerbaijani [M\311\231tin \306\217mirov], Finnish [Pauli Virtanen],
  French [Christophe Merlet], Ukrainian [Maxim Dziumanenko],
  Simplified Chinese [Funda Wang], Arabic [Arafat Medini],
@@@ -1231,8 -1362,8 +1362,8 @@@ Changes in version 1.5.
  * Update translations: Japanese [Takeshi AIHANA], Italian [Alessio Frusciante],
  Norwegian [Kjartan Marass], Albanian [Laurent Dhima],
  Russian [Russian team], Polish [GNOME PL team], Welsh [Rhys Jones],
--Swedish [Christian Rose], Serbian [Danilo \305\240egan], 
--Dutch [Tino Meinen], Czech [Miloslav Trmac], Korean [Changwoo Ryu], 
++Swedish [Christian Rose], Serbian [Danilo \305\240egan],
++Dutch [Tino Meinen], Czech [Miloslav Trmac], Korean [Changwoo Ryu],
  Spanish [Francicso Javier F. Serrador], Danish [Ole Laursen],
  Portuguese [Duarte Loreto]
  
@@@ -1245,13 -1376,13 +1376,13 @@@ Changes in version 1.5.
  * Update translations: Czech [MiloSlac Trmac], Portuguese [Duaret Loreto],
  Danish [Ole Laursen], Spanish [Francisco Javier F. Serrador],
  Afrikaans [Stefan Lubbersen], Japanese [Takeshi AIHANA],
--Norwegian [Kjartan Maraas], Greek [Kostas Papadimas], 
++Norwegian [Kjartan Maraas], Greek [Kostas Papadimas],
  Swedish [Christan Rose], Belarusian [Alex Nyakhaychyk],
  Serbian [Danilo \305\240egan], Arabic [Arafat Mendini],
  Norwegian Nyorsk [\303\205smund Skj\303\246veland], Croatian [Robert Sedak],
  Polish [Artur Flinta], Lithuanian [Tomas Kuliavas],
  Dutch [Vincent van Adrighem], French {Christophe Merlet],
--Mongolian [Sanlig Badral], Korean [Korean], Arabic [Arafat Medini]. 
++Mongolian [Sanlig Badral], Korean [Korean], Arabic [Arafat Medini].
  
  
  Changes in version 1.5.1
  
  * Set state FOCUSED for object reported as having focus. (bug #127400)
  
--* Add new property "accessible-hypertext-nlinks" for AtkObject. Add new 
--signal link_activated and properties "number-of-anchors", "end-index" and 
++* Add new property "accessible-hypertext-nlinks" for AtkObject. Add new
++signal link_activated and properties "number-of-anchors", "end-index" and
  "start-index" for AtkHyperlink. (bug 112390)
  
  * Make nicks and blurbs of properties translatable.
  * Add translations: Afrikaans [Stefan Lubbersen]
  
  * Update translations: Serbian [Danilo \305\240egan], Czech [Milozlav Trmac],
--Portuguese [Duarte Loreto],  Mongolian [Sanlig Badral], 
++Portuguese [Duarte Loreto],  Mongolian [Sanlig Badral],
  Dutch [Vincent van Adrighem]
  
  Changes in version 1.5.0
  
  Changes in version 1.4.1
  ========================
--* Add translations: Lithuanian [Gedminas Paulauskas], 
++* Add translations: Lithuanian [Gedminas Paulauskas],
  Norwegian [(nynorsk [\303\205smund Skj\303\246veland]
  
  * Update translations: German [Christian Neumair],
@@@ -1306,7 -1437,7 +1437,7 @@@ Changes in version 1.3.
  ========================
  * Add translations: Hindi [Guntupalli Katunakar]
  
--* Update translations: Azerbaijani [Metin Amiroff], 
++* Update translations: Azerbaijani [Metin Amiroff],
  Italian [Alessio Frusciante]
  
  Changes in version 1.3.5
  
  * Update translations: Serbian [Prevod.org], Esparanto [Charles Voelger],
  Hungarian [Andras Timar].
-- 
++
  
  Changes in version 1.3.4
  ========================
@@@ -1356,18 -1487,18 +1487,18 @@@ Changes in version 1.3.
  
  Changes in version 1.3.0
  ========================
--* Use automake-1.7, libtoolize, gtkdocize and glib-gettextize. 
++* Use automake-1.7, libtoolize, gtkdocize and glib-gettextize.
  [James Henstridge]
  
  * Windows fixes [Tor Lillqvist]
  
--* Add translations: Esparanto [Charles Voelger], 
--Belarussian [Dmitry G.Mastrukov], Malayalam [Guntupalli Karunkar], 
++* Add translations: Esparanto [Charles Voelger],
++Belarussian [Dmitry G.Mastrukov], Malayalam [Guntupalli Karunkar],
  Persian [Roozbeh Pourander], Azerbaijani [Metin Amiroff],
  Bengali [Sayamindu Dasgupta], Kannada [Pramod], Macedonian {Abel Cheung],
  Turkish [Gorkem], Indonesian [Mohammad Damt],
  Traditional Chinese [Abel Cheung], Slovak [Stanislav Visnovsky],
--Brazilian Portuguese [Alexander Folle de Menezes], 
++Brazilian Portuguese [Alexander Folle de Menezes],
  Romanian [Mi\305\237u Moldovan], Mongolian [Sanlig Badral]
  
  * Make atk_text_get_character_extents() return positive value, even for rtl
@@@ -1385,18 -1516,18 +1516,18 @@@ text. (bug #102954) [Padraig O'Briain
  * Add property "selected-link" to AtkHyperlink and new function
  atk_kyperlink_is_selected_link(); add signal "link-selected" to AtkHyperlink.
  (bug #104621) [Padraig]
-- 
++
  * Correct creation of object which is not a AtkGObjectAccessible in
  atk_gobject_accessible_from_object. [Padraig and Alex Larsson]
  
--* Do not emit notification for initial setting of role using 
++* Do not emit notification for initial setting of role using
  atk_object_set_role(). (bug #107710) [Padraig]
  
  
  Changes in version 1.2.2
  ========================
  * Add translations: Simplified Chinese (zh_CN) [He Qiangqiang],
--Albanian [Laurent Dhima], Finnisg [Pauli Virtanen], 
++Albanian [Laurent Dhima], Finnisg [Pauli Virtanen],
  Italian [Alession Frusciante], Amharic [Daniel Yacob]
  
  * Allow changing of default installation directory for documentation.
@@@ -1416,7 -1547,7 +1547,7 @@@ Changes in version 1.1.
  ========================
  * Correct return value for atk_text_get_caret_offset(). (Bug #101020)
  [Padraig O'Briain]
--* Add translations: Vietnamese, Hebrew, Dutch [Pablo Saratxaga], 
++* Add translations: Vietnamese, Hebrew, Dutch [Pablo Saratxaga],
  Hungarian [Andras Timar], Bulgarian [Yanko Kaneti]
  * Miscellaneous Fixes [Owen Taylor, manish Singh, Padraig]
  
@@@ -1437,7 -1568,7 +1568,7 @@@ Changes in version 1.1.
  * Add Swedish translations [Christian Rose]
  * Fix compiler warnings [Soeren Sandmann]
  * Add signal "active-descendant-changed" to AtkObject [Padraig]
--* Add relation types ATK_RELATION_EMBEDS and ATK_RELATION_EMBEDS_BY  
++* Add relation types ATK_RELATION_EMBEDS and ATK_RELATION_EMBEDS_BY
  [Bill Haneman]
  * Add atk_hyperlink_is_inline() [Bill]
  * Update docs [Bill]
@@@ -1516,13 -1647,13 +1647,13 @@@ Changes in 0.
  * New test cases [Padraig]
  * Documentation improvements [Padraig]
  
--Other contributors: Darin Adler, Bill Haneman, Xavier Ordoquy, Michael Meeks, 
++Other contributors: Darin Adler, Bill Haneman, Xavier Ordoquy, Michael Meeks,
    Sebastian Wilhelmi
  
  Changes in 0.7
  ==============
  * Some restructuring of how change notification works, use
--  signals not properties in some cases. [Padraig O'Briain, Bill Haneman] 
++  signals not properties in some cases. [Padraig O'Briain, Bill Haneman]
  * Various small API fixes and improvements [Padraig]
  * Add key event hooks [Bill]
  * Documentation improvements [Padraig]
  
  Changes in 0.6
  ==============
--* Small improvements to AtkText, AtkRelation, AtkObject APIs. 
++* Small improvements to AtkText, AtkRelation, AtkObject APIs.
    [Padraig O'Briain, Bill Haneman]
  * Win32 build fixes [Tor Lillqvist]
  * Bug fixes and optimizations [Padraig]
@@@ -1553,7 -1684,7 +1684,7 @@@ Changes in 0.
  * Rename AtkHyperLink to AtkHyperlink
  * Allow for screen or window relative coordinates
  * Utility functions
--* Various minor tweeks and cleanups. 
++* Various minor tweeks and cleanups.
  * Documentation improvements
  * Add default implementations for important functions
  
@@@ -129,7 -129,7 +129,7 @@@ atk_component_base_init (AtkComponentIf
   * @component: The #AtkComponent to attach the @handler to
   * @handler: The #AtkFocusHandler to be attached to @component
   *
-- * Add the specified handler to the set of functions to be called 
++ * Add the specified handler to the set of functions to be called
   * when this object receives focus events (in or out). If the handler is
   * already added it is not added again
   *
@@@ -161,7 -161,7 +161,7 @@@ atk_component_add_focus_handler (AtkCom
   * from @component
   *
   * Remove the handler specified by @handler_id from the list of
-- * functions to be executed when this object receives focus events 
++ * functions to be executed when this object receives focus events
   * (in or out).
   *
   * Deprecated: 2.9.4: If you need to track when an object gains or
@@@ -304,9 -314,12 +314,12 @@@ atk_component_get_extents    (AtkCompon
   * @coord_type: specifies whether the coordinates are relative to the screen
   * or to the components top level window
   *
-- * Gets the position of @component in the form of 
++ * Gets the position of @component in the form of
   * a point specifying @component's top-left corner.
   *
+  * If the position can not be obtained (e.g. a non-embedded plug or missing
+  * support), x and y are set to -1.
+  *
   * Deprecated: Since 2.12. Use atk_component_get_extents() instead.
   **/
  void
@@@ -383,7 -409,7 +409,7 @@@ atk_component_get_size       (AtkCompon
   * Returns: an #AtkLayer which is the layer of the component
   **/
  AtkLayer
--atk_component_get_layer (AtkComponent *component) 
++atk_component_get_layer (AtkComponent *component)
  {
    AtkComponentIface *iface;
  
   * atk_component_get_mdi_zorder:
   * @component: an #AtkComponent
   *
-- * Gets the zorder of the component. The value G_MININT will be returned 
++ * Gets the zorder of the component. The value G_MININT will be returned
   * if the layer of the component is not ATK_LAYER_MDI or ATK_LAYER_WINDOW.
   *
-- * Returns: a gint which is the zorder of the component, i.e. the depth at 
-- * which the component is shown in relation to other components in the same 
++ * Returns: a gint which is the zorder of the component, i.e. the depth at
++ * which the component is shown in relation to other components in the same
   * container.
   **/
  gint
--atk_component_get_mdi_zorder (AtkComponent *component) 
++atk_component_get_mdi_zorder (AtkComponent *component)
  {
    AtkComponentIface *iface;
  
@@@ -708,7 -668,7 +734,7 @@@ atk_component_real_contains (AtkCompone
      return FALSE;
  }
  
--static AtkObject* 
++static AtkObject*
  atk_component_real_ref_accessible_at_point (AtkComponent *component,
                                              gint         x,
                                              gint         y,
@@@ -182,7 -190,7 +194,7 @@@ struct _AtkComponentIfac
    gboolean                 (* set_size)         (AtkComponent   *component,
                                                   gint           width,
                                                   gint           height);
--      
++
    AtkLayer                 (* get_layer)        (AtkComponent   *component);
    gint                     (* get_mdi_zorder)   (AtkComponent   *component);
  
@@@ -205,7 -205,7 +205,7 @@@ atk_document_get_document_type (AtkDocu
   *
   * Returns: (transfer none): a %gpointer that points to an instance of the DOM.
   **/
--gpointer 
++gpointer
  atk_document_get_document (AtkDocument *document)
  {
    AtkDocumentIface *iface;
@@@ -296,16 -296,18 +296,18 @@@ atk_document_get_attributes (AtkDocumen
   * atk_document_get_attribute_value: (virtual get_document_attribute_value)
   * @document: a #GObject instance that implements AtkDocumentIface
   * @attribute_name: a character string representing the name of the attribute
-  *            whose value is being queried.
+  *   whose value is being queried.
   *
-  * Since: 1.12
+  * Retrieves the value of the given @attribute_name inside @document.
   *
   * Returns: (nullable): a string value associated with the named
-  *    attribute for this document, or NULL if a value for
-  *    #attribute_name has not been specified for this document.
+  *    attribute for this document, or %NULL if a value for
+  *    @attribute_name has not been specified for this document.
+  *
+  * Since: 1.12
   */
  const gchar *
--atk_document_get_attribute_value (AtkDocument *document, 
++atk_document_get_attribute_value (AtkDocument *document,
                                  const gchar *attribute_name)
  {
    AtkDocumentIface *iface;
   *
   * Since: 1.12
   *
-  * Returns: TRUE if #value is successfully associated with #attribute_name
-  *          for this document, FALSE otherwise (e.g. if the document does not
-  *          allow the attribute to be modified).
+  * Returns: %TRUE if @attribute_value is successfully associated
+  *   with @attribute_name for this @document, and %FALSE if if the
+  *   document does not allow the attribute to be modified
   */
  gboolean
--atk_document_set_attribute_value (AtkDocument *document, 
++atk_document_set_attribute_value (AtkDocument *document,
                                  const gchar *attribute_name,
                                  const gchar *attribute_value)
  {
diff --cc atk/atkstate.h
Simple merge
diff --cc atk/atktext.c
@@@ -156,7 -156,7 +156,7 @@@ atk_text_get_type (void
  {
    static GType type = 0;
  
--  if (!type) 
++  if (!type)
      {
        static const GTypeInfo tinfo =
        {
@@@ -178,16 -178,16 +178,16 @@@ static voi
  atk_text_base_init (AtkTextIface *class)
  {
    static gboolean initialized = FALSE;
--  
++
    if (! initialized)
      {
--      /* 
--       * Note that text_changed signal supports details "insert", "delete", 
--       * possibly "replace". 
++      /*
++       * Note that text_changed signal supports details "insert", "delete",
++       * possibly "replace".
         */
--     
--      class->get_range_extents = atk_text_real_get_range_extents; 
--      class->get_bounded_ranges = atk_text_real_get_bounded_ranges; 
++
++      class->get_range_extents = atk_text_real_get_range_extents;
++      class->get_bounded_ranges = atk_text_real_get_bounded_ranges;
  
        /**
         * AtkText::text-changed:
        g_signal_new ("text_changed",
                      ATK_TYPE_TEXT,
                      G_SIGNAL_RUN_LAST | G_SIGNAL_DETAILED,
--                    G_STRUCT_OFFSET (AtkTextIface, text_changed), 
++                    G_STRUCT_OFFSET (AtkTextIface, text_changed),
                      (GSignalAccumulator) NULL, NULL,
                      atk_marshal_VOID__INT_INT,
                      G_TYPE_NONE,
                        g_cclosure_marshal_VOID__VOID,
                        G_TYPE_NONE, 0);
  
--      
++
        initialized = TRUE;
      }
  }
@@@ -331,7 -332,7 +332,7 @@@ atk_text_get_text (AtkText      *text
                     gint         end_offset)
  {
    AtkTextIface *iface;
--  
++
    g_return_val_if_fail (ATK_IS_TEXT (text), NULL);
  
    iface = ATK_TEXT_GET_IFACE (text);
@@@ -657,10 -663,13 +663,13 @@@ atk_text_get_caret_offset (AtkText *tex
   * @y: (out) (optional): Pointer for the y coordinate of the bounding box
   * @width: (out) (optional): Pointer for the width of the bounding box
   * @height: (out) (optional): Pointer for the height of the bounding box
-- * @coords: specify whether coordinates are relative to the screen or widget window 
++ * @coords: specify whether coordinates are relative to the screen or widget window
+  *
+  * If the extent can not be obtained (e.g. missing support), all of x, y, width,
+  * height are set to -1.
   *
-- * Get the bounding box containing the glyph representing the character at 
-- *     a particular text offset. 
++ * Get the bounding box containing the glyph representing the character at
++ *     a particular text offset.
   **/
  void
  atk_text_get_character_extents (AtkText *text,
  
    if (offset < 0)
      return;
-- 
++
    iface = ATK_TEXT_GET_IFACE (text);
  
    if (iface->get_character_extents)
   *set at the position @offset in the text. @start_offset and @end_offset are
   *set to the start and end of the range around @offset where the attributes are
   *invariant. Note that @end_offset is the offset of the first character
-- *after the range.  See the enum AtkTextAttribute for types of text 
-- *attributes that can be returned. Note that other attributes may also be 
++ *after the range.  See the enum AtkTextAttribute for types of text
++ *attributes that can be returned. Note that other attributes may also be
   *returned.
   *
   *Returns: (transfer full): an #AtkAttributeSet which contains the attributes
-  * explicitly set at @offset. This #AtkAttributeSet should be freed by a call
-  * to atk_attribute_set_free().
+  *         explicitly set at @offset. This #AtkAttributeSet should be freed by
+  *         a call to atk_attribute_set_free().
   **/
--AtkAttributeSet* 
++AtkAttributeSet*
  atk_text_get_run_attributes (AtkText          *text,
                               gint             offset,
                               gint             *start_offset,
   *@text: an #AtkText
   *
   *Creates an #AtkAttributeSet which consists of the default values of
-- *attributes for the text. See the enum AtkTextAttribute for types of text 
-- *attributes that can be returned. Note that other attributes may also be 
++ *attributes for the text. See the enum AtkTextAttribute for types of text
++ *attributes that can be returned. Note that other attributes may also be
   *returned.
   *
-  *Returns: (transfer full): an #AtkAttributeSet which contains the default
-  * values of attributes.  at @offset. this #atkattributeset should be freed by
-  * a call to atk_attribute_set_free().
+  *Returns: (transfer full): an #AtkAttributeSet which contains the default text
+  *          attributes for this #AtkText. This #AtkAttributeSet should be freed by
+  *          a call to atk_attribute_set_free().
   */
- AtkAttributeSet* 
+ AtkAttributeSet*
  atk_text_get_default_attributes (AtkText          *text)
  {
    AtkTextIface *iface;
@@@ -823,7 -832,7 +832,7 @@@ atk_text_get_character_count (AtkText *
   * @x: screen x-position of character
   * @y: screen y-position of character
   * @coords: specify whether coordinates are relative to the screen or
-- * widget window 
++ * widget window
   *
   * Gets the offset of the character located at coordinates @x and @y. @x and @y
   * are interpreted as being relative to the screen or this widget's window
@@@ -889,10 -897,10 +897,10 @@@ atk_text_get_n_selections (AtkText *tex
   * Gets the text from the specified selection.
   *
   * Returns: a newly allocated string containing the selected text. Use g_free()
-  *   to free the returned string.
+  *          to free the returned string.
   **/
  gchar*
--atk_text_get_selection (AtkText *text, 
++atk_text_get_selection (AtkText *text,
                          gint    selection_num,
                          gint    *start_offset,
                          gint    *end_offset)
   *
   * Adds a selection bounded by the specified offsets.
   *
-  * Returns: %TRUE if success, %FALSE otherwise
+  * Returns: %TRUE if successful, %FALSE otherwise
   **/
  gboolean
--atk_text_add_selection (AtkText *text, 
++atk_text_add_selection (AtkText *text,
                          gint    start_offset,
                          gint    end_offset)
  {
   *
   * Removes the specified selection.
   *
-  * Returns: %TRUE if success, %FALSE otherwise
+  * Returns: %TRUE if successful, %FALSE otherwise
   **/
  gboolean
--atk_text_remove_selection (AtkText *text, 
++atk_text_remove_selection (AtkText *text,
                             gint    selection_num)
  {
    AtkTextIface *iface;
   * of the text region is assigned the number 0, etc.  Note that adding,
   * moving or deleting a selected region can change the numbering.
   * @start_offset: the new starting character offset of the selection
-- * @end_offset: the new end position of (e.g. offset immediately past) 
++ * @end_offset: the new end position of (e.g. offset immediately past)
   * the selection
   *
   * Changes the start and end offset of the specified selection.
   *
-  * Returns: %TRUE if success, %FALSE otherwise
+  * Returns: %TRUE if successful, %FALSE otherwise
   **/
  gboolean
--atk_text_set_selection (AtkText *text, 
++atk_text_set_selection (AtkText *text,
                          gint    selection_num,
--                        gint    start_offset, 
++                        gint    start_offset,
                          gint    end_offset)
  {
    AtkTextIface *iface;
@@@ -1048,9 -1056,9 +1056,9 @@@ atk_text_set_caret_offset (AtkText *tex
  /**
   * atk_text_get_range_extents:
   * @text: an #AtkText
-- * @start_offset: The offset of the first text character for which boundary 
++ * @start_offset: The offset of the first text character for which boundary
   *        information is required.
-- * @end_offset: The offset of the text character after the last character 
++ * @end_offset: The offset of the text character after the last character
   *        for which boundary information is required.
   * @coord_type: Specify whether coordinates are relative to the screen or widget window.
   * @rect: (out): A pointer to a AtkTextRectangle which is filled in by this function.
@@@ -1350,10 -1385,76 +1385,76 @@@ atk_text_rectangle_contain (AtkTextRect
                 (y_clip_type == ATK_TEXT_CLIP_MIN)));
  
    return (x_min_ok && x_max_ok && y_min_ok && y_max_ok);
--  
++
+ }
+ /**
+  * atk_text_scroll_substring_to:
+  * @text: an #AtkText
+  * @start_offset: start offset in the @text
+  * @end_offset: end offset in the @text, or -1 for the end of the text.
+  * @type: specify where the object should be made visible.
+  *
+  * Makes a substring of @text visible on the screen by scrolling all necessary parents.
+  *
+  * Since: 2.32
+  *
+  * Returns: whether scrolling was successful.
+  */
+ gboolean
+ atk_text_scroll_substring_to (AtkText       *text,
+                               gint          start_offset,
+                               gint          end_offset,
+                               AtkScrollType type)
+ {
+   AtkTextIface *iface = NULL;
+   g_return_val_if_fail (ATK_IS_TEXT (text), FALSE);
+   iface = ATK_TEXT_GET_IFACE (text);
+   if (iface->scroll_substring_to)
+     return (iface->scroll_substring_to) (text, start_offset, end_offset, type);
+   else
+     return FALSE;
+ }
+ /**
+  * atk_text_scroll_substring_to_point:
+  * @text: an #AtkText
+  * @start_offset: start offset in the @text
+  * @end_offset: end offset in the @text, or -1 for the end of the text.
+  * @coords: specify whether coordinates are relative to the screen or to the
+  * parent object.
+  * @x: x-position where to scroll to
+  * @y: y-position where to scroll to
+  *
+  * Move the top-left of a substring of @text to a given position of the screen
+  * by scrolling all necessary parents.
+  *
+  * Since: 2.32
+  *
+  * Returns: whether scrolling was successful.
+  */
+ gboolean
+ atk_text_scroll_substring_to_point (AtkText      *text,
+                                     gint         start_offset,
+                                     gint         end_offset,
+                                     AtkCoordType coords,
+                                     gint         x,
+                                     gint         y)
+ {
+   AtkTextIface *iface = NULL;
+   g_return_val_if_fail (ATK_IS_TEXT (text), FALSE);
+   iface = ATK_TEXT_GET_IFACE (text);
+   if (iface->scroll_substring_to_point)
+     return (iface->scroll_substring_to_point) (text, start_offset, end_offset, coords, x, y);
+   else
+     return FALSE;
  }
  
--static void 
++static void
  atk_text_real_get_range_extents (AtkText           *text,
                                   gint              start_offset,
                                   gint              end_offset,
    for (i = start_offset + 1; i < end_offset; i++)
      {
        atk_text_get_character_extents (text, i,
--                                      &cbounds.x, &cbounds.y, 
--                                      &cbounds.width, &cbounds.height, 
++                                      &cbounds.x, &cbounds.y,
++                                      &cbounds.width, &cbounds.height,
                                        coord_type);
        atk_text_rectangle_union (&bounds, &cbounds, &bounds);
      }
@@@ -1409,11 -1510,11 +1510,11 @@@ atk_text_real_get_bounded_ranges (AtkTe
        bounds_min_offset == bounds_max_offset)
      return NULL;
  
--  line = atk_text_get_text_at_offset (text, bounds_min_offset, 
++  line = atk_text_get_text_at_offset (text, bounds_min_offset,
                                        ATK_TEXT_BOUNDARY_LINE_START,
                                        &min_line_start, &min_line_end);
    g_free (line);
--  line = atk_text_get_text_at_offset (text, bounds_max_offset, 
++  line = atk_text_get_text_at_offset (text, bounds_max_offset,
                                        ATK_TEXT_BOUNDARY_LINE_START,
                                        &max_line_start, &max_line_end);
    g_free (line);
                range = g_realloc (range, range_size * sizeof (gpointer));
              }
            range[num_ranges] = one_range;
--          num_ranges++; 
--        }   
++          num_ranges++;
++        }
        curr_offset++;
        if (range)
          range[num_ranges] = NULL;
@@@ -553,7 -566,7 +566,7 @@@ atk_state_type_get_typ
  AtkStreamableContent
  atk_streamable_content_get_n_mime_types
  atk_streamable_content_get_mime_type
--atk_streamable_content_get_stream     
++atk_streamable_content_get_stream
  atk_streamable_content_get_uri
  <SUBSECTION Standard>
  AtkStreamableContentIface
index 3271fc2,0000000..91da9b7
mode 100644,000000..100644
--- /dev/null
@@@ -1,97 -1,0 +1,97 @@@
- Version:        2.30.0
 +%define baseline 2.16
 +Name:           atk
++Version:        2.35.1
 +Release:        0
 +License:        LGPL-2.0+
 +Summary:        An Accessibility ToolKit
 +Url:            http://www.gtk.org/
 +Group:          System/Libraries
 +Source:         http://download.gnome.org/sources/%{name}/%{baseline}/%{name}-%{version}.tar.xz
 +Source98:       baselibs.conf
 +Source1001:     %{name}.manifest
 +
 +BuildRequires:  fdupes
 +BuildRequires:  gcc-c++
 +BuildRequires:  meson >= 0.46.0
 +BuildRequires:  glib2-devel >= 2.35.2
 +BuildRequires:  intltool
 +BuildRequires:  which
 +BuildRequires:  gobject-introspection
 +BuildRequires:  gobject-introspection-devel
 +%if %{with introspection}
 +BuildRequires:  gobject-introspection-devel
 +%endif
 +Requires:       libatk
 +
 +%description
 +The ATK library provides a set of accessibility interfaces. By
 +supporting the ATK interfaces, an application or toolkit can be used
 +with screen readers, magnifiers, and alternate input devices.
 +
 +%package -n libatk
 +Summary:        An Accessibility ToolKit
 +Group:          System/Libraries
 +Provides:       %{name} = %{version}
 +Obsoletes:      %{name} < %{version}
 +
 +%description -n libatk
 +The ATK library provides a set of accessibility interfaces. By
 +supporting the ATK interfaces, an application or toolkit can be used
 +with screen readers, magnifiers, and alternate input devices.
 +
 +%package -n typelib-Atk
 +Summary:        An Accessibility ToolKit -- Introspection bindings
 +Group:          System/Libraries
 +
 +%description -n typelib-Atk
 +The ATK library provides a set of accessibility interfaces. By
 +supporting the ATK interfaces, an application or toolkit can be used
 +with screen readers, magnifiers, and alternate input devices.
 +
 +This package provides the GObject Introspection bindings for ATK.
 +
 +%package devel
 +Summary:        Include Files and Libraries mandatory for Development
 +Group:          Development/Libraries/GNOME
 +Requires:       libatk = %{version}
 +
 +%description devel
 +This package contains all necessary include files and libraries needed
 +to develop applications that require these.
 +
 +%prep
 +%setup -q
 +cp %{SOURCE1001} .
 +
 +%build
 +meson --prefix /usr --libdir %{_libdir} build
 +ninja -C build all
 +
 +%install
 +
 +export DESTDIR=%{buildroot}
 +ninja -C build install
 +
 +%fdupes %{buildroot}
 +
 +%post -n libatk -p /sbin/ldconfig
 +
 +%postun -n libatk -p /sbin/ldconfig
 +
 +%files -n libatk
 +%manifest %{name}.manifest
 +%defattr(-, root, root)
 +%doc COPYING
 +%license COPYING
 +%{_libdir}/libatk*.so.*
 +%{_datadir}/locale/
 +%{_libdir}/girepository*/Atk*.typelib
 +%{_datadir}/gir*/Atk*.gir
 +
 +%files devel
 +%manifest %{name}.manifest
 +%defattr(-, root, root)
 +%{_includedir}/atk-1.0
 +%{_libdir}/libatk*.so
 +%{_libdir}/pkgconfig/*.pc
 +