diff --git a/doc/xschem_man/commands.html b/doc/xschem_man/commands.html
index ff0bd546..6e296034 100644
--- a/doc/xschem_man/commands.html
+++ b/doc/xschem_man/commands.html
@@ -85,7 +85,7 @@ Ctrl + RightButton Select object under the mouse and if label/pin
select attached nets up to net junctions
LeftButton Double click Terminate Polygon placement
-
+ Edit object attributes
XSCHEM KEY BINDINGS
----------------------------------------------------------------------
diff --git a/src/callback.c b/src/callback.c
index cbc79fed..c9ad1bbe 100644
--- a/src/callback.c
+++ b/src/callback.c
@@ -2584,18 +2584,23 @@ int callback(const char *winpath, int event, int mx, int my, KeySym key,
if( waves_selected(event, state, button)) {
waves_callback(event, mx, my, key, button, aux, state);
break;
- }
- if(xctx->semaphore >= 2) break;
- dbg(1, "callback(): DoubleClick ui_state=%d state=%d\n",xctx->ui_state,state);
- if(button==Button1) {
- if(xctx->ui_state == STARTWIRE) {
- xctx->ui_state &= ~STARTWIRE;
- }
- if(xctx->ui_state == STARTLINE) {
- xctx->ui_state &= ~STARTLINE;
- }
- if( (xctx->ui_state & STARTPOLYGON) && (state ==0 ) ) {
- new_polygon(SET);
+ } else {
+ if(xctx->semaphore >= 2) break;
+ dbg(1, "callback(): DoubleClick ui_state=%d state=%d\n",xctx->ui_state,state);
+ if(button==Button1) {
+ if(xctx->ui_state == 0 || xctx->ui_state == SELECTION) {
+ edit_property(0);
+ } else {
+ if(xctx->ui_state & STARTWIRE) {
+ xctx->ui_state &= ~STARTWIRE;
+ }
+ if(xctx->ui_state & STARTLINE) {
+ xctx->ui_state &= ~STARTLINE;
+ }
+ if( (xctx->ui_state & STARTPOLYGON) && (state ==0 ) ) {
+ new_polygon(SET);
+ }
+ }
}
}
#ifndef __unix__
diff --git a/src/findnet.c b/src/findnet.c
index 2ac5dbf9..ef0029d0 100644
--- a/src/findnet.c
+++ b/src/findnet.c
@@ -268,9 +268,8 @@ static void find_closest_element(double mx,double my)
dbg(2, "find_closest_element(): finding closest element, instances=%d, dist=%.16g\n",i,tmp);
}
} /* end for i */
- if( r!=-1 )
- {
- sel.n = r; sel.type = ELEMENT;
+ if( r!=-1 && strcmp(get_tok_value(xctx->inst[r].prop_ptr, "lock", 0), "true") ) {
+ sel.n = r; sel.type = ELEMENT;
}
}
diff --git a/src/keys.help b/src/keys.help
index 441e39b5..0b268684 100644
--- a/src/keys.help
+++ b/src/keys.help
@@ -44,6 +44,7 @@ Ctrl + RightButton Select object under the mouse and if label/pin
select attached nets up to net junctions
LeftButton Double click Terminate Polygon placement
+ Edit object attributes
XSCHEM KEY BINDINGS