Skip to content

Commit 0f5008e

Browse files
committed
fix snoop lock document
1 parent c8db631 commit 0f5008e

File tree

1 file changed

+37
-23
lines changed

1 file changed

+37
-23
lines changed

MgdDbgLibrary/App/TestCmds.cs

Lines changed: 37 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,7 @@
3030
using MgdDbg.Utils;
3131
using System;
3232
using System.Windows.Forms;
33+
using Autodesk.AutoCAD.ApplicationServices;
3334
using AcadApp = Autodesk.AutoCAD.ApplicationServices.Application;
3435
using TestForm = MgdDbg.ObjTests.TestFramework.TestForm;
3536

@@ -88,31 +89,36 @@ public void TestTrans2()
8889
[CommandMethod("SnoopEnts", CommandFlags.Modal)]
8990
public void SnoopEntity()
9091
{
91-
Editor ed = Autodesk.AutoCAD.ApplicationServices.Application.DocumentManager.MdiActiveDocument.Editor;
92+
var doc = Autodesk.AutoCAD.ApplicationServices.Application.DocumentManager.MdiActiveDocument;
93+
Editor ed = doc.Editor;
9294

9395
PromptSelectionResult res = ed.GetSelection();
9496
if (res.Status != PromptStatus.OK)
9597
return;
9698

9799
ObjectIdCollection selSet = new ObjectIdCollection(res.Value.GetObjectIds());
98-
99-
using (TransactionHelper trHlp = new TransactionHelper())
100+
using (DocumentLock lockDoc = doc.LockDocument())
100101
{
101-
trHlp.Start();
102+
using (TransactionHelper trHlp = new TransactionHelper())
103+
{
104+
trHlp.Start();
102105

103-
Snoop.Forms.DBObjects dbox = new Snoop.Forms.DBObjects(selSet, trHlp);
104-
dbox.Text = "Selected Entities";
105-
AcadApp.ShowModalDialog(dbox);
106+
Snoop.Forms.DBObjects dbox = new Snoop.Forms.DBObjects(selSet, trHlp);
107+
dbox.Text = "Selected Entities";
108+
AcadApp.ShowModalDialog(dbox);
106109

107-
trHlp.Commit();
110+
trHlp.Commit();
111+
}
108112
}
113+
109114
}
110115

111116
//[CommandMethod("MgdDbg", "MgdDbgSnoopNEnts", "SnoopNEnts", CommandFlags.Modal)]
112117
[CommandMethod("SnoopNEnts", CommandFlags.Modal)]
113118
public void SnoopNestedEntity()
114119
{
115-
Editor ed = Autodesk.AutoCAD.ApplicationServices.Application.DocumentManager.MdiActiveDocument.Editor;
120+
var doc = Autodesk.AutoCAD.ApplicationServices.Application.DocumentManager.MdiActiveDocument;
121+
Editor ed = doc.Editor;
116122
ObjectIdCollection selSet = new ObjectIdCollection();
117123

118124
while (true)
@@ -129,17 +135,20 @@ public void SnoopNestedEntity()
129135
else
130136
return;
131137
}
132-
133-
using (TransactionHelper trHlp = new TransactionHelper())
138+
using (DocumentLock lockDoc = doc.LockDocument())
134139
{
135-
trHlp.Start();
140+
using (TransactionHelper trHlp = new TransactionHelper())
141+
{
142+
trHlp.Start();
136143

137-
Snoop.Forms.DBObjects dbox = new Snoop.Forms.DBObjects(selSet, trHlp);
138-
dbox.Text = "Selected Entities";
139-
AcadApp.ShowModalDialog(dbox);
144+
Snoop.Forms.DBObjects dbox = new Snoop.Forms.DBObjects(selSet, trHlp);
145+
dbox.Text = "Selected Entities";
146+
AcadApp.ShowModalDialog(dbox);
140147

141-
trHlp.Commit();
148+
trHlp.Commit();
149+
}
142150
}
151+
143152
}
144153

145154
//[CommandMethod("MgdDbg", "MgdDbgSnoopByHandle", "SnoopEnts", CommandFlags.Modal)]
@@ -188,18 +197,23 @@ public void SnoopEntityByHandle()
188197
[CommandMethod("SnoopDB", CommandFlags.Modal)]
189198
public void SnoopDatabase()
190199
{
191-
Database db = Autodesk.AutoCAD.ApplicationServices.Application.DocumentManager.MdiActiveDocument.Database;
200+
var doc = Autodesk.AutoCAD.ApplicationServices.Application.DocumentManager.MdiActiveDocument;
201+
Database db = doc.Database;
192202

193-
using (TransactionHelper trHlp = new TransactionHelper(db))
203+
using (DocumentLock lockDoc = doc.LockDocument())
194204
{
195-
trHlp.Start();
205+
using (TransactionHelper trHlp = new TransactionHelper(db))
206+
{
207+
trHlp.Start();
196208

197-
Snoop.Forms.Database dbox = new Snoop.Forms.Database(db, trHlp);
198-
dbox.Text = db.Filename;
199-
AcadApp.ShowModalDialog(dbox);
209+
Snoop.Forms.Database dbox = new Snoop.Forms.Database(db, trHlp);
210+
dbox.Text = db.Filename;
211+
AcadApp.ShowModalDialog(dbox);
200212

201-
trHlp.Commit();
213+
trHlp.Commit();
214+
}
202215
}
216+
203217
}
204218

205219
//[CommandMethod("MgdDbg", "MgdDbgSnoopEd", "SnoopEd", CommandFlags.Modal)]

0 commit comments

Comments
 (0)