-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://git.reviewboard.kde.org/r/118639/#review59886
-----------------------------------------------------------

Ship it!


Good catch!

I can confirm that this makes saving the values in the formats KCM work. The 
virtual desktop config doesn't crash for me without this patch, so can't 
confirm that this condition is fixed as well.

- Sebastian Kügler


On June 10, 2014, 8:45 p.m., Aurélien Gâteau wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://git.reviewboard.kde.org/r/118639/
> -----------------------------------------------------------
> 
> (Updated June 10, 2014, 8:45 p.m.)
> 
> 
> Review request for KDE Frameworks.
> 
> 
> Bugs: 334624
>     https://bugs.kde.org/show_bug.cgi?id=334624
> 
> 
> Repository: kcmutils
> 
> 
> Description
> -------
> 
> When one closes KCMultiDialog with OK, QDialog::finished() can be emitted 
> before the clicked() signal of the OK button. This causes the following 
> sequence to happen:
> 
> - KCMultiDialogPrivate::_k_dialogClosed
>   * deletes the KCModule
>     - KCModuleProxyPrivate::_k_moduleDestroyed
>       * sets kcm to 0
> 
> - KCMultiDialog::slotOkClicked
>   - KCMultiDialogPrivate::apply
>     - KCModuleProxy::save
>       - KCModuleProxyPrivate::realModule
>         * notices kcm is 0, so recreates it
>         * calls kcm->save()
>           - KWinDesktopConfig::save()
>             * crashes because it expects kcm->load() to have been called
> 
> To avoid this, trigger the cleanup code in closeEvent() rather than when 
> finished() is emitted, as we can be sure closeEvent() is always called 
> *after* the methods connected to the button box signals has executed.
> 
> 
> Diffs
> -----
> 
>   src/kcmultidialog.h 72e45a5 
>   src/kcmultidialog.cpp 478c25a 
> 
> Diff: https://git.reviewboard.kde.org/r/118639/diff/
> 
> 
> Testing
> -------
> 
> Configuring virtual desktops does not crash anymore
> 
> 
> Thanks,
> 
> Aurélien Gâteau
> 
>

_______________________________________________
Kde-frameworks-devel mailing list
Kde-frameworks-devel@kde.org
https://mail.kde.org/mailman/listinfo/kde-frameworks-devel

Reply via email to