https://bugs.kde.org/show_bug.cgi?id=373911
Ralf Habacker <ralf.habac...@freenet.de> changed: What |Removed |Added ---------------------------------------------------------------------------- Status|REOPENED |RESOLVED Resolution|--- |FIXED Version Fixed In| |2.21.1 (KDE Applications | |16.12.1) Latest Commit| |https://commits.kde.org/umb | |rello/5b81af759c24895892d8c | |628fd610ff43f16fd2c --- Comment #16 from Ralf Habacker <ralf.habac...@freenet.de> --- Git commit 5b81af759c24895892d8c628fd610ff43f16fd2c by Ralf Habacker. Committed on 03/01/2017 at 12:47. Pushed by habacker into branch 'Applications/16.12'. Make UMLObject::asUMLxxx() methods able to handle zero pointer as parameter on windows. gcc implementation of dynamic_cast consists of an inline part and a function performing the real cast. On linux (and may be other platforms) the inline part checks against null pointer parameter. This check is missing in the related windows implementation (at least with gcc 6.2) and results into a segfault on accessing the virtual table in the casting function. The fix is done using a gcc asm statement to prevent removing by the optimizer because 'this' parameter is marked as 'notnull' by default. This patch includes also a few dynamic_cast checks added to the unit tests. FIXED-IN:2.21.1 (KDE Applications 16.12.1) M +43 -28 umbrello/umlmodel/umlobject.cpp M +17 -0 unittests/testbasictypes.cpp M +11 -0 unittests/testumlobject.cpp M +1 -0 unittests/testumlobject.h https://commits.kde.org/umbrello/5b81af759c24895892d8c628fd610ff43f16fd2c -- You are receiving this mail because: You are watching all bug changes.