D27988: KCM/Compositing: Use KConfig XT in UI

Vlad Zahorodnii noreply at phabricator.kde.org
Mon Mar 30 10:24:52 BST 2020


zzag requested changes to this revision.
zzag added a comment.
This revision now requires changes to proceed.


  Hmm, I cannot test this kcm because it crashes.
  
  name=lldb output
    * 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

INLINE COMMENTS

> kwincompositing_setting.kcfg:72-78
>         <entry name="glPlatformInterface" key="GLPlatformInterface" type="String">
>             <default>glx</default>
>             <choices>
>                 <choice name="glx" />
>                 <choice name="egl" />
>             </choices>
>         </entry>

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. :/

> main.cpp:62
> +    void updateUnmanagedItemStatus();
> +    bool isRunningPlasma() const;
> +    bool compositingRequired() const;

Make it static.

> main.cpp:101
> +    m_form.kcfg_Enabled->setVisible(!compositingRequired());
> +    m_form.kcfg_WindowsBlockCompositing ->setVisible(!compositingRequired());
>  

stray whitespace between "kcfg_WindowsBlockCompositing" and "->". Please remove it.

> main.cpp:243
> +    m_settings->findItem("Backend")->readConfig(m_settings->config());
> +    m_settings->findItem("GLCore")->readConfig(m_settings->config());
> +    m_backend = m_settings->backend();

Maybe `glCore`?

REPOSITORY
  R108 KWin

REVISION DETAIL
  https://phabricator.kde.org/D27988

To: meven, #kwin, ervin, crossi, bport, hchain, zzag
Cc: 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
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.kde.org/pipermail/kwin/attachments/20200330/53d40a47/attachment-0001.html>


More information about the kwin mailing list