Details
-
Bug
-
Resolution: Done
-
P2: Important
-
5.3.2, 5.4.0 Beta
-
None
-
QT: qt-opensource-linux-x64-5.3.2
OS: Ubuntu 12.04LTS
Kernel: 3.5.0-54-generic
Compiler: gcc 4.6.3
-
c749f37c83cbb458e25a7d5200facf8634ac959e
Description
When invoking a QML Method from c++ the passed argument is not deleted.
- a method with one (or more) argument(s) is called from c++ via QMetaObject::invokeMethod
- after the call is completed more memory is occupied than before the call. This is relative to the size of the argument(s)
This memory leak didn't exist before QT 5.2 where the new QML/Javascript engine was introduced
The attached example does such invocations in an endless loop with a rather long string as argument. It will use up memory at a clearly visible rate. Decreasing the string size will slow that down.