Review Request 120317: WIP: Config pages without KCMs

Alexander Richardson arichardson.kde at gmail.com
Wed Oct 15 15:37:41 UTC 2014



> On Okt. 15, 2014, 4:02 nachm., Milian Wolff wrote:
> > shell/uicontroller.cpp, line 572
> > <https://git.reviewboard.kde.org/r/120317/diff/6/?file=318721#file318721line572>
> >
> >     Are you sure this is safe? afaik this connect will stay "valid" even when this context is left. so the second time you open the settings dialog and load/unload a plugin, the invalid lambda will be called leading to a crash, no?
> >     
> >     Two options:
> >     
> >     a) use the (new? Qt 5.4?) connect syntax for lambdas that also takes a `QObject*`, which defines the lifetime of the connection. You could use `&cfgDlg` e.g.
> >     b) make addPluginPages a slot of the ConfigDialog

Ah very nice catch! Missed that. I'll go for solution a), because editorConfigPage needs to be captured.


- Alexander


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


On Okt. 15, 2014, 1:39 vorm., Alexander Richardson wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://git.reviewboard.kde.org/r/120317/
> -----------------------------------------------------------
> 
> (Updated Okt. 15, 2014, 1:39 vorm.)
> 
> 
> Review request for KDevelop.
> 
> 
> Repository: kdevplatform
> 
> 
> Description
> -------
> 
> Everything seems to work fine with the converted config pages.
> 
> This is a huge diff, should I maybe push my changes to a new branch or to some other repository?
> 
> 
> Diffs
> -----
> 
>   project/projectconfigpage.h PRE-CREATION 
>   project/projectkcmodule.h fe40e9c3ad05963a5c7986110d1d4cb3e3fa5438 
>   shell/CMakeLists.txt 7847e261f53e4831f7dd662add34a6e6281d5cd4 
>   shell/configdialog.h PRE-CREATION 
>   shell/configdialog.cpp PRE-CREATION 
>   shell/plugincontroller.cpp 9872b4631fdd6c5e586c97ccee598066c0e2deb0 
>   shell/projectcontroller.h 08cb7cbfec32cac918d674ed9a076ce9286ffd30 
>   shell/projectcontroller.cpp 6c1c3844800d05911003d47c6408ff34d24d5afd 
>   shell/settings/CMakeLists.txt 5760ab4cb6a459ec6f1282ae09bb95f5f6e77892 
>   shell/settings/kcm_kdev_pluginsettings.desktop.cmake 10d126ed24adc10d3e6f7183d7b97677c661287e 
>   shell/settings/kcm_kdev_uisettings.desktop.cmake 336e233c2cb1570a2d8523680938f1d094a9a915 
>   shell/settings/pluginpreferences.h 12f9d233d9a06739ff0e460e5c41ff92f9431af3 
>   shell/settings/pluginpreferences.cpp 776df6360acec177aa6338058ede61ba80fc0b15 
>   shell/settings/uipreferences.h 34c46f3902cf06156c7f8279e6672ebb7a06a31e 
>   shell/settings/uipreferences.cpp c8ba26201516241e29f76db4c6e448de787c4704 
>   shell/uicontroller.h 797fa198ed17608e88f2a9e9a03f8072c5ebf45d 
>   shell/uicontroller.cpp 0eab47ae515f7832ea8b1833252346cec84c8254 
>   plugins/projectfilter/projectfilterkcm.cpp 7eaba23ca09bfedb76fde50a4ff02b28b009c31a 
>   plugins/projectfilter/projectfilterprovider.h cb1fa978e0c40fcf8cf5e3fcaf73294c1b9d314e 
>   plugins/projectfilter/projectfilterprovider.cpp e22198349f02675572b1396e7a02bac1b43d2eb8 
>   project/CMakeLists.txt e484a3c3370db2c5a9f600c3af5f0ef9e0ccb39d 
>   plugins/projectfilter/projectfilterkcm.h 01d143469528117589c86853e5847fad6bc2aaaf 
>   CMakeLists.txt 6a8987db82b5dd589b01718120c7c8021b91f1c4 
>   interfaces/CMakeLists.txt 87916216011e4390ba9b637f9ae22fe54f254e86 
>   interfaces/configpage.h PRE-CREATION 
>   interfaces/configpage.cpp PRE-CREATION 
>   interfaces/iplugin.h b101ae46fa430101c21a1c8eb8699674cbb1977b 
>   plugins/projectfilter/CMakeLists.txt 7fc4226bc253e033633916d058f0fc32a1f4cb6f 
>   interfaces/iplugin.cpp 1a0677312485ae47747cc3483ce325fe9890af78 
>   plugins/projectfilter/kcm_kdevprojectfilter.desktop.cmake 2d728b3fcb6b0cd8b6976771a214f270995bc2b7 
> 
> Diff: https://git.reviewboard.kde.org/r/120317/diff/
> 
> 
> Testing
> -------
> 
> Dialog is shown correctly, apply, okay work correctly.
> 
> Not sure why the first title is translated, AFAIK I don't have any KF5 translations installed (but maybe it loads it from my KDE4 installation?)
> 
> 
> File Attachments
> ----------------
> 
> kdev_config_new.png
>   https://git.reviewboard.kde.org/media/uploaded/files/2014/09/22/7e219540-1632-4465-9675-ad24a2fde56c__kdev_config_new.png
> kdev_config_new1.png
>   https://git.reviewboard.kde.org/media/uploaded/files/2014/09/22/f4f16e26-e6dd-4c98-9969-588342f85f4c__kdev_config_new1.png
> plugin enabled -> entry exists
>   https://git.reviewboard.kde.org/media/uploaded/files/2014/09/25/7130af0f-5e23-45cf-b781-ebe318be8369__kdev_config_new2.png
> plugin unloaded -> entry disappears
>   https://git.reviewboard.kde.org/media/uploaded/files/2014/09/25/dff38c1f-2b3d-4ab7-a97d-adff0a99bb3d__kdev_config_new3.png
> 
> 
> Thanks,
> 
> Alexander Richardson
> 
>

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.kde.org/pipermail/kdevelop-devel/attachments/20141015/bf28a2a4/attachment.html>


More information about the KDevelop-devel mailing list