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:16:20 UTC 2014


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

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/9a6a3ca9/attachment.html>


More information about the KDevelop-devel mailing list