last focused app is resumed (active=true) while in spread, after lock & unlock
Bug #1353593 reported by
Gerry Boland
This bug affects 1 person
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
qtmir (Ubuntu) |
Invalid
|
Medium
|
Josh Arenson |
Bug Description
Steps to Repro:
1. Open Camera app
2. Go to spread - see Camera app blacks out - it has Qt.application.
3. Hit power key to lock
4. Hit power key and unlock the greeter
5. Look at Camera in spread
Bug:
Camera app is live in the spread again. Means Qt.application.
Changed in qtmir: | |
status: | New → Confirmed |
importance: | Undecided → Medium |
Changed in qtmir: | |
assignee: | nobody → Josh Arenson (josharenson) |
Changed in qtmir: | |
status: | Confirmed → In Progress |
affects: | qtmir → qtmir (Ubuntu) |
To post a comment you must log in.
I compiled qtubuntu with debug output enabled and watched the output while reproducing this bug.
I can confirm that unity8 is not sending camera app a focused event at step 5. So it appears that when the camera app process is resumed, it brings up the camera even if its window is not focused.
Relevant output (interspersed with comments):
<step 2 - enter spread> :customEvent( type=SURFACE_ WEVENT_ TYPE) :handleSurfaceF ocusChange( focused= false)
eventCallback (context=0x57c0e0, event=0xb2f6c090)
UbuntuInput:
UbuntuWindow:
<step 3 - power off>
<step 4 - power on>
<step 5 - unlock greeter>
virtual QSGVideoNode* ShaderVideoNode Plugin: :createNode( const QVideoSurfaceFo rmat&) rControl: :onTextureCreat ed(unsigned int) : textureId: 12
void AalVideoRendere
Already have a texture id and video sink, not creating a new one
<meaning camera backend starts up again to show camera output on screen - but no focused event has been sent to it>
So I created a simple QML app to exhibit the Qt.application. active property
import QtQuick 2.0
Rectangle { .active) ? "green" : "red"
color: (Qt.application
}
so it is green if active, red if not. Run with file_hint= /usr/share/ applications/ mediaplayer- app.desktop
qmlscene active-app.qml --desktop_
This test exhibits the same problem as camera app does. Somehow Qt.application. active it set to be true after process resume, even if the surface is still unfocused.