The runner calculator isn't entitled for being a scientifically correct calculator.
This keeps seemingly innocent calculations such as "2^0.333333333" from eating all RAM until it crashes.
BUG: 277011
FIXED-IN: 5.10.0
The runner calculator isn't entitled for being a scientifically correct calculator.
This keeps seemingly innocent calculations such as "2^0.333333333" from eating all RAM until it crashes.
BUG: 277011
FIXED-IN: 5.10.0
Upstream issue https://github.com/Qalculate/libqalculate/issues/16
I'll also investigate how to have krunner cancel calculations once the runner context becomes invalid. Tried. calculator->abort() doesn't do anything anything.
Automatic diff as part of commit; lint not applicable. |
Automatic diff as part of commit; unit tests not applicable. |
Probably needs some indication that the result is approximate:
When result.isApproximate() returns true I'll add a (approximation) suffix or something like this – can't go into 5.9 then.
runners/calculator/qalculate_engine.cpp | ||
---|---|---|
103 | add an (approximate) string in the result, then good to go |
@kde-i18n-doc I'd like to ask for an exception to backport this fix to Plasma 5.8 (due mid of May) and Plasma 5.9 (due 25 April) as it is a rather severe, easily triggerable, memory leak/crash fix.
Initially it would have been without a new translation but as silently rounding results isn't ideal, I had to add a hint "Approximation" to it.