Nux

Required a way to know when a object is destroyed

Bug #703054 reported by Alejandro Piñeiro
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
Nux
Fix Released
Medium
Loïc Molinari
Unity
Fix Released
Undecided
Unassigned
nux (Ubuntu)
Fix Released
Undecided
Unassigned
unity (Ubuntu)
Fix Released
Undecided
Unassigned

Bug Description

The AtkObject provides the accessibility support for the graphical toolkit objects, working as a kind of a proxy. The AtkObject normally maintain a reference of this toolkit object, and can survive this toolkit object (ie: the atk-bridge can maintain a reference to the atk object, and meanwhile, the toolkit object being destroyed).

nux::Object implements nux::Trackable, with methods related to the reference count, included a method (Dispose) to destroy an object. But id doesn't notify in any way that the object was destroyed.

This notification is required in order to update the reference on the AtkObject (so avoid to use a destroyed object, that usually is not safe), and to also update the state of the object to ATK_STATE_DEFUNCT [1]

I briefly talked with Jay Taoko about it. Ideally this signal should be emitted by Object or by Trackable, but sigc++ is started to be used on Area (and for Unity sake, LauncherIcon is not an Area), so the options are:

  * Move sigc++ to be used on Object or Trackable, and add the signal there
  * Add the signal on Area, and then ensure that any object on unity is at least a Area

[1] http://library.gnome.org/devel/atk/stable/atk-AtkState.html#AtkStateType

Tags: a11y

Related branches

Jay Taoko (jaytaoko)
Changed in nux:
status: New → In Progress
assignee: nobody → Jay Taoko (jaytaoko)
Revision history for this message
Jay Taoko (jaytaoko) wrote :

The signal has been added Area.h:

   sigc::signal<void, Area*> OnDelete; //!< Signal emitted when an area is destroyed.

The signal is emitted in Area::~Area when and object is destroy.

Area inherits directly from sigc++. Eventually, we will make Object inherit from sigc++ so more objects can benefit.

Changed in nux:
status: In Progress → Fix Committed
Revision history for this message
Alejandro Piñeiro (apinheiro) wrote :

That means that LauncherIcon will be moved to be an Area? (this also applies to any Nux object on Unity not being an Area right now, not checked yet if there are other cases)

Revision history for this message
Alejandro Piñeiro (apinheiro) wrote :

Gently ping:

"That means that LauncherIcon will be moved to be an Area? (this also applies to any Nux object on Unity not being an Area right now, not checked yet if there are other cases)"

Changed in nux:
assignee: Jay Taoko (jaytaoko) → Loïc Molinari (loic.molinari)
importance: Undecided → Medium
Revision history for this message
Jay Taoko (jaytaoko) wrote :

Yes, we are going to move LauncherIcon to area.

Changed in unity:
status: New → Fix Committed
Changed in nux (Ubuntu):
status: New → Fix Committed
Omer Akram (om26er)
Changed in nux:
status: Fix Committed → Fix Released
Changed in nux (Ubuntu):
status: Fix Committed → Fix Released
Changed in unity:
status: Fix Committed → Fix Released
Changed in unity (Ubuntu):
status: New → Fix Released
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.