Bug 341971

Summary: Windows decoration KCM is all black. QQuickWidget + external winId() call related issue.
Product: [Plasma] kwin Reporter: Jan Grulich <jgrulich>
Component: decorationsAssignee: KWin default assignee <kwin-bugs-null>
Status: RESOLVED FIXED    
Severity: critical CC: alexandernst, arojas, jgrulich, vermette
Priority: VHI Flags: thomas.luebking: ReviewRequest+
Version: 5.2.0   
Target Milestone: ---   
Platform: Other   
OS: Linux   
URL: https://git.reviewboard.kde.org/r/122275/
Latest Commit: Version Fixed In:
Attachments: Screenshot of the KCM.

Description Jan Grulich 2014-12-17 14:48:32 UTC
I'm having problems with KCM for windows decoration. Sometimes when I open it I see just a black window, without any options or decorations. If it loads something, it looks really weird. It is mixing a list of available decorations with some configuration which is barely visible when using breeze dark plasma theme. I'm not sure how it's suppose to look, but it seems to be confusing, there is even no separator between the list of available decorations and the configuration.

Reproducible: Always




I see some QML errors when I lunch it from konsole:
file:///opt/kde-devel/share/kwin/decorations/kwin4_decoration_qml_breeze/contents/ui/BreezeHelpButton.qml:121: Error: Cannot assign [undefined] to bool
file:///opt/kde-devel/share/kwin/decorations/kwin4_decoration_qml_breeze/contents/ui/BreezeCloseButton.qml:75:5: QML Connections: Cannot assign to non-existent property "onAppMenuChanged"
file:///opt/kde-devel/share/kwin/decorations/kwin4_decoration_qml_breeze/contents/ui/BreezeStickyButton.qml:91:5: QML Connections: Cannot assign to non-existent property "onAppMenuChanged"
file:///opt/kde-devel/share/kwin/decorations/kwin4_decoration_qml_breeze/contents/ui/BreezeStickyButton.qml:71:22: Unable to assign [undefined] to bool
file:///opt/kde-devel/share/kwin/decorations/kwin4_decoration_qml_breeze/contents/ui/BreezeMaximizeButton.qml:99:22: Unable to assign [undefined] to bool
file:///opt/kde-devel/share/kwin/decorations/kwin4_decoration_qml_breeze/contents/ui/main.qml:339:31: Unable to assign [undefined] to QString
file:///opt/kde-devel/share/kwin/decorations/kwin4_decoration_qml_breeze/contents/ui/main.qml:142:14: Unable to assign int to QObject*
Comment 1 Jan Grulich 2014-12-17 14:49:31 UTC
Created attachment 90012 [details]
Screenshot of the KCM.
Comment 2 Martin Flöser 2014-12-18 08:42:05 UTC
The warnings are unrelated: they are all for the qml breeze decoration which got git rm-ed.

The problem is probably that it's a QQuickWidget. If once we switched to Qt 5.4 it's still happening we need to switch back to the ugly way.
Comment 3 Martin Flöser 2015-01-13 10:48:26 UTC
the problem of the colors with breeze dark is bug #337544. Which is addressed by https://git.reviewboard.kde.org/r/122027/.

The main problem of black window should(TM) be fixed by Qt 5.4.
Comment 4 Antonio Rojas 2015-01-13 22:57:13 UTC
The black window still happens here with Qt 5.4
Comment 5 Martin Flöser 2015-01-26 06:41:52 UTC
*** Bug 343299 has been marked as a duplicate of this bug. ***
Comment 6 Thomas Lübking 2015-01-27 21:25:24 UTC
*** Bug 343388 has been marked as a duplicate of this bug. ***
Comment 7 Thomas Lübking 2015-01-27 21:26:32 UTC
Adding RR URL to workaround https://bugreports.qt.io/browse/QTBUG-40765
Comment 8 Thomas Lübking 2015-01-27 21:44:27 UTC
*** Bug 343400 has been marked as a duplicate of this bug. ***
Comment 9 Marco Martin 2015-01-28 09:06:52 UTC
Git commit 63885cc5b3f2922441dac0af96ed001b737e78ea by Marco Martin.
Committed on 28/01/2015 at 08:58.
Pushed by mart into branch 'Plasma/5.2'.

use xembed for the qml view of window decorations modul

the only way to ensure the view won't randomly become black
(probably QQuickwidget won't be fixed in qt anytime soon or
ever in 5.x lifetime due to how architecturally is)

basically systemsettings has no control of what gets loaded in,
if one other kcm will call winId(), this one will break.

M  +22   -18   kcmkwin/kwindecoration/kcm.cpp
M  +2    -0    kcmkwin/kwindecoration/kcm.h
M  +1    -4    kcmkwin/kwindecoration/kcm.ui
M  +11   -7    kcmkwin/kwindecoration/qml/main.qml

http://commits.kde.org/kwin/63885cc5b3f2922441dac0af96ed001b737e78ea