D16663: [import] Use QSharedPointer for file filters

Christoph Roick noreply at phabricator.kde.org
Sun Nov 4 14:06:32 GMT 2018


croick created this revision.
croick added a reviewer: LabPlot.
Herald added a project: KDE Edu.
Herald added a subscriber: kde-edu.
croick requested review of this revision.

REVISION SUMMARY
  Fix memory leaks due to recreation of AbstractFileFilter for each call
  of `ImportFileWidget::currentFileFilter()`. The filter now is stored
  in a `QSharedPointer` as a member of ImportFileWidget and reused if
  the file type does not change.
  The change is propagated to options widgets.
  A new method `AbstractFileFilter::type()` returns the type of the
  current filter.

TEST PLAN
  - import different files
  - output (during debugging) the number of newly created filter instances

REPOSITORY
  R262 LabPlot

BRANCH
  filterpointer

REVISION DETAIL
  https://phabricator.kde.org/D16663

AFFECTED FILES
  src/backend/datasources/LiveDataSource.cpp
  src/backend/datasources/LiveDataSource.h
  src/backend/datasources/MQTTClient.cpp
  src/backend/datasources/MQTTClient.h
  src/backend/datasources/MQTTTopic.cpp
  src/backend/datasources/MQTTTopic.h
  src/backend/datasources/filters/AbstractFileFilter.h
  src/backend/datasources/filters/AsciiFilter.h
  src/backend/datasources/filters/BinaryFilter.h
  src/backend/datasources/filters/FITSFilter.h
  src/backend/datasources/filters/HDF5Filter.h
  src/backend/datasources/filters/ImageFilter.h
  src/backend/datasources/filters/JsonFilter.h
  src/backend/datasources/filters/NetCDFFilter.h
  src/backend/datasources/filters/NgspiceRawAsciiFilter.h
  src/backend/datasources/filters/NgspiceRawBinaryFilter.h
  src/backend/datasources/filters/ROOTFilter.h
  src/kdefrontend/datasources/AsciiOptionsWidget.cpp
  src/kdefrontend/datasources/AsciiOptionsWidget.h
  src/kdefrontend/datasources/BinaryOptionsWidget.cpp
  src/kdefrontend/datasources/BinaryOptionsWidget.h
  src/kdefrontend/datasources/FITSOptionsWidget.cpp
  src/kdefrontend/datasources/FITSOptionsWidget.h
  src/kdefrontend/datasources/HDF5OptionsWidget.cpp
  src/kdefrontend/datasources/HDF5OptionsWidget.h
  src/kdefrontend/datasources/ImportFileDialog.cpp
  src/kdefrontend/datasources/ImportFileWidget.cpp
  src/kdefrontend/datasources/ImportFileWidget.h
  src/kdefrontend/datasources/JsonOptionsWidget.cpp
  src/kdefrontend/datasources/JsonOptionsWidget.h
  src/kdefrontend/datasources/NetCDFOptionsWidget.cpp
  src/kdefrontend/datasources/NetCDFOptionsWidget.h
  src/kdefrontend/datasources/ROOTOptionsWidget.cpp
  src/kdefrontend/datasources/ROOTOptionsWidget.h
  tests/import_export/MQTT/MQTTUnitTest.cpp

To: croick, #labplot
Cc: kde-edu, narvaez, apol
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.kde.org/pipermail/kde-edu/attachments/20181104/d4df6b5e/attachment.html>


More information about the kde-edu mailing list