Solved QWizard instanciation crashes on Windows 10 x64
-
Hello everybody,
My Qt4.3 application works fine and it's intalled in many client's PC but on only one It crashes. Logging this I found that it crashes when I'm trying to instanciate my wizard classe which derived from QWizard.
Theres's my code
wrileIntoLog("Affichage de la page de licence."); try { wrileIntoLog("Instanciation page licence "); LicenseWizard wz(this); // it crashes here if(wz.exec()) { wrileIntoLog("Information de licence crée"); accept(); } } catch (std::exception &e) { wrileIntoLog(QString(e.what())); } catch ( const std::out_of_range & ) { wrileIntoLog("Erreur : débordement de mémoire.\n"); } catch ( const std::bad_alloc & ) { wrileIntoLog("Erreur allocation mémoire"); } catch (...) { wrileIntoLog("Echec instanciation page wizard"); }
and there's my classes declarations
class LicenseWizard : public QWizard // Wizard class class frmUsers : public QDialog, public frmUsersClass // parent class
I've tried to change to LicenceWizard declaration by usign pointers but the problem still persist. Also I've tried to lunch my application after desactivate Avast and Firewall, same result.
Can anyone telle me what to change to fix this problem
Best regards.
-
@mourad_bilog What kind of crash is it? Segmentation fault or something else?
What are you doing in the LicenseWizard constructor? -
Thanks for replying.
I don't know exactly what king of crash. The try ... catch don't give no information.
Here's the begining of the LicenceWizard constructor
LicenseWizard::LicenseWizard(QWidget *parent) : QWizard(parent) { wrileIntoLog("Page Licence : Affichage"); // this info is not displayed in the log file setWindowTitle(tr("Informations de la licence")); setWindowIcon(QIcon(":/images/images/Security.png")); setWizardStyle(QWizard::ModernStyle); //initialiser les pages de la gestion des licences DetailsPage * detailsPage = new DetailsPage; IntroPage *introPage = new IntroPage; OnlinePage *onlinePage = new OnlinePage; OfflinePage *offlinePage = new OfflinePage; setPage(Page_Intro, introPage); setPage(Page_Details, detailsPage); setPage(Page_Online, onlinePage); setPage(Page_Offline, offlinePage);
-
Hi,
Can you get the stack trace of your crash ?
-
By just updating Qt4.3 dll by their equivalent 4.8, it works fine.
It seems that Qt4.3 is not configured to turn on Windows 10.
Thanks all for your suggestions
-
Qt 4.3 is 11 years old so if you want to try to make it run on Windows 10, then you have to rebuild it yourself.
Note that the Qt 4 series has reached end of life so you should consider updating to Qt 5 as quickly as possible.