summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorPatrick Storz <eduard.braun2@gmx.de>2019-08-06 21:30:51 +0000
committerPatrick Storz <eduard.braun2@gmx.de>2019-08-31 14:50:39 +0000
commit174427c290f6f8a449a1287251279905a6a9a517 (patch)
treeefdbb28c90251472a2be32a4486e2717af03fc12 /src
parentComplete conversion of ParamNotebook to use _children (diff)
downloadinkscape-174427c290f6f8a449a1287251279905a6a9a517.tar.gz
inkscape-174427c290f6f8a449a1287251279905a6a9a517.zip
Inherit destructor and recursively delete all widgets
let's hope this works as expected...
Diffstat (limited to 'src')
-rw-r--r--src/extension/prefdialog/parameter-notebook.cpp15
-rw-r--r--src/extension/prefdialog/parameter-notebook.h2
-rw-r--r--src/extension/prefdialog/parameter.h2
-rw-r--r--src/extension/prefdialog/widget.cpp4
4 files changed, 5 insertions, 18 deletions
diff --git a/src/extension/prefdialog/parameter-notebook.cpp b/src/extension/prefdialog/parameter-notebook.cpp
index 36ec5dff2..1fca1b402 100644
--- a/src/extension/prefdialog/parameter-notebook.cpp
+++ b/src/extension/prefdialog/parameter-notebook.cpp
@@ -55,13 +55,6 @@ ParamNotebook::ParamNotebookPage::ParamNotebookPage(Inkscape::XML::Node *xml, In
}
}
-ParamNotebook::ParamNotebookPage::~ParamNotebookPage ()
-{
- // destroy parameters
- for (auto child : _children) {
- delete child;
- }
-}
/**
* Creates a notebookpage widget for a notebook.
@@ -165,14 +158,6 @@ ParamNotebook::ParamNotebook(Inkscape::XML::Node *xml, Inkscape::Extension::Exte
}
}
-ParamNotebook::~ParamNotebook ()
-{
- //destroy pages
- for (auto child : _children) {
- delete child;
- }
-}
-
/**
* A function to set the \c _value.
diff --git a/src/extension/prefdialog/parameter-notebook.h b/src/extension/prefdialog/parameter-notebook.h
index 5ee326704..ee8727158 100644
--- a/src/extension/prefdialog/parameter-notebook.h
+++ b/src/extension/prefdialog/parameter-notebook.h
@@ -47,7 +47,6 @@ private:
friend class ParamNotebook;
public:
ParamNotebookPage(Inkscape::XML::Node *xml, Inkscape::Extension::Extension *ext);
- ~ParamNotebookPage() override;
Gtk::Widget *get_widget(SPDocument *doc, Inkscape::XML::Node *node, sigc::signal<void> *changeSignal) override;
InxParameter *get_param(const char *name) override;
@@ -64,7 +63,6 @@ private:
public:
ParamNotebook(Inkscape::XML::Node *xml, Inkscape::Extension::Extension *ext);
- ~ParamNotebook() override;
Gtk::Widget *get_widget(SPDocument *doc, Inkscape::XML::Node *node, sigc::signal<void> *changeSignal) override;
diff --git a/src/extension/prefdialog/parameter.h b/src/extension/prefdialog/parameter.h
index 493824cbf..eba096be2 100644
--- a/src/extension/prefdialog/parameter.h
+++ b/src/extension/prefdialog/parameter.h
@@ -38,7 +38,7 @@ public:
InxParameter(Inkscape::XML::Node *in_repr,
Inkscape::Extension::Extension *ext);
- virtual ~InxParameter() override;
+ ~InxParameter() override;
/** Wrapper to cast to the object and use its function. */
bool get_bool(SPDocument const *doc, Inkscape::XML::Node const *node) const;
diff --git a/src/extension/prefdialog/widget.cpp b/src/extension/prefdialog/widget.cpp
index 05711b58a..efd97e099 100644
--- a/src/extension/prefdialog/widget.cpp
+++ b/src/extension/prefdialog/widget.cpp
@@ -114,6 +114,10 @@ InxWidget::InxWidget (Inkscape::XML::Node *in_repr, Inkscape::Extension::Extensi
InxWidget::~InxWidget()
{
+ for (auto child : _children) {
+ delete child;
+ }
+
g_free(_context);
_context = nullptr;