Initial surface size not decided by shell, but guessed by qtmir
Bug #1352845 reported by
Gerry Boland
This bug report is a duplicate of:
Bug #1532974: large window flicker on ubuntu apps launching in window mode.
Edit
Remove
This bug affects 5 people
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
QtMir |
In Progress
|
High
|
Gerry Boland | ||
qtmir (Ubuntu) |
In Progress
|
High
|
Gerry Boland | ||
unity-api (Ubuntu) |
In Progress
|
High
|
Gerry Boland | ||
unity8 (Ubuntu) |
In Progress
|
High
|
Gerry Boland |
Bug Description
When a client connects to Mir and requests a surface with particular geometry, qtmir overrides the requested initial geometry with the width/height of the display. Once the surface has been drawn to, shell finally is notified of the surface and resizes it again.
These multiple resizes are bad. Shell should decide the initial geometry, instead of qtmir guessing it.
Related branches
lp:~gerboland/unity-api/surfaceSizerCallback
On hold
for merging
into
lp:unity-api
- Albert Astals Cid (community): Approve (code)
- PS Jenkins bot (community): Approve (continuous-integration)
- Michał Sawicz: Approve
-
Diff: 613 lines (+448/-6) (has conflicts)11 files modifieddebian/changelog (+41/-1)
include/unity/shell/application/ApplicationManagerInterface.h (+35/-0)
include/unity/shell/application/CMakeLists.txt (+2/-2)
include/unity/shell/application/Mir.h (+76/-0)
include/unity/shell/application/MirSurfaceInterface.h (+114/-0)
include/unity/shell/application/MirSurfaceItemInterface.h (+151/-0)
test/qmltest/mocks/plugins/Unity/Application/CMakeLists.txt (+1/-1)
test/qmltest/mocks/plugins/Unity/Application/Mocks/MockApplicationManager.cpp (+17/-1)
test/qmltest/mocks/plugins/Unity/Application/Mocks/MockApplicationManager.h (+4/-0)
test/qmltest/mocks/plugins/Unity/Launcher/CMakeLists.txt (+1/-1)
test/qmltest/unity/shell/application/tst_Application.qml (+6/-0)
lp:~gerboland/qtmir/initialSurfaceGeometry
- PS Jenkins bot (community): Needs Fixing (continuous-integration)
- Albert Astals Cid (community): Needs Fixing
- Michał Sawicz: Approve
- Daniel d'Andrada: Pending requested
-
Diff: 5503 lines (+1949/-1606)45 files modifiedCMakeLists.txt (+3/-1)
debian/changelog (+7/-0)
debian/control (+1/-1)
src/common/globals.h (+76/-0)
src/modules/Unity/Application/CMakeLists.txt (+2/-0)
src/modules/Unity/Application/application.cpp (+341/-69)
src/modules/Unity/Application/application.h (+61/-19)
src/modules/Unity/Application/application_manager.cpp (+118/-245)
src/modules/Unity/Application/application_manager.h (+22/-20)
src/modules/Unity/Application/applicationcontroller.h (+2/-1)
src/modules/Unity/Application/applicationscreenshotprovider.cpp (+1/-1)
src/modules/Unity/Application/mirsurfaceitem.cpp (+25/-25)
src/modules/Unity/Application/mirsurfaceitem.h (+21/-78)
src/modules/Unity/Application/mirsurfaceiteminterface.h (+89/-0)
src/modules/Unity/Application/mirsurfaceitemmodel.h (+2/-2)
src/modules/Unity/Application/mirsurfacemanager.cpp (+6/-6)
src/modules/Unity/Application/mirsurfacemanager.h (+4/-4)
src/modules/Unity/Application/plugin.cpp (+30/-32)
src/modules/Unity/Application/session.cpp (+123/-73)
src/modules/Unity/Application/session.h (+15/-8)
src/modules/Unity/Application/session_interface.h (+31/-23)
src/modules/Unity/Application/sessionmanager.cpp (+2/-2)
src/modules/Unity/Application/sessionmanager.h (+3/-1)
src/modules/Unity/Application/taskcontroller.cpp (+8/-13)
src/modules/Unity/Application/taskcontroller.h (+4/-6)
src/modules/Unity/Application/upstart/applicationcontroller.cpp (+10/-2)
src/platforms/mirserver/CMakeLists.txt (+2/-0)
src/platforms/mirserver/mirserver.cpp (+1/-2)
src/platforms/mirserver/mirshell.cpp (+28/-23)
src/platforms/mirserver/mirshell.h (+16/-12)
tests/modules/Application/CMakeLists.txt (+5/-0)
tests/modules/Application/application_test.cpp (+145/-71)
tests/modules/ApplicationManager/CMakeLists.txt (+5/-1)
tests/modules/ApplicationManager/application_manager_test.cpp (+410/-831)
tests/modules/MirSurfaceItem/CMakeLists.txt (+3/-1)
tests/modules/MirSurfaceItem/mirsurfaceitem_test.cpp (+1/-1)
tests/modules/SessionManager/CMakeLists.txt (+4/-0)
tests/modules/SessionManager/session_manager_test.cpp (+1/-1)
tests/modules/SessionManager/session_test.cpp (+57/-24)
tests/modules/TaskController/CMakeLists.txt (+1/-0)
tests/modules/common/fake_mirsurfaceitem.h (+95/-0)
tests/modules/common/mock_mirsurfaceitem.h (+50/-0)
tests/modules/common/mock_session.h (+44/-5)
tests/modules/common/qtmir_test.cpp (+61/-0)
tests/modules/common/qtmir_test.h (+13/-2)
lp:~gerboland/unity8/initialSurfaceGeometry
- Albert Astals Cid (community): Needs Fixing
- PS Jenkins bot (community): Needs Fixing (continuous-integration)
- Michał Sawicz: Approve
- Daniel d'Andrada: Pending requested
-
Diff: 190 lines (+72/-3)8 files modifieddebian/control (+2/-2)
qml/Stages/PhoneStage.qml (+13/-0)
qml/Stages/TabletStage.qml (+21/-0)
tests/mocks/Unity/Application/ApplicationManager.cpp (+20/-0)
tests/mocks/Unity/Application/ApplicationManager.h (+4/-0)
tests/plugins/Unity/Launcher/CMakeLists.txt (+1/-1)
tests/plugins/Unity/Launcher/launchermodeltest.cpp (+2/-0)
tests/qmltests/Stages/tst_PhoneStage.qml (+9/-0)
Changed in qtmir: | |
status: | New → Confirmed |
importance: | Undecided → High |
assignee: | nobody → Gerry Boland (gerboland) |
Changed in qtmir: | |
status: | Confirmed → In Progress |
Changed in unity-api (Ubuntu): | |
assignee: | nobody → Gerry Boland (gerboland) |
Changed in unity8 (Ubuntu): | |
assignee: | nobody → Gerry Boland (gerboland) |
Changed in qtmir (Ubuntu): | |
assignee: | nobody → Gerry Boland (gerboland) |
status: | New → In Progress |
Changed in unity8 (Ubuntu): | |
status: | New → In Progress |
Changed in unity-api (Ubuntu): | |
status: | New → In Progress |
Changed in qtmir (Ubuntu): | |
importance: | Undecided → High |
Changed in unity8 (Ubuntu): | |
importance: | Undecided → High |
Changed in unity-api (Ubuntu): | |
importance: | Undecided → High |
To post a comment you must log in.
The worst offenders are from best to worst: sudoku app, music app, shorts app.