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:57:52 UTC 2014
-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://git.reviewboard.kde.org/r/120633/
-----------------------------------------------------------
(Updated Oct. 17, 2014, 7:57 p.m.)
Status
------
This change has been discarded.
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/50cf15ad/attachment.html>
More information about the KDevelop-devel
mailing list