<table><tr><td style="">croick created this revision.<br />croick added a reviewer: LabPlot.<br />Herald added a project: KDE Edu.<br />Herald added a subscriber: kde-edu.<br />croick requested review of this revision.
</td><a style="text-decoration: none; padding: 4px 8px; margin: 0 8px 8px; float: right; color: #464C5C; font-weight: bold; border-radius: 3px; background-color: #F7F7F9; background-image: linear-gradient(to bottom,#fff,#f1f0f1); display: inline-block; border: 1px solid rgba(71,87,120,.2);" href="https://phabricator.kde.org/D16663">View Revision</a></tr></table><br /><div><strong>REVISION SUMMARY</strong><div><p>Fix memory leaks due to recreation of AbstractFileFilter for each call<br />
of <tt style="background: #ebebeb; font-size: 13px;">ImportFileWidget::currentFileFilter()</tt>. The filter now is stored<br />
in a <tt style="background: #ebebeb; font-size: 13px;">QSharedPointer</tt> as a member of ImportFileWidget and reused if<br />
the file type does not change.<br />
The change is propagated to options widgets.<br />
A new method <tt style="background: #ebebeb; font-size: 13px;">AbstractFileFilter::type()</tt> returns the type of the<br />
current filter.</p></div></div><br /><div><strong>TEST PLAN</strong><div><ul class="remarkup-list">
<li class="remarkup-list-item">import different files</li>
<li class="remarkup-list-item">output (during debugging) the number of newly created filter instances</li>
</ul></div></div><br /><div><strong>REPOSITORY</strong><div><div>R262 LabPlot</div></div></div><br /><div><strong>BRANCH</strong><div><div>filterpointer</div></div></div><br /><div><strong>REVISION DETAIL</strong><div><a href="https://phabricator.kde.org/D16663">https://phabricator.kde.org/D16663</a></div></div><br /><div><strong>AFFECTED FILES</strong><div><div>src/backend/datasources/LiveDataSource.cpp<br />
src/backend/datasources/LiveDataSource.h<br />
src/backend/datasources/MQTTClient.cpp<br />
src/backend/datasources/MQTTClient.h<br />
src/backend/datasources/MQTTTopic.cpp<br />
src/backend/datasources/MQTTTopic.h<br />
src/backend/datasources/filters/AbstractFileFilter.h<br />
src/backend/datasources/filters/AsciiFilter.h<br />
src/backend/datasources/filters/BinaryFilter.h<br />
src/backend/datasources/filters/FITSFilter.h<br />
src/backend/datasources/filters/HDF5Filter.h<br />
src/backend/datasources/filters/ImageFilter.h<br />
src/backend/datasources/filters/JsonFilter.h<br />
src/backend/datasources/filters/NetCDFFilter.h<br />
src/backend/datasources/filters/NgspiceRawAsciiFilter.h<br />
src/backend/datasources/filters/NgspiceRawBinaryFilter.h<br />
src/backend/datasources/filters/ROOTFilter.h<br />
src/kdefrontend/datasources/AsciiOptionsWidget.cpp<br />
src/kdefrontend/datasources/AsciiOptionsWidget.h<br />
src/kdefrontend/datasources/BinaryOptionsWidget.cpp<br />
src/kdefrontend/datasources/BinaryOptionsWidget.h<br />
src/kdefrontend/datasources/FITSOptionsWidget.cpp<br />
src/kdefrontend/datasources/FITSOptionsWidget.h<br />
src/kdefrontend/datasources/HDF5OptionsWidget.cpp<br />
src/kdefrontend/datasources/HDF5OptionsWidget.h<br />
src/kdefrontend/datasources/ImportFileDialog.cpp<br />
src/kdefrontend/datasources/ImportFileWidget.cpp<br />
src/kdefrontend/datasources/ImportFileWidget.h<br />
src/kdefrontend/datasources/JsonOptionsWidget.cpp<br />
src/kdefrontend/datasources/JsonOptionsWidget.h<br />
src/kdefrontend/datasources/NetCDFOptionsWidget.cpp<br />
src/kdefrontend/datasources/NetCDFOptionsWidget.h<br />
src/kdefrontend/datasources/ROOTOptionsWidget.cpp<br />
src/kdefrontend/datasources/ROOTOptionsWidget.h<br />
tests/import_export/MQTT/MQTTUnitTest.cpp</div></div></div><br /><div><strong>To: </strong>croick, LabPlot<br /><strong>Cc: </strong>kde-edu, narvaez, apol<br /></div>