When you pass in false into the function GeoDataLineString::setTessellate in GeoDataLineString.cpp lines 478-493, it can actually set tessellation on instead of off. This happens because the function is using a xor operator when it should be using an and operator. See below: if ( tessellate ) { p()->m_tessellationFlags |= Tessellate; p()->m_tessellationFlags |= RespectLatitudeCircle; } else { p()->m_tessellationFlags ^= Tessellate; p()->m_tessellationFlags ^= RespectLatitudeCircle; } The above should really be the following: if ( tessellate ) { p()->m_tessellationFlags |= (Tessellate | RespectLatitudeCircle); } else { p()->m_tessellationFlags &= ~(Tessellate | RespectLatitudeCircle); }
Happy to fix this my self if someone would pass me the instructions on how to submit my changes.
Good catch. For applying the changes it would be great if you could create a review request in http://phabricator.kde.org (Differential) from the patch.
I tried to add a view request but I need a login for that and I can not find any place for me to create my own login at http://phabricator.kde.org.
The registration is at https://identity.kde.org
Git commit 7b2207d2ab0725b078fd1ce055a822ba70bc23b9 by Dennis Nienhüser, on behalf of Dean Adamson. Committed on 26/06/2017 at 19:06. Pushed by nienhueser into branch 'master'. Fix function using xor operator when it should be using an and operator M +3 -5 src/lib/marble/geodata/data/GeoDataLineString.cpp https://commits.kde.org/marble/7b2207d2ab0725b078fd1ce055a822ba70bc23b9