diff options
| author | Ted Gould <ted@gould.cx> | 2006-03-29 05:44:15 +0000 |
|---|---|---|
| committer | gouldtj <gouldtj@users.sourceforge.net> | 2006-03-29 05:44:15 +0000 |
| commit | 466a408b85c0fd727a1cde73baf95004806baf26 (patch) | |
| tree | 003eeb0f50b3f365b88172d88846239e97854b9a /src | |
| parent | (bzr r358) (diff) | |
| download | inkscape-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.cpp | 26 |
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(); } |
