diff options
| author | Krzysztof Kosi??ski <tweenk.pl@gmail.com> | 2010-11-25 21:09:47 +0000 |
|---|---|---|
| committer | Krzysztof KosiĆski <tweenk.pl@gmail.com> | 2010-11-25 21:09:47 +0000 |
| commit | 94eb3cf6fd5af295682aaeb6556a87c7ae73dbe7 (patch) | |
| tree | 42ab9c50794bdb2d07affdc48e9061b00c2bfea6 /src | |
| parent | Fix crash when shift-clicking the top rectangle rounding handle. (diff) | |
| parent | Fix Bug #675309 - crash when unlinking an orphaned clone (diff) | |
| download | inkscape-94eb3cf6fd5af295682aaeb6556a87c7ae73dbe7.tar.gz inkscape-94eb3cf6fd5af295682aaeb6556a87c7ae73dbe7.zip | |
Fix crash when unlinking orphaned clones. Patch from Adonis Papaderos.
Fixed bugs:
- https://launchpad.net/bugs/675309
(bzr r9922)
Diffstat (limited to 'src')
| -rw-r--r-- | src/selection-chemistry.cpp | 5 | ||||
| -rw-r--r-- | src/sp-use.cpp | 2 |
2 files changed, 6 insertions, 1 deletions
diff --git a/src/selection-chemistry.cpp b/src/selection-chemistry.cpp index 61db7f961..6786479d6 100644 --- a/src/selection-chemistry.cpp +++ b/src/selection-chemistry.cpp @@ -2150,6 +2150,11 @@ sp_selection_unlink(SPDesktop *desktop) SPItem *unlink; if (SP_IS_USE(item)) { unlink = sp_use_unlink(SP_USE(item)); + // Unable to unlink use (external or invalid href?) + if (!unlink) { + new_select = g_slist_prepend(new_select, item); + continue; + } } else /*if (SP_IS_TREF(use))*/ { unlink = SP_ITEM(sp_tref_convert_to_tspan(item)); } diff --git a/src/sp-use.cpp b/src/sp-use.cpp index 9cd38e4b3..ecb7eb788 100644 --- a/src/sp-use.cpp +++ b/src/sp-use.cpp @@ -678,7 +678,7 @@ sp_use_unlink(SPUse *use) // Track the ultimate source of a chain of uses. SPItem *orig = sp_use_root(use); - g_return_val_if_fail(orig, NULL); + if (!orig) return NULL ; // Calculate the accumulated transform, starting from the original. Geom::Matrix t = sp_use_get_root_transform(use); |
