QValidator changed signal not working (after upgrade to


I got a question or bug report regarding validation of a password field:
My app qCommand uses a custom validator on the root password field. This is implemented by passing the input to devel-su using QProcess and evaluating the exit code.
This takes quite a long time and to not block the UI I do:

  1. cache the results to be available without waiting in the second try
  2. link the finished signal of the process to the changed signal of the validator
  3. return Intermediate while the process is still running

With that I expect the following sequence:

  1. start validation on input and mark the field invalid
  2. stop input (with correct password) and wait for the process to finish
  3. once finished the changed signal restarts validation
  4. the cached result will mark the field valid

This seemed to work until the latest developer update. Now the field is always marked invalid until I change the correct password to something incorrect and back to correct manually. So I suspect the changed signal to not work anymore.
But on the other hand I’m not sure how it is supposed to work…

Can someone confirm if my assumptions are correct or give some hints?


Just a quick update: I solved my problem by adding a custom listener to the changed signal which removes and adds the validator. This seems to trigger the re-validation.

So I actually suppose this to be a bug introduced by SFOS 4.