<table><tr><td style="">zzag requested changes to this revision.<br />zzag added a comment.<br />This revision now requires changes to proceed.
</td><a style="text-decoration: none; padding: 4px 8px; margin: 0 8px 8px; float: right; color: #464C5C; font-weight: bold; border-radius: 3px; background-color: #F7F7F9; background-image: linear-gradient(to bottom,#fff,#f1f0f1); display: inline-block; border: 1px solid rgba(71,87,120,.2);" href="https://phabricator.kde.org/D27988">View Revision</a></tr></table><br /><div><div><p>Hmm, I cannot test this kcm because it crashes.</p>

<div class="remarkup-code-block" style="margin: 12px 0;" data-code-lang="text" data-sigil="remarkup-code-block"><div style="padding: 6px 12px; font-size: 13px; font-weight: bold; display: inline-block; border-top-left-radius: 3px; border-top-right-radius: 3px; color: rgba(0,0,0,.75); background: rgba(71, 87, 120, 0.08);">lldb output</div><pre class="remarkup-code" style="font: 11px/15px "Menlo", "Consolas", "Monaco", monospace; padding: 12px; margin: 0; background: rgba(71, 87, 120, 0.08); max-height: 40em; overflow: auto;">* thread #1, name = 'kcmshell5', stop reason = signal SIGSEGV: invalid address (fault address: 0x0)
    frame #0: 0x00007fffef767d07 kwincompositing.so`KWinCompositingKCM::load(this=0x00005555555ef6c0) at main.cpp:243:68
   240      m_form.animationDurationFactor->setValue(index);
   241 
   242      m_settings->findItem("Backend")->readConfig(m_settings->config());
-> 243      m_settings->findItem("GLCore")->readConfig(m_settings->config());
   244      m_backend = m_settings->backend();
   245      if (m_backend == KWinCompositingSetting::EnumBackend::OpenGL) {
   246          m_glCore = m_settings->glCore();
(lldb) bt
* thread #1, name = 'kcmshell5', stop reason = signal SIGSEGV: invalid address (fault address: 0x0)
  * frame #0: 0x00007fffef767d07 kwincompositing.so`KWinCompositingKCM::load(this=0x00005555555ef6c0) at main.cpp:243:68
    frame #1: 0x00007fffef7682a2 kwincompositing.so`KWinCompositingKCM::qt_static_metacall(_o=0x00005555555ef6c0, _c=InvokeMetaMethod, _id=0, _a=0x000055555567a478) at main.moc:85:25
    frame #2: 0x00007ffff605daab libQt5Core.so.5`QMetaCallEvent::placeMetaCall(this=0x000055555567a430, object=0x00005555555ef6c0) at qobject.cpp:617:24
    frame #3: 0x00007ffff605e9a5 libQt5Core.so.5`QObject::event(this=0x00005555555ef6c0, e=0x000055555567a430) at qobject.cpp:1314:31
    frame #4: 0x00007ffff6ee188d libQt5Widgets.so.5`QWidget::event(this=0x00005555555ef6c0, event=0x000055555567a430) at qwidget.cpp:9089:30
    frame #5: 0x00007ffff6e92ea5 libQt5Widgets.so.5`QApplicationPrivate::notify_helper(this=0x000055555557ea20, receiver=0x00005555555ef6c0, e=0x000055555567a430) at qapplication.cpp:3671:31
    frame #6: 0x00007ffff6e92c95 libQt5Widgets.so.5`QApplication::notify(this=0x00007fffffffdf70, receiver=0x00005555555ef6c0, e=0x000055555567a430) at qapplication.cpp:3621:31
    frame #7: 0x00007ffff6016ddf libQt5Core.so.5`QCoreApplication::notifyInternal2(receiver=0x00005555555ef6c0, event=0x000055555567a430) at qcoreapplication.cpp:1061:24
    frame #8: 0x00007ffff601783c libQt5Core.so.5`QCoreApplication::sendEvent(receiver=0x00005555555ef6c0, event=0x000055555567a430) at qcoreapplication.cpp:1456:27
    frame #9: 0x00007ffff60185ab libQt5Core.so.5`QCoreApplicationPrivate::sendPostedEvents(receiver=0x0000000000000000, event_type=0, data=0x000055555556c400) at qcoreapplication.cpp:1815:36
    frame #10: 0x00007ffff6017ee4 libQt5Core.so.5`QCoreApplication::sendPostedEvents(receiver=0x0000000000000000, event_type=0) at qcoreapplication.cpp:1674:46
    frame #11: 0x00007ffff60b0164 libQt5Core.so.5`::postEventSourceDispatch(s=0x00005555555e4380, (null)=0x0000000000000000, (null)=0x0000000000000000) at qeventdispatcher_glib.cpp:277:39
    frame #12: 0x00007ffff198c9be libglib-2.0.so.0`g_main_context_dispatch + 638
    frame #13: 0x00007ffff198e831 libglib-2.0.so.0`___lldb_unnamed_symbol354$$libglib-2.0.so.0 + 545
    frame #14: 0x00007ffff198e871 libglib-2.0.so.0`g_main_context_iteration + 49
    frame #15: 0x00007ffff60b08bf libQt5Core.so.5`QEventDispatcherGlib::processEvents(this=0x00005555555e75d0, flags=(i = 36)) at qeventdispatcher_glib.cpp:423:43
    frame #16: 0x00007fffef83242a libQt5XcbQpa.so.5`QXcbGlibEventDispatcher::processEvents(this=0x00005555555e75d0, flags=(i = 36)) at qxcbeventdispatcher.cpp:143:47
    frame #17: 0x00007ffff601347b libQt5Core.so.5`QEventLoop::processEvents(this=0x00007fffffffde30, flags=(i = 36)) at qeventloop.cpp:139:68
    frame #18: 0x00007ffff60137dd libQt5Core.so.5`QEventLoop::exec(this=0x00007fffffffde30, flags=(i = 0)) at qeventloop.cpp:232:22
    frame #19: 0x00007ffff601767e libQt5Core.so.5`QCoreApplication::exec() at qcoreapplication.cpp:1369:36
    frame #20: 0x00007ffff6560bd4 libQt5Gui.so.5`QGuiApplication::exec() at qguiapplication.cpp:1864:34
    frame #21: 0x00007ffff6e8fa27 libQt5Widgets.so.5`QApplication::exec() at qapplication.cpp:2811:33
    frame #22: 0x00007ffff7f7e4d3 libkdeinit5_kcmshell5.so`kdemain + 6435
    frame #23: 0x00007ffff7dd6023 libc.so.6`__libc_start_main + 243
    frame #24: 0x000055555555505e kcmshell5`_start + 46</pre></div></div></div><br /><div><strong>INLINE COMMENTS</strong><div><div style="margin: 6px 0 12px 0;"><div style="border: 1px solid #C7CCD9; border-radius: 3px;"><div style="padding: 0; background: #F7F7F7; border-color: #e3e4e8; border-style: solid; border-width: 0 0 1px 0; margin: 0;"><div style="color: #74777d; background: #eff2f4; padding: 6px 8px; overflow: hidden;"><a style="float: right; text-decoration: none;" href="https://phabricator.kde.org/D27988#inline-161668">View Inline</a><span style="color: #4b4d51; font-weight: bold;">kwincompositing_setting.kcfg:72-78</span></div>
<div style="font: 11px/15px "Menlo", "Consolas", "Monaco", monospace; white-space: pre-wrap; clear: both; padding: 4px 0; margin: 0;"><div style="padding: 0 8px; margin: 0 4px; ">       <entry name="glPlatformInterface" key="GLPlatformInterface" type="String">
</div><div style="padding: 0 8px; margin: 0 4px; ">           <default>glx</default>
</div><div style="padding: 0 8px; margin: 0 4px; ">           <choices>
</div><div style="padding: 0 8px; margin: 0 4px; ">               <choice name="glx" />
</div><div style="padding: 0 8px; margin: 0 4px; ">               <choice name="egl" />
</div><div style="padding: 0 8px; margin: 0 4px; ">           </choices>
</div><div style="padding: 0 8px; margin: 0 4px; ">       </entry>
</div></div></div>
<div style="margin: 8px 0; padding: 0 12px;"><p style="padding: 0; margin: 8px;">Please remove this entry because it's unused. In general, it would probably be nice to re-introduce the "OpenGL Platform Interface" option. It was originally present in the QML based version of this KCM, but then we switched back to qwidgets. :/</p></div></div><br /><div style="border: 1px solid #C7CCD9; border-radius: 3px;"><div style="padding: 0; background: #F7F7F7; border-color: #e3e4e8; border-style: solid; border-width: 0 0 1px 0; margin: 0;"><div style="color: #74777d; background: #eff2f4; padding: 6px 8px; overflow: hidden;"><a style="float: right; text-decoration: none;" href="https://phabricator.kde.org/D27988#inline-161666">View Inline</a><span style="color: #4b4d51; font-weight: bold;">main.cpp:62</span></div>
<div style="font: 11px/15px "Menlo", "Consolas", "Monaco", monospace; white-space: pre-wrap; clear: both; padding: 4px 0; margin: 0;"><div style="padding: 0 8px; margin: 0 4px; background: rgba(251, 175, 175, .7);">    <span class="bright"></span><span class="n"><span class="bright">KWin</span></span><span class="bright"></span><span style="color: #aa2211"><span class="bright">::</span></span><span class="bright"></span><span class="n"><span class="bright">Compositing</span></span><span class="bright"></span><span style="color: #aa2211"><span class="bright">::</span></span><span class="bright"></span><span class="n"><span class="bright">Compositing</span></span><span class="bright"> </span><span style="color: #aa2211"><span class="bright">*</span></span><span class="bright"></span><span class="n"><span class="bright">m_compositing</span></span><span class="p">;</span>
</div><div style="padding: 0 8px; margin: 0 4px; background: rgba(151, 234, 151, .6);">    <span class="bright"></span><span style="color: #aa4000"><span class="bright">void</span></span><span class="bright"> </span><span style="color: #004012"><span class="bright">updateUnmanagedItemStatus</span></span><span class="bright"></span><span class="p"><span class="bright">()</span>;</span>
</div><div style="padding: 0 8px; margin: 0 4px; background: rgba(151, 234, 151, .6);">    <span style="color: #aa4000">bool</span> <span style="color: #004012">isRunningPlasma</span><span class="p">()</span> <span style="color: #aa4000">const</span><span class="p">;</span>
</div><div style="padding: 0 8px; margin: 0 4px; background: rgba(151, 234, 151, .6);">    <span style="color: #aa4000">bool</span> <span style="color: #004012">compositingRequired</span><span class="p">()</span> <span style="color: #aa4000">const</span><span class="p">;</span>
</div></div></div>
<div style="margin: 8px 0; padding: 0 12px;"><p style="padding: 0; margin: 8px;">Make it static.</p></div></div><br /><div style="border: 1px solid #C7CCD9; border-radius: 3px;"><div style="padding: 0; background: #F7F7F7; border-color: #e3e4e8; border-style: solid; border-width: 0 0 1px 0; margin: 0;"><div style="color: #74777d; background: #eff2f4; padding: 6px 8px; overflow: hidden;"><a style="float: right; text-decoration: none;" href="https://phabricator.kde.org/D27988#inline-161664">View Inline</a><span style="color: #4b4d51; font-weight: bold;">main.cpp:101</span></div>
<div style="font: 11px/15px "Menlo", "Consolas", "Monaco", monospace; white-space: pre-wrap; clear: both; padding: 4px 0; margin: 0;"><div style="padding: 0 8px; margin: 0 4px; background: rgba(251, 175, 175, .7);">    <span class="n">m_form</span><span class="p">.<span class="bright"></span></span><span class="bright"></span><span class="n"><span class="bright">compositing</span>Enabled</span><span style="color: #aa2211">-></span><span class="n">setVisible</span><span class="p">(</span><span style="color: #aa2211">!<span class="bright"></span></span><span class="bright"></span><span class="n"><span class="bright">m_compositing</span></span><span class="bright"></span><span style="color: #aa2211"><span class="bright">-></span></span><span class="n">compositingRequired</span><span class="p">());</span>
</div><div style="padding: 0 8px; margin: 0 4px; background: rgba(251, 175, 175, .7);">    <span class="n">m_form</span><span class="p">.<span class="bright"></span></span><span class="bright"></span><span class="n"><span class="bright">w</span>indowsBlockCompositing</span><span style="color: #aa2211">-></span><span class="n">setVisible</span><span class="p">(</span><span style="color: #aa2211">!<span class="bright"></span></span><span class="bright"></span><span class="n"><span class="bright">m_compositing</span></span><span class="bright"></span><span style="color: #aa2211"><span class="bright">-></span></span><span class="n">compositingRequired</span><span class="p">());</span>
</div><div style="padding: 0 8px; margin: 0 4px; background: rgba(151, 234, 151, .6);">    <span class="n">m_form</span><span class="p">.<span class="bright"></span></span><span class="bright"></span><span class="n"><span class="bright">kcfg_</span>Enabled</span><span style="color: #aa2211">-></span><span class="n">setVisible</span><span class="p">(</span><span style="color: #aa2211">!</span><span class="n">compositingRequired</span><span class="p">());</span>
</div><div style="padding: 0 8px; margin: 0 4px; background: rgba(151, 234, 151, .6);">    <span class="n">m_form</span><span class="p">.<span class="bright"></span></span><span class="bright"></span><span class="n"><span class="bright">kcfg_W</span>indowsBlockCompositing<span class="bright"></span></span><span class="bright"> </span><span style="color: #aa2211">-></span><span class="n">setVisible</span><span class="p">(</span><span style="color: #aa2211">!</span><span class="n">compositingRequired</span><span class="p">());</span>
</div></div></div>
<div style="margin: 8px 0; padding: 0 12px;"><p style="padding: 0; margin: 8px;">stray whitespace between "kcfg_WindowsBlockCompositing" and "->". Please remove it.</p></div></div><br /><div style="border: 1px solid #C7CCD9; border-radius: 3px;"><div style="padding: 0; background: #F7F7F7; border-color: #e3e4e8; border-style: solid; border-width: 0 0 1px 0; margin: 0;"><div style="color: #74777d; background: #eff2f4; padding: 6px 8px; overflow: hidden;"><a style="float: right; text-decoration: none;" href="https://phabricator.kde.org/D27988#inline-161678">View Inline</a><span style="color: #4b4d51; font-weight: bold;">main.cpp:243</span></div>
<div style="font: 11px/15px "Menlo", "Consolas", "Monaco", monospace; white-space: pre-wrap; clear: both; padding: 4px 0; margin: 0;"><div style="padding: 0 8px; margin: 0 4px; background: rgba(151, 234, 151, .6);">    <span class="n">m_settings</span><span style="color: #aa2211">-></span><span class="n">findItem</span><span class="p">(</span><span style="color: #766510">"Backend"</span><span class="p">)</span><span style="color: #aa2211">-></span><span class="n">readConfig</span><span class="p">(</span><span class="n">m_settings</span><span style="color: #aa2211">-></span><span class="n">config</span><span class="p">());</span>
</div><div style="padding: 0 8px; margin: 0 4px; background: rgba(151, 234, 151, .6);">    <span class="n">m_settings</span><span style="color: #aa2211">-></span><span class="n">findItem</span><span class="p">(</span><span style="color: #766510">"GLCore"</span><span class="p">)</span><span style="color: #aa2211">-></span><span class="n">readConfig</span><span class="p">(</span><span class="n">m_settings</span><span style="color: #aa2211">-></span><span class="n">config</span><span class="p">());</span>
</div><div style="padding: 0 8px; margin: 0 4px; background: rgba(151, 234, 151, .6);">    <span class="n">m_backend</span> <span style="color: #aa2211">=</span> <span class="n">m_settings</span><span style="color: #aa2211">-></span><span class="n">backend</span><span class="p">();</span>
</div></div></div>
<div style="margin: 8px 0; padding: 0 12px;"><p style="padding: 0; margin: 8px;">Maybe <tt style="background: #ebebeb; font-size: 13px;">glCore</tt>?</p></div></div></div></div></div><br /><div><strong>REPOSITORY</strong><div><div>R108 KWin</div></div></div><br /><div><strong>REVISION DETAIL</strong><div><a href="https://phabricator.kde.org/D27988">https://phabricator.kde.org/D27988</a></div></div><br /><div><strong>To: </strong>meven, KWin, ervin, crossi, bport, hchain, zzag<br /><strong>Cc: </strong>zzag, kwin, Orage, cacarry, LeGast00n, The-Feren-OS-Dev, cblack, jraleigh, zachus, fbampaloukas, GB_2, mkulinski, ragreen, jackyalcine, iodelay, crozbo, bwowk, ZrenBot, ngraham, alexeymin, himcesjf, lesliezhai, ali-mohamed, hardening, romangg, jensreuterberg, abetts, sebas, apol, ahiemstra, mart<br /></div>