Skip to content
This repository was archived by the owner on Oct 4, 2021. It is now read-only.

Commit ea14de9

Browse files
authored
Merge pull request #9338 from mono/jstedfast-debugger-disable-content-menu-items
[Debugger] Fixed CanRename() logic for Locals/Watch context menu & al…
2 parents a50f147 + 2e10989 commit ea14de9

File tree

1 file changed

+11
-3
lines changed

1 file changed

+11
-3
lines changed

main/src/addins/MonoDevelop.Debugger/MonoDevelop.Debugger/ObjectValue/Mac/MacObjectValueTreeView.cs

Lines changed: 11 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -919,7 +919,7 @@ protected void OnUpdateAddWatch (CommandInfo cinfo)
919919
[CommandHandler (EditCommands.Rename)]
920920
protected void OnRename ()
921921
{
922-
if (SelectedRow == -1)
922+
if (SelectedRowCount != 1 || SelectedRow < 0)
923923
return;
924924

925925
var nameView = (MacDebuggerObjectNameView) GetView (0, SelectedRow, false);
@@ -934,7 +934,13 @@ void OnRename (object sender, EventArgs args)
934934

935935
bool CanRename (out bool enabled)
936936
{
937-
enabled = SelectedRowCount == 1 && SelectedRow != -1;
937+
if (SelectedRowCount == 1 && SelectedRow >= 0) {
938+
var item = (MacObjectValueNode) ItemAtRow (SelectedRow);
939+
940+
enabled = item.Target.Parent is RootObjectValueNode || item.Target is AddNewExpressionObjectValueNode;
941+
} else {
942+
enabled = false;
943+
}
938944

939945
return AllowWatchExpressions;
940946
}
@@ -957,7 +963,9 @@ public override NSMenu MenuForEvent (NSEvent theEvent)
957963
if (row < 0)
958964
return null;
959965

960-
var menu = new NSMenu ();
966+
var menu = new NSMenu {
967+
AutoEnablesItems = false
968+
};
961969
bool enabled;
962970

963971
if (CanAddWatch (out enabled)) {

0 commit comments

Comments
 (0)