Merge lp://staging/~dandrader/qtmir/surviveEmptyTexture into lp://staging/qtmir

Proposed by Daniel d'Andrada
Status: Superseded
Proposed branch: lp://staging/~dandrader/qtmir/surviveEmptyTexture
Merge into: lp://staging/qtmir
Prerequisite: lp://staging/~gerboland/qtmir/multimonitor
Diff against target: 125 lines (+22/-17)
6 files modified
src/modules/Unity/Application/mirbuffersgtexture.cpp (+7/-2)
src/modules/Unity/Application/mirsurface.cpp (+8/-6)
src/modules/Unity/Application/mirsurface.h (+1/-1)
src/modules/Unity/Application/mirsurfaceinterface.h (+1/-1)
src/modules/Unity/Application/mirsurfaceitem.cpp (+4/-6)
tests/modules/common/fake_mirsurface.h (+1/-1)
To merge this branch: bzr merge lp://staging/~dandrader/qtmir/surviveEmptyTexture
Reviewer Review Type Date Requested Status
PS Jenkins bot (community) continuous-integration Needs Fixing
Gerry Boland (community) Abstain
Review via email: mp+273221@code.staging.launchpad.net

This proposal has been superseded by a proposal from 2015-10-15.

Commit message

MirSurfaceItem: Survive holding a surface with an empty texture

Survive having a surface whose texture holds no mir buffer at all.
Instead of crashing in such situation we simply don't render it.

Description of the change

To solve a reasonably common I crash I get when launching a desktop unity8 session where unity8-dash, for some reason, is messed up.

Now with this patch, when this happens, I just get an empty unity8-dash window instead and closing it (which makes it respawn) solves the problem.

* Are there any related MPs required for this MP to build/function as expected? Please list.
Just the prerequisite.

* Did you perform an exploratory manual test run of your code change and any related functionality?
Yes

* If you changed the packaging (debian), did you subscribe the ubuntu-unity team to this MP?
N/A

To post a comment you must log in.
Revision history for this message
PS Jenkins bot (ps-jenkins) wrote :
review: Needs Fixing (continuous-integration)
Revision history for this message
Gerry Boland (gerboland) wrote :

Thing is, how do we ever end up in a position that a Mir surface has no texture available?? That is an error in my opinion.

review: Needs Information
Revision history for this message
Daniel d'Andrada (dandrader) wrote :

> Thing is, how do we ever end up in a position that a Mir surface has no
> texture available?? That is an error in my opinion.

It is. I just haven't spent time to find the root cause.

This patch makes MirSurface[Item] code more robust. So instead of crashing because of this issue it just won't try to render it. And adding robustness is never a bad thing even if this patch doesn't try to deal with the root cause (unity8-dash in a weird state, like it didn't start up correctly or is frozen during init, I don't know).

Revision history for this message
Gerry Boland (gerboland) wrote :

It will cause a visual glitch though. If the buffer is missing, something has gone wrong. This is just masking the core problem. I don't like this at all.

review: Disapprove
Revision history for this message
Gerry Boland (gerboland) wrote :

This will have to do until we figure out the root cause.

review: Abstain
387. By Daniel d'Andrada

Merge lp:~gerboland/qtmir/multimonitor once again

Revision history for this message
PS Jenkins bot (ps-jenkins) wrote :
review: Needs Fixing (continuous-integration)

Unmerged revisions

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.

Subscribers

People subscribed via source and target branches