summaryrefslogtreecommitdiffstats
path: root/src/ui/dialog/extension-editor.cpp
diff options
context:
space:
mode:
authorTed Gould <ted@gould.cx>2006-03-29 05:42:57 +0000
committergouldtj <gouldtj@users.sourceforge.net>2006-03-29 05:42:57 +0000
commit7b7f9666b25e8fd5a6e6601013d25e9895569807 (patch)
treebb947983d2692c82bf4f7eb9552024418c8425a6 /src/ui/dialog/extension-editor.cpp
parent(bzr r352) (diff)
downloadinkscape-7b7f9666b25e8fd5a6e6601013d25e9895569807.tar.gz
inkscape-7b7f9666b25e8fd5a6e6601013d25e9895569807.zip
r11026@tres: ted | 2006-03-02 00:03:49 -0800
Well, adding an unparent() here seems to make things much happier. I'm not sure why remove() doesn't do an unparent() also, I think this may be a bug in GTKmm where it assumes that other code won't have a reference to an object, but I'm not sure. Anyway, this should be safe even if the bug is fixed, and it works now. (bzr r353)
Diffstat (limited to 'src/ui/dialog/extension-editor.cpp')
-rw-r--r--src/ui/dialog/extension-editor.cpp12
1 files changed, 9 insertions, 3 deletions
diff --git a/src/ui/dialog/extension-editor.cpp b/src/ui/dialog/extension-editor.cpp
index ed9d020c7..d642805c1 100644
--- a/src/ui/dialog/extension-editor.cpp
+++ b/src/ui/dialog/extension-editor.cpp
@@ -154,7 +154,9 @@ ExtensionEditor::on_pagelist_selection_changed (void)
if (info == NULL) {
info = Inkscape::Extension::db.get(id.c_str())->get_info_widget();
row[_page_list_columns._col_info] = info;
- //info->ref();
+ info->reference();
+ } else {
+ info->unparent();
}
Gtk::Widget * help;
@@ -162,7 +164,9 @@ ExtensionEditor::on_pagelist_selection_changed (void)
if (help == NULL) {
help = Inkscape::Extension::db.get(id.c_str())->get_help_widget();
row[_page_list_columns._col_help] = help;
- //help->ref();
+ help->reference();
+ } else {
+ help->unparent();
}
Gtk::Widget * params;
@@ -170,7 +174,9 @@ ExtensionEditor::on_pagelist_selection_changed (void)
if (params == NULL) {
params = Inkscape::Extension::db.get(id.c_str())->get_params_widget();
row[_page_list_columns._col_params] = params;
- //params->ref();
+ params->reference();
+ } else {
+ params->unparent();
}
/* Place them in the pages */