QDateEdit: emitted signal dateChanged(const QDate&) freezes the desktop
-
Hi,
Do you observe the same behaviour if you use your distribution provided Qt ?
-
currently, the only version installed, is the one I downloaded from www.qt.io. So I can't tell that. I've had this prob never before though.
-
Then can you try with the previous version of Qt ?
-
I'll do that tomorrow. Which version of Qt would you recommend?
-
Start by 5.11.0, if it's still happening then continue back.
But first you should test the version of OpenSuse to eliminate that's not your system that's doing something funky somehow.
-
To exclude that my Linux is responsible, I have also translated the program under Windows with minGW. The same problem occurs there. You can change the date a couple of times, but eventually, the program freezes. One difference between Linux and Windows: Under Linux, additionally the whole desktop freezes, when calenderPopup ist true.
I've also tried, to compile the program with some older versions, 5.11.0, 5.10.0 and 5.8.0.
Always the same problem.When running the program with the debugger, I can see, that the program enters the connected slot (see above) and freezes BEFORE executing any entered command. When that happens, QTCreator and the debugger freeze too.
-
To exclude that my Linux is responsible, I have also translated the program under Windows with minGW. The same problem occurs there. You can change the date a couple of times, but eventually, the program freezes. One difference between Linux and Windows: Under Linux, additionally the whole desktop freezes, when calenderPopup ist true.
I've also tried, to compile the program with some older versions, 5.11.0, 5.10.0 and 5.8.0.
Always the same problem.When running the program with the debugger, I can see, that the program enters the connected slot (see above) and freezes BEFORE executing any entered command. When that happens, QTCreator and the debugger freeze too.
@RalfSchaefer
2 ideas you could test as wellspecify the 5th connect parameter as Qt::DirectConnection, maybe the autoconnect makes a blockingconnection which would deadlock your program, unlikly, burt worth a shot.
connect to lambda in the connect instead of a slot
maybe this gives you/us more information
-
@RalfSchaefer
2 ideas you could test as wellspecify the 5th connect parameter as Qt::DirectConnection, maybe the autoconnect makes a blockingconnection which would deadlock your program, unlikly, burt worth a shot.
connect to lambda in the connect instead of a slot
maybe this gives you/us more information
@J.Hilk : Thanks for the advice. I'll try that. But it will take till next sunday, before I can do that. I'll keep you up to date then.
-
I was able to solve the problem in the meantime. It was some sort of a signal loop.
I've got a couple of QDateEdits in my program. When I change the date in one of my QDateEdits, it sets the mimimumDate or the maximumDate of another QDateEdit. This could change the date in the second QDateEdit who sent another signal around, which again sets mimimumDate or the maximumDate. The program somehow looped.
A little bit strange is, that I could not see this in the debugger.
Thanks a lot for all the help.
Ralf