Review Request 120633: restore the "configure environment" combobox in "Open Configuration.../CMake/Advanced"
René J.V. Bertin
rjvbertin at gmail.com
Fri Oct 17 19:21:32 UTC 2014
-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://git.reviewboard.kde.org/r/120633/#review68627
-----------------------------------------------------------
projectmanagers/cmake/settings/cmakepreferences.cpp
<https://git.reviewboard.kde.org/r/120633/#comment47807>
I don't understand by what mechanism EnvironmentSelectionWidget can be used as a KComboBox without inheriting the class, but whatever the magic it works with the make command settings. Surely there must be a reason why it doesn't work here, and a more elegant fix.
(Notwithstanding the fact that I'd personally prefer more explicit methods, like the one used here or overloading.)
projectmanagers/cmake/settings/cmakepreferences.cpp
<https://git.reviewboard.kde.org/r/120633/#comment47806>
Whitespace changes are unintentional here
- René J.V. Bertin
On Oct. 17, 2014, 9:16 p.m., René J.V. Bertin wrote:
>
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://git.reviewboard.kde.org/r/120633/
> -----------------------------------------------------------
>
> (Updated Oct. 17, 2014, 9:16 p.m.)
>
>
> Review request for KDevelop.
>
>
> Repository: kdevelop
>
>
> Description
> -------
>
> The "configure environment" combobox in "Open Configuration.../CMake/Advanced" recently stopped working for me, printing warnings on the terminal:
>
> ```
> Object::connect: No such signal KDevelop::EnvironmentSelectionWidget::currentIndexChanged(int)
> Object::connect: (sender name: 'environment')
> kdevelop(27645)/kdeui (KConfigDialogManager) KConfigDialogManager::parseChildren: Don't know how to monitor widget ' KDevelop::EnvironmentSelectionWidget ' for changes!
> QCoreApplication::postEvent: Unexpected null receiver
> ```
>
> In short: the `EnvironmentSelectionWidget` is not recognised (cannot be used) as a KComboBox when compiling `cmakepreferences.cpp`.
>
> I noticed this after "downgrading" from the kde4-legacy branch and reinstalling the 4.7/1.7 code pulled from git. Reverting back to the last kde4-legacy build I had installed did not revert functionality however, and indeed I think that it's been a while that validating a change in the cmake environment profile triggered an invocation of the cmake command.
>
> Curiously the same `EnvironmentSelectionWidget` works fine in the Make section of the same configuration dialog.
>
> I tested a workaround in which I added a function to retrieve the private `KComboBox` pointer from a `EnvironmentSelectionWidget` and use that pointer as the source in the failing connect() call in CMakePreferences::CMakePreferences.
>
>
> Diffs
> -----
>
> projectmanagers/cmake/settings/cmakepreferences.cpp 6db6974
>
> Diff: https://git.reviewboard.kde.org/r/120633/diff/
>
>
> Testing
> -------
>
> Under OS X 10.6.8 with kdelibs 4.14.2 and kdevplatform 1.7/git, both built with gcc 4.8.3 from MacPorts.
>
> With the workaround I still get
>
> ```
> kdevelop(64480)/kdeui (KConfigDialogManager) KConfigDialogManager::parseChildren: Don't know how to monitor widget ' KDevelop::EnvironmentSelectionWidget ' for changes!
> QCoreApplication::postEvent: Unexpected null receiver
> ```
>
> on the calling terminal, but changing the environment profile now "sticks" and launches cmake.
>
>
> File Attachments
> ----------------
>
> accompanying patchfile for kdevplatform/util
> https://git.reviewboard.kde.org/media/uploaded/files/2014/10/17/7edf2d31-45d7-45fd-8432-465d28d3834e__patch-envselwidget.diff
>
>
> Thanks,
>
> René J.V. Bertin
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.kde.org/pipermail/kdevelop-devel/attachments/20141017/6d199b5b/attachment-0001.html>
More information about the KDevelop-devel
mailing list