https://bugs.kde.org/show_bug.cgi?id=419866

            Bug ID: 419866
           Summary: Desktop configure dialog does not close after clicking
                    "OK" when changing containment plugin type.
           Product: plasmashell
           Version: 5.18.4
          Platform: Other
                OS: Linux
            Status: REPORTED
          Severity: normal
          Priority: NOR
         Component: Desktop Containment
          Assignee: notm...@gmail.com
          Reporter: yyc1...@gmail.com
                CC: plasma-b...@kde.org
  Target Milestone: 1.0

SUMMARY
It's unclear if this is a plasma-desktop bug, or a plasma-workspace bug, or a
Qt bug... See the debug note below.

STEPS TO REPRODUCE
1. Right click on desktop and bring up the desktop configure dialog from the
right click menu.
2. Change the desktop type. The warning for applying immediately should appear.
3. Click "OK".

OBSERVED RESULT
The configure should apply and the dialog is opened again.

EXPECTED RESULT
The configure should apply and the dialog should close.

DEBUGGING
As far as I can tell, the sequence of event when clocking on the OK button is
that.

[`accptAction.trigger()`](https://github.com/KDE/plasma-desktop/blob/3e8c7dada73ed838a93b0b0ffcd5c679627ffa54/desktoppackage/contents/configuration/AppletConfiguration.qml#L396)
calls a chain of functions which calls
[`root.saveConfig()`](https://github.com/KDE/plasma-desktop/blob/3e8c7dada73ed838a93b0b0ffcd5c679627ffa54/desktoppackage/contents/configuration/ConfigurationContainmentAppearance.qml#L38)
When [changing the containment
type](https://github.com/KDE/plasma-desktop/blob/3e8c7dada73ed838a93b0b0ffcd5c679627ffa54/desktoppackage/contents/configuration/ConfigurationContainmentAppearance.qml#L49)
which through a chain of events recreated a new `ContainmentConfigView` (didn't
save backtrace, sorry) and then closed the old one.
After `root.saveConfig()` returns, the call to
[`configDialog.close()`](https://github.com/KDE/plasma-desktop/blob/3e8c7dada73ed838a93b0b0ffcd5c679627ffa54/desktoppackage/contents/configuration/AppletConfiguration.qml#L397)
appears to be calling the destroyed `ContainmentConfigView` and the new one is
left open.

However, since the `ContainmentConfigView` constructor appears to be [setting
the
`configDialog`](https://github.com/KDE/plasma-workspace/blob/5545214d4420eccc8013331697259974affc7283/shell/containmentconfigview.cpp#L64)
I'm not sure why it doesn't get picked up by the `configDialog.close()`. Is
that supposed to be asynchronous or not show up until the next call for some
reason? Or is it a qml compiler bug?

P.S. somehow I never got a breakpoint firing on the destructor of
`ContainmentConfigView` so they apears to be leaked?

SOFTWARE/OS VERSIONS
Linux/KDE Plasma:
(available in About System)
KDE Plasma Version:  5.18.4
KDE Frameworks Version: 5.68.0
Qt Version: 5.14.2

ADDITIONAL INFORMATION

-- 
You are receiving this mail because:
You are watching all bug changes.

Reply via email to