[Kde-games-devel] Review Request 126383: Use of QScopedPointer for avoiding crashy dialogs.

Frederik Schwarzer schwarzer at kde.org
Thu Dec 17 08:30:33 UTC 2015



> On Dec. 16, 2015, 5:05 p.m., Christian Ehrlicher wrote:
> > I'm sorry but this is still wrong. Did you read this blog: https://blogs.kde.org/node/3919
> > You somehow have to notice the the dialog gets deleted during exec(). This is only possible with a QPointer. After exec() when you want to access the pointer, you've to check if the QPointer is null before accesing them:
> > 
> > QPointer<KNS3::DownloadDialog> dialog(new KNS3::DownloadDialog(q));
> > dialog->exec();
> > if (dialog)
> > {
> >    dialog->getValues();
> > }
> > delete dialog;

No need to be sorry. I put this here to get this kind of feedback. :)

So, if I get this right (also the content of the page you linked to) your critisism is not against the ScopedPointer itself but against how I used it.
Because QScopedPointer also has the bool overload and can be used in if conditions.

QScopedPointer<KNS3::DownloadDialog> dialog(new KNS3::DownloadDialog(q));
dialog->exec();
if (dialog && !dialog->changedEntries().isEmpty())
{
    m_provider->rediscoverThemes();
    fillList();
}

Seems to be alright?


- Frederik


-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://git.reviewboard.kde.org/r/126383/#review89612
-----------------------------------------------------------


On Dec. 16, 2015, 11:33 a.m., Frederik Schwarzer wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://git.reviewboard.kde.org/r/126383/
> -----------------------------------------------------------
> 
> (Updated Dec. 16, 2015, 11:33 a.m.)
> 
> 
> Review request for KDE Games.
> 
> 
> Repository: libkdegames
> 
> 
> Description
> -------
> 
> I recently found out about QScopedPointer and thought it might be a good thing to use instead of QPointer in many cases.
> So I tested it with two crashy dialogs in libkdegames.
> Please comment in case I forgot to think about something.
> 
> 
> Diffs
> -----
> 
>   kgthemeselector.cpp 9cd9c61 
>   libkdegamesprivate/kgamethemeselector.cpp ce3cf1f 
> 
> Diff: https://git.reviewboard.kde.org/r/126383/diff/
> 
> 
> Testing
> -------
> 
> Used the KNS3 dialog in Kigo.
> 
> 
> Thanks,
> 
> Frederik Schwarzer
> 
>

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.kde.org/pipermail/kde-games-devel/attachments/20151217/3b32134c/attachment-0001.html>


More information about the kde-games-devel mailing list