Merge lp://qastaging/~3v1n0/unity/fix-load-icon-crash-926658 into lp://qastaging/unity

Proposed by Marco Trevisan (Treviño)
Status: Superseded
Proposed branch: lp://qastaging/~3v1n0/unity/fix-load-icon-crash-926658
Merge into: lp://qastaging/unity
Diff against target: 1356 lines (+613/-180)
18 files modified
UnityCore/GLibSource.cpp (+1/-2)
dash/ResultRendererTile.cpp (+26/-22)
launcher/Decaymulator.h (+1/-3)
launcher/EdgeBarrierController.cpp (+88/-46)
launcher/EdgeBarrierController.h (+8/-7)
launcher/LauncherController.cpp (+4/-5)
launcher/LauncherHideMachine.cpp (+6/-8)
launcher/LauncherHideMachine.h (+1/-1)
launcher/LauncherHoverMachine.cpp (+1/-2)
launcher/LauncherOptions.cpp (+34/-34)
launcher/LauncherOptions.h (+1/-0)
launcher/PointerBarrier.cpp (+30/-23)
launcher/PointerBarrier.h (+17/-16)
plugins/unityshell/src/unityshell.cpp (+5/-0)
plugins/unityshell/unityshell.xml.in (+8/-0)
tests/CMakeLists.txt (+16/-11)
tests/test_edge_barrier_controller.cpp (+225/-0)
tests/test_pointer_barrier.cpp (+141/-0)
To merge this branch: bzr merge lp://qastaging/~3v1n0/unity/fix-load-icon-crash-926658
Reviewer Review Type Date Requested Status
Unity Team Pending
Review via email: mp+116089@code.qastaging.launchpad.net

This proposal has been superseded by a proposal from 2012-07-20.

Commit message

ResultRendererTile: fix a crash if row.renderer<TextureContainer*>() is null

Description of the change

In ResultRendererTile::LoadIcon we assumed that row.renderer<TextureContainer*>() is always not null; even if this should not happen because it has already just set into ResultRendererTile::Preload it looks like that there are cases that when doing row.set_renderer(new TextureContainer()); in the subsequent row.renderer<TextureContainer*>() returns null.
The implementation of that depends on dee_model_{set,get}_tag (it's basically like doing dee_model_set_tag and dee_model_get_tag), so it seems like that is failing. I've not been able to get a failure in stress tests, btw.

So, at this point, even if it would not the best solution, it's better to add a safety check to prevent crashes.

To post a comment you must log in.

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.