Init the icon in ShellClient::init
Summary: If the window never provides the appId, we would not get an icon for the window. This happens for example for KWin's internal windows which don't set the app id as KWin also doesn't have a desktop file. With this change the DebugConsole has a window icon in the decoration. Test Plan: Extended tests and manual verification of DebugConsole Reviewers: #kwin, #plasma Subscribers: plasma-devel, kwin Tags: #plasma Differential Revision: https://phabricator.kde.org/D10294
This commit is contained in:
parent
4c6e7b9200
commit
5795fc8cc0
3 changed files with 3 additions and 0 deletions
|
@ -211,6 +211,7 @@ void InternalWindowTest::testEnterLeave()
|
|||
QVERIFY(!workspace()->activeClient());
|
||||
ShellClient *c = clientAddedSpy.first().first().value<ShellClient*>();
|
||||
QVERIFY(c->isInternal());
|
||||
QCOMPARE(c->icon().name(), QStringLiteral("wayland"));
|
||||
QCOMPARE(workspace()->findToplevel(&win), c);
|
||||
QCOMPARE(c->geometry(), QRect(0, 0, 100, 100));
|
||||
QVERIFY(c->isShown(false));
|
||||
|
|
|
@ -160,6 +160,7 @@ void TestShellClient::testMapUnmapMap()
|
|||
QCOMPARE(client->readyForPainting(), true);
|
||||
QCOMPARE(client->depth(), 32);
|
||||
QVERIFY(client->hasAlpha());
|
||||
QCOMPARE(client->icon().name(), QStringLiteral("wayland"));
|
||||
QCOMPARE(workspace()->activeClient(), client);
|
||||
QVERIFY(effectsWindowShownSpy.isEmpty());
|
||||
QVERIFY(client->isMaximizable());
|
||||
|
|
|
@ -197,6 +197,7 @@ void ShellClient::init()
|
|||
findInternalWindow();
|
||||
createWindowId();
|
||||
setupCompositing();
|
||||
updateIcon();
|
||||
SurfaceInterface *s = surface();
|
||||
Q_ASSERT(s);
|
||||
if (s->buffer()) {
|
||||
|
|
Loading…
Reference in a new issue