summaryrefslogtreecommitdiffstats
path: root/src/dialogs/layers-panel.cpp
diff options
context:
space:
mode:
authorJon A. Cruz <jon@joncruz.org>2006-05-29 16:12:36 +0000
committerjoncruz <joncruz@users.sourceforge.net>2006-05-29 16:12:36 +0000
commitd04860c5b4725baed4db6f992f5728407cc72d87 (patch)
treeafc0011377e40c03903e596fbc36360ec2aff556 /src/dialogs/layers-panel.cpp
parentdefault inkboard to off for the remainder of the freeze (diff)
downloadinkscape-d04860c5b4725baed4db6f992f5728407cc72d87.tar.gz
inkscape-d04860c5b4725baed4db6f992f5728407cc72d87.zip
workaround assertion upon file revert
(bzr r1064)
Diffstat (limited to 'src/dialogs/layers-panel.cpp')
-rw-r--r--src/dialogs/layers-panel.cpp15
1 files changed, 9 insertions, 6 deletions
diff --git a/src/dialogs/layers-panel.cpp b/src/dialogs/layers-panel.cpp
index cdcafbbc1..a09ce1527 100644
--- a/src/dialogs/layers-panel.cpp
+++ b/src/dialogs/layers-panel.cpp
@@ -499,13 +499,16 @@ SPObject* LayersPanel::_selectedLayer()
void LayersPanel::_pushTreeSelectionToCurrent()
{
SPObject* inTree = _selectedLayer();
- if ( inTree ) {
- SPObject* curr = _desktop->currentLayer();
- if ( curr != inTree ) {
- _mgr->setCurrentLayer( inTree );
+ // TODO hunt down the possible API abuse in getting NULL
+ if ( _desktop->currentRoot() ) {
+ if ( inTree ) {
+ SPObject* curr = _desktop->currentLayer();
+ if ( curr != inTree ) {
+ _mgr->setCurrentLayer( inTree );
+ }
+ } else {
+ _mgr->setCurrentLayer( _desktop->doc()->root );
}
- } else {
- _mgr->setCurrentLayer( _desktop->doc()->root );
}
}