From 3652663552d7c59e1f208c00bfdb28f492af1cbe Mon Sep 17 00:00:00 2001 From: "Jon A. Cruz" Date: Fri, 26 May 2006 07:10:40 +0000 Subject: Cleaned up propagation of status changes. (bzr r1018) --- src/widgets/layer-selector.cpp | 12 ++++++++++++ 1 file changed, 12 insertions(+) (limited to 'src/widgets/layer-selector.cpp') diff --git a/src/widgets/layer-selector.cpp b/src/widgets/layer-selector.cpp index 8fe0c928e..bf23dcfca 100644 --- a/src/widgets/layer-selector.cpp +++ b/src/widgets/layer-selector.cpp @@ -418,6 +418,18 @@ void LayerSelector::_protectUpdate(sigc::slot slot) { _visibility_toggled_connection.block(true); _lock_toggled_connection.block(true); slot(); + + SPObject *layer = _desktop ? _desktop->currentLayer() : 0; + if ( layer ) { + bool wantedValue = ( SP_IS_ITEM(layer) ? SP_ITEM(layer)->isLocked() : false ); + if ( _lock_toggle.get_active() != wantedValue ) { + _lock_toggle.set_active( wantedValue ); + } + wantedValue = ( SP_IS_ITEM(layer) ? SP_ITEM(layer)->isHidden() : false ); + if ( _visibility_toggle.get_active() != wantedValue ) { + _visibility_toggle.set_active( wantedValue ); + } + } _visibility_toggled_connection.block(visibility_blocked); _lock_toggled_connection.block(lock_blocked); } -- cgit v1.2.3