compilerplugins/clang/vclwidgets.cxx | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-)
New commits: commit 812ee8c53f9add746f67e4785831ad0d42937942 Author: Stephan Bergmann <sberg...@redhat.com> Date: Thu Sep 28 18:31:53 2017 +0200 Look through derived-to-base ImpliciCast ...as happens on Windows when looking at maControlToPropertyMap.clear(); in PrintDialog::dispose (vcl/source/window/printdlg.cxx), where std::map's clear happens to be declared at some base class std::_Tree. Change-Id: I41810514bca59af8b4f2812d9412ce6a8d43576c diff --git a/compilerplugins/clang/vclwidgets.cxx b/compilerplugins/clang/vclwidgets.cxx index c7695cfb5722..1a9589d2e40d 100644 --- a/compilerplugins/clang/vclwidgets.cxx +++ b/compilerplugins/clang/vclwidgets.cxx @@ -569,8 +569,8 @@ static void findDisposeAndClearStatements(std::set<const FieldDecl*>& aVclPtrFie const MemberExpr *pCalleeMemberExpr = dyn_cast<MemberExpr>(pCallExpr->getCallee()); if (!pCalleeMemberExpr->getBase()) return; - if (!isa<MemberExpr>(pCalleeMemberExpr->getBase())) return; - const MemberExpr *pCalleeMemberExprBase = dyn_cast<MemberExpr>(pCalleeMemberExpr->getBase()); + const MemberExpr *pCalleeMemberExprBase = dyn_cast<MemberExpr>(pCalleeMemberExpr->getBase()->IgnoreImpCasts()); + if (pCalleeMemberExprBase == nullptr) return; const FieldDecl* xxx = dyn_cast_or_null<FieldDecl>(pCalleeMemberExprBase->getMemberDecl()); if (xxx) _______________________________________________ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/libreoffice-commits