summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorTed Gould <ted@gould.cx>2006-03-29 05:44:15 +0000
committergouldtj <gouldtj@users.sourceforge.net>2006-03-29 05:44:15 +0000
commit466a408b85c0fd727a1cde73baf95004806baf26 (patch)
tree003eeb0f50b3f365b88172d88846239e97854b9a /src
parent(bzr r358) (diff)
downloadinkscape-466a408b85c0fd727a1cde73baf95004806baf26.tar.gz
inkscape-466a408b85c0fd727a1cde73baf95004806baf26.zip
r11141@tres: ted | 2006-03-27 21:51:34 -0800
Additional protections against not finding an extension in the database (bzr r359)
Diffstat (limited to 'src')
-rw-r--r--src/ui/dialog/extension-editor.cpp26
1 files changed, 17 insertions, 9 deletions
diff --git a/src/ui/dialog/extension-editor.cpp b/src/ui/dialog/extension-editor.cpp
index d642805c1..49f8c92dc 100644
--- a/src/ui/dialog/extension-editor.cpp
+++ b/src/ui/dialog/extension-editor.cpp
@@ -148,13 +148,17 @@ ExtensionEditor::on_pagelist_selection_changed (void)
_notebook_help.remove();
_notebook_params.remove();
+ Inkscape::Extension::Extension * ext = Inkscape::Extension::db.get(id.c_str());
+
/* Make sure we have all the widges */
Gtk::Widget * info;
info = row[_page_list_columns._col_info];
if (info == NULL) {
- info = Inkscape::Extension::db.get(id.c_str())->get_info_widget();
- row[_page_list_columns._col_info] = info;
- info->reference();
+ if (ext != NULL) {
+ info = ext->get_info_widget();
+ row[_page_list_columns._col_info] = info;
+ info->reference();
+ }
} else {
info->unparent();
}
@@ -162,9 +166,11 @@ ExtensionEditor::on_pagelist_selection_changed (void)
Gtk::Widget * help;
help = row[_page_list_columns._col_help];
if (help == NULL) {
- help = Inkscape::Extension::db.get(id.c_str())->get_help_widget();
- row[_page_list_columns._col_help] = help;
- help->reference();
+ if (ext != NULL) {
+ help = ext->get_help_widget();
+ row[_page_list_columns._col_help] = help;
+ help->reference();
+ }
} else {
help->unparent();
}
@@ -172,9 +178,11 @@ ExtensionEditor::on_pagelist_selection_changed (void)
Gtk::Widget * params;
params = row[_page_list_columns._col_params];
if (params == NULL) {
- params = Inkscape::Extension::db.get(id.c_str())->get_params_widget();
- row[_page_list_columns._col_params] = params;
- params->reference();
+ if (ext != NULL) {
+ params = ext->get_params_widget();
+ row[_page_list_columns._col_params] = params;
+ params->reference();
+ }
} else {
params->unparent();
}