summaryrefslogtreecommitdiffstats
path: root/src/ui/widget/layer-selector.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/ui/widget/layer-selector.cpp')
-rw-r--r--src/ui/widget/layer-selector.cpp18
1 files changed, 11 insertions, 7 deletions
diff --git a/src/ui/widget/layer-selector.cpp b/src/ui/widget/layer-selector.cpp
index 6d1da0af0..ba4629c82 100644
--- a/src/ui/widget/layer-selector.cpp
+++ b/src/ui/widget/layer-selector.cpp
@@ -236,6 +236,8 @@ void LayerSelector::_selectLayer(SPObject *layer) {
using Inkscape::Util::reverse_list;
_selection_changed_connection.block();
+ _visibility_toggled_connection.block();
+ _lock_toggled_connection.block();
while (!_layer_model->children().empty()) {
Gtk::ListStore::iterator first_row(_layer_model->children().begin());
@@ -285,6 +287,8 @@ void LayerSelector::_selectLayer(SPObject *layer) {
_lock_toggle.set_active(( SP_IS_ITEM(layer) ? SP_ITEM(layer)->isLocked() : false ));
}
+ _lock_toggled_connection.unblock();
+ _visibility_toggled_connection.unblock();
_selection_changed_connection.unblock();
}
@@ -460,7 +464,7 @@ void LayerSelector::_buildEntry(unsigned depth, SPObject &object) {
);
SPObject *layer=_desktop->currentLayer();
- if ( &object == layer || &object == SP_OBJECT_PARENT(layer) ) {
+ if ( (&object == layer) || (&object == layer->parent) ) {
callbacks->update_list = sigc::bind(
sigc::mem_fun(*this, &LayerSelector::_protectUpdate),
sigc::bind(
@@ -498,12 +502,12 @@ void LayerSelector::_buildEntry(unsigned depth, SPObject &object) {
sp_object_ref(&object, NULL);
row->set_value(_model_columns.object, &object);
- Inkscape::GC::anchor(SP_OBJECT_REPR(&object));
- row->set_value(_model_columns.repr, SP_OBJECT_REPR(&object));
+ Inkscape::GC::anchor(object.getRepr());
+ row->set_value(_model_columns.repr, object.getRepr());
row->set_value(_model_columns.callbacks, reinterpret_cast<void *>(callbacks));
- sp_repr_add_listener(SP_OBJECT_REPR(&object), vector, callbacks);
+ sp_repr_add_listener(object.getRepr(), vector, callbacks);
}
/** Removes a row from the _model_columns object, disconnecting listeners
@@ -536,13 +540,13 @@ void LayerSelector::_prepareLabelRenderer(
// (or before one has been selected) something appears to
// "invent" an iterator with null data and try to render it;
// where does it come from, and how can we avoid it?
- if ( object && SP_OBJECT_REPR(object) ) {
+ if ( object && object->getRepr() ) {
SPObject *layer=( _desktop ? _desktop->currentLayer() : NULL );
SPObject *root=( _desktop ? _desktop->currentRoot() : NULL );
- bool isancestor = !( (layer && (SP_OBJECT_PARENT(object) == SP_OBJECT_PARENT(layer))) || ((layer == root) && (SP_OBJECT_PARENT(object) == root)));
+ bool isancestor = !( (layer && (object->parent == layer->parent)) || ((layer == root) && (object->parent == root)));
- bool iscurrent = ( object == layer && object != root );
+ bool iscurrent = ( (object == layer) && (object != root) );
gchar *format = g_strdup_printf (
"<span size=\"smaller\" %s><tt>%*s%s</tt>%s%s%s%%s%s%s%s</span>",