Merge lp://qastaging/~apinheiro/unity/atk-selection into lp://qastaging/unity

Proposed by Alejandro Piñeiro
Status: Merged
Approved by: Mirco Müller
Approved revision: no longer in the source branch.
Merged at revision: 897
Proposed branch: lp://qastaging/~apinheiro/unity/atk-selection
Merge into: lp://qastaging/unity
Diff against target: 640 lines (+392/-3)
9 files modified
src/Launcher.cpp (+22/-0)
src/Launcher.h (+3/-0)
src/LauncherIcon.h (+2/-0)
src/unity-launcher-accessible.cpp (+171/-1)
src/unity-launcher-accessible.h (+4/-0)
src/unity-launcher-icon-accessible.cpp (+129/-1)
src/unity-launcher-icon-accessible.h (+4/-0)
src/unity-root-accessible.cpp (+1/-1)
src/unitya11y.cpp (+56/-0)
To merge this branch: bzr merge lp://qastaging/~apinheiro/unity/atk-selection
Reviewer Review Type Date Requested Status
Mirco Müller (community) Approve
Rodrigo Moya (community) Approve
Review via email: mp+51440@code.qastaging.launchpad.net

Description of the change

This branch solves the problems with all the related bugs. All three were too tied to create three different branches, so I concluded that it was better to just work on a branch.

Anyway, I have a problem. I was not able to test it. On a normal run, it crashes when the launcher icon accessible object tries to connect to the new signal that I added to the Launcher. This is weird, as it works on the custom unit tests that I created (on unitya11y). This is the reason I added Mirco here, to check if the signal is wrong.

Anyway, I fear that it is a known bug. Using gdb on this crash I get this backtrace:
rogram received signal SIGSEGV, Segmentation fault.
0xb76070a9 in std::_List_node_base::_M_hook(std::_List_node_base*) () from /usr/lib/libstdc++.so.6
(gdb) bt
#0 0xb76070a9 in std::_List_node_base::_M_hook(std::_List_node_base*) () from /usr/lib/libstdc++.so.6
#1 0xb76d1c4d in sigc::internal::signal_impl::insert(std::_List_iterator<sigc::slot_base>, sigc::slot_base const&) () from /usr/lib/libsigc-2.0.so.0
#2 0xb76d1ce7 in sigc::internal::signal_impl::connect(sigc::slot_base const&) () from /usr/lib/libsigc-2.0.so.0
#3 0xb76d1f78 in sigc::signal_base::connect(sigc::slot_base const&) () from /usr/lib/libsigc-2.0.so.0
#4 0xb509fd4d in connect (accessible=0x8de9920, data=0x91efd0c) at /usr/include/sigc++-2.0/sigc++/signal.h:2659
#5 unity_launcher_icon_accessible_initialize (accessible=0x8de9920, data=0x91efd0c

And this _M_hook thing is a bug already reported:

https://bugs.launchpad.net/ubuntu/+source/nux/+bug/717600

So, if I'm proposing this merge, is more a gentle request to the people: could you review my code to discard any stupid mistake in my code? Could you test (Rodrigo?) this branch to discard something specific on my environment? Thanks

To post a comment you must log in.
Revision history for this message
Alejandro Piñeiro (apinheiro) wrote :

Well, finally I was able to solve that crashes. It seems that the real problem was with the casting. The last commit add more type checks, and it solves it.

I was able to test it, and also get a initial support with orca, although using this custom orca script:

https://bugzilla.gnome.org/show_bug.cgi?id=643419

For the moment it just expose the selection change on the Launcher.

So now, it is just a normal merge proposal.

Revision history for this message
Rodrigo Moya (rodrigo-moya) wrote :

Works as advertised

review: Approve
Revision history for this message
Mirco Müller (macslow) wrote :

Alejandro, what did you do to trigger the crash? Just switch to the launcher key-nav-mode with Alt-F1? I can easily use the launcher key-nav-mode here using your branch merged to trunk and don't get any crash. So I'd also approve it as I don't see a problem.

Revision history for this message
Mirco Müller (macslow) wrote :

Well then... approved :)

review: Approve

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
The diff is not available at this time. You can reload the page or download it.