[Development] QProgressDialog when setValue(0) is called

Berkay Elbir berkayelbir at gmail.com
Wed Dec 28 14:18:45 CET 2016

Hello All,

I have a class that is inherited from QProgressDialog. It sometimes
crashes and its inside QProgressDialog class code.

I detected that when the setValue(0); is called in its constructor,
crash happens. When I commented out this function, It does not crash.
Even if setValue(0) is called after constructing of object crash still

This crash occurs when signals are emitted faster. Code piece shows
how the function is called:

ProgressDialog progress(nullptr);
progress.setLabelText("Loading Result Files");
QFutureWatcher<void> watcher;
QFuture<void> future = QtConcurrent::run(myClassPtr,&myClass::myFunc);

QEventLoop loop;
QObject::connect(&watcher, SIGNAL(started()), &progress, SLOT(show()));
QObject::connect(&watcher, SIGNAL(finished()), &progress, SLOT(hide()));
QObject::connect(&watcher, SIGNAL(finished()), &loop, SLOT(quit()));
QObject::connect(transientAnimation, SIGNAL(progress(int)), &progress,



progress signal is emitted inside myFunc() in another thread. In this
function, multiple files are read in a folder and progress signal is

Why does this crash occur?

Thanks in advance.


More information about the Development mailing list