On Monday, 2013-11-11, 15:53:15, Daniel Nicoletti wrote: > This check is to prevent issues, if someone in the future changes > the code to do something after exec() then it's very likely to > crash due to the caller or it's child stuff already being deleted. > If you don't do anything after exec() and the function was called > by the event loop you are probably safe.
I think you can also run into that problem if there is nothing after exec(). If anything, D-Bus, timer, whatever, causes deletion of the dialog's parent, in this case KMinesMainWindow, then it will delete its child QObject. When the C++ code of the functions cleans up the stack, it will at least also invoke the dialog's destructor. Cheers, Kevin > > 2013/11/11 Harsh Kumar <[email protected]>: > > Hi, > > > > I have a question: > > > > Krazy2 flags this issue in KMines - Not using QPointers when showing > > modal dialogs via exec() > > See: http://ebn.kde.org/krazy/reports/kde-4.x/kdegames/kmines/index.html > > > > Following is the function to display High Scores dialog where the > > problem has been flagged: > > > > void KMinesMainWindow::showHighscores() > > { > > > > KScoreDialog scoreDialog(KScoreDialog::Name | KScoreDialog::Time, > > this); > > scoreDialog.initFromDifficulty(Kg::difficulty()); > > scoreDialog.hideField(KScoreDialog::Score); > > scoreDialog.exec(); > > > > } > > > > KMines should crash when High Score dialog is open & application is > > closed using dbus. > > > > So, I did the following: > > 1.) Started KMines > > 2.) Opened the High Scores dialog > > 3.) Ran the command - > > > > qdbus org.kde.kmines-[pid] /MainApplication quit > > > > KMines exits without any crash. It seems nothing went wrong. > > > > What can be the reason for this? Why am I not able to reproduce the crash. > > > > Thanks > > Regards > > Harsh Kumar > > > >>> Visit http://mail.kde.org/mailman/listinfo/kde-devel#unsub to > >>> unsubscribe <<>> > >> Visit http://mail.kde.org/mailman/listinfo/kde-devel#unsub to unsubscribe > >> << -- Kevin Krammer, KDE developer, xdg-utils developer KDE user support, developer mentoring
signature.asc
Description: This is a digitally signed message part.
>> Visit http://mail.kde.org/mailman/listinfo/kde-devel#unsub to unsubscribe <<
