Review Request 129994: Fix AppMenuApplet Called C++ object pointer is null
Kai Uwe Broulik
kde at privat.broulik.de
Tue Mar 7 11:45:05 UTC 2017
-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://git.reviewboard.kde.org/r/129994/#review102749
-----------------------------------------------------------
applets/appmenu/lib/appmenuapplet.cpp (line 167)
<https://git.reviewboard.kde.org/r/129994/#comment68403>
Prefer !ctx instead of comparing with nullptr
Also, could you move the check up a bit so we don't do unneccessary work, ie.
if (m_currentIndex == idx) {
return;
}
if (!ctx || !ctx->window() ....) {
return;
}
QMenu *actionMenu = createMenu(idx);
- Kai Uwe Broulik
On März 7, 2017, 6:48 vorm., Leslie Zhai wrote:
>
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://git.reviewboard.kde.org/r/129994/
> -----------------------------------------------------------
>
> (Updated März 7, 2017, 6:48 vorm.)
>
>
> Review request for Plasma, Kai Uwe Broulik and David Edmundson.
>
>
> Repository: plasma-workspace
>
>
> Description
> -------
>
> Hi KDE developer,
>
> Bug reported by the clang static analyzer.
>
> Description: Called C++ object pointer is null
> File: plasma-workspace/applets/appmenu/lib/appmenuapplet.cpp
> Line: 167
>
> ```
> 153 void AppMenuApplet::trigger(QQuickItem *ctx, int idx)
> 154 {
> 155 if (m_currentIndex == idx) {
>
> Taking false branch
> ?
> 156 return;
> 157 }
> 158
> 159 QMenu *actionMenu = createMenu(idx);
> 160 if (actionMenu) {
>
> ?
> Assuming 'actionMenu' is non-null
> ?
>
> ?
> Taking true branch
> ?
> 161
> 162 if (ctx && ctx->window() && ctx->window()->mouseGrabberItem()) {
> 4
> ?
> Assuming 'ctx' is null
> ?
> 163 // FIXME event forge thing enters press and hold move mode :/
> 164 ctx->window()->mouseGrabberItem()->ungrabMouse();
> 165 }
> 166
> 167 const auto &geo = ctx->window()->screen()->availableVirtualGeometry();
> 5
> ?
> Called C++ object pointer is null
> ```
>
> So I simply add some checker for ctx, ctx->window() and ctx->window()->screen() pointers.
>
> Regards,
> Leslie Zhai
>
>
> Diffs
> -----
>
> applets/appmenu/lib/appmenuapplet.cpp 9aaf5cc6
>
> Diff: https://git.reviewboard.kde.org/r/129994/diff/
>
>
> Testing
> -------
>
>
> Thanks,
>
> Leslie Zhai
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.kde.org/pipermail/plasma-devel/attachments/20170307/10b4ba2a/attachment-0001.html>
More information about the Plasma-devel
mailing list