[Qgis-developer] Qt5 rounding issue spotted in the wild

Matthias Kuhn matthias at opengis.ch
Mon Sep 5 01:35:19 PDT 2016


Hi

I asked on Qt bug tracker

https://bugreports.qt.io/browse/QTBUG-47192?focusedCommentId=330334&page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#comment-330334

Matthias

On 09/05/2016 08:23 AM, Mathieu Pellerin wrote:
> Denis,
> 
> There's an additional way to mitigate this:
> 1/ requesting Qt devs to apply the patch fixing this issue (
> http://code.qt.io/cgit/qt/qtbase.git/patch/src/corelib/tools/qlocale.h?id=726fed0d67013cbfac7921d3d4613ca83406fb0f
> ) onto Qt 5.6, which after all is a LTS version;
> 2/ requesting distributions - such as Ubuntu and Fedora - to apply the
> patch onto the packages maintained and offered through their repositories.
> 
> Regarding #2, I've filed such a request earlier today:
> https://bugs.launchpad.net/ubuntu/+source/qtbase-opensource-src/+bug/1620173
> 
> It's a shame we can't override the QVariant conversion to QString with
> some code of our own to patch the issue on Qt5 < 5.7.
> 
> Math
> 
> On Mon, Sep 5, 2016 at 12:23 PM, Denis Rouzaud <denis.rouzaud at gmail.com
> <mailto:denis.rouzaud at gmail.com>> wrote:
> 
>     Hi Mathieu,
> 
>     For reference, here is the Qt issue
>     https://bugreports.qt.io/browse/QTBUG-47192
>     <https://bugreports.qt.io/browse/QTBUG-47192>
> 
>     It's the conversion from QVariant to QString which is broken.
> 
>     There are several ways to deal with this:
>     * fix this for some versions of Qt (no idea how)
>     * require Qt 5.7+
>     * ship like this with a warning notice
> 
>     The discussion already arised and the latter seems to be prefered:
>     https://lists.osgeo.org/pipermail/qgis-developer/2016-August/044127.html
>     <https://lists.osgeo.org/pipermail/qgis-developer/2016-August/044127.html>
> 
>     Denis
> 
> 
> 
>     On 09/05/2016 04:39 AM, Mathieu Pellerin wrote:
>>     Greetings,
>>
>>     While testing QGIS compiled against Qt5 5.6.1 (the version that
>>     will be offered in Ubuntu's next release in a month or so), I ran
>>     into a rounding issue, whereas the round() expression engine
>>     function simply fails to round values to the stated number of
>>     decimals.
>>
>>     As seen in this screenshot[1], using this expression "round(
>>     0.972743..., 2 )" to round the double value to two decimals
>>     returns 0.96999999999997.
>>
>>     Nyall says the issue has been fixed in Qt5 5.7. For Qt5 < 5.7, is
>>     there a contingency plan for this problem? Could we get
>>     distributions to include a fix in their 5.6.x packages (if that’s
>>     possible)?
>>
>>     Math
>>
>>     [1] http://i.imgur.com/7v2Z24Z.png
>>
>>
>>
>>     _______________________________________________
>>     Qgis-developer mailing list
>>     Qgis-developer at lists.osgeo.org <mailto:Qgis-developer at lists.osgeo.org>
>>     List info: http://lists.osgeo.org/mailman/listinfo/qgis-developer
>>     <http://lists.osgeo.org/mailman/listinfo/qgis-developer>
>>     Unsubscribe: http://lists.osgeo.org/mailman/listinfo/qgis-developer
>>     <http://lists.osgeo.org/mailman/listinfo/qgis-developer>
> 
> 
> 
> 
> _______________________________________________
> Qgis-developer mailing list
> Qgis-developer at lists.osgeo.org
> List info: http://lists.osgeo.org/mailman/listinfo/qgis-developer
> Unsubscribe: http://lists.osgeo.org/mailman/listinfo/qgis-developer
> 


More information about the Qgis-developer mailing list