981 ]. |
981 ]. |
982 |
982 |
983 module := objectHandles at:sel. |
983 module := objectHandles at:sel. |
984 fileName := module pathName. |
984 fileName := module pathName. |
985 |
985 |
|
986 self canUnloadSelectedDLL value:true. |
|
987 |
986 module isMethodHandle ifTrue:[ |
988 module isMethodHandle ifTrue:[ |
987 |method nm entry1 entry2 entry3| |
989 |method nm entry1 entry2 entry3| |
988 |
|
989 self canUnloadSelectedDLL value:true. |
|
990 |
990 |
991 self middleLabelHolder value:'Compiled Method:'. |
991 self middleLabelHolder value:'Compiled Method:'. |
992 |
992 |
993 (method := module method) isNil ifTrue:[ |
993 (method := module method) isNil ifTrue:[ |
994 nm := '** removed **'. |
994 nm := '** removed **'. |
1292 unloadSelectedModuleAndRemoveClasses |
1292 unloadSelectedModuleAndRemoveClasses |
1293 self unloadSelectedModuleRemoveClasses:true |
1293 self unloadSelectedModuleRemoveClasses:true |
1294 ! |
1294 ! |
1295 |
1295 |
1296 unloadSelectedModuleRemoveClasses:doRemoveClasses |
1296 unloadSelectedModuleRemoveClasses:doRemoveClasses |
1297 (Dialog |
1297 |module dll| |
1298 confirm:'This is a possibly dangerous operation, as the DLL is unloaded without caring for |
1298 |
|
1299 module := allModules at:self selectedModuleIndex ifAbsent:nil. |
|
1300 module isNil ifTrue:[ |
|
1301 dll := objectHandles at:self selectedModuleIndex ifAbsent:nil. |
|
1302 ]. |
|
1303 module notNil ifTrue:[ |
|
1304 (Dialog |
|
1305 confirm:'This is a possibly dangerous operation, as the DLL is unloaded without caring for |
1299 proper package-deinstallation procedures. Please use this only in repair situations and when the |
1306 proper package-deinstallation procedures. Please use this only in repair situations and when the |
1300 regular unloadPackage operation fails. |
1307 regular unloadPackage operation fails. |
1301 |
1308 |
1302 Continue ?') |
1309 Continue ?') |
1303 ifFalse:[ |
1310 ifFalse:[ |
1304 ^ self |
1311 ^ self |
|
1312 ]. |
1305 ]. |
1313 ]. |
1306 |
1314 |
1307 self withWaitCursorDo:[ |
1315 self withWaitCursorDo:[ |
1308 |info idx handle pathName| |
1316 |info idx handle pathName| |
1309 |
1317 |
1310 info := self selectedModuleInfo. |
1318 info := self selectedModuleInfo. |
1311 handle := objectHandles at:(self selectedModuleIndex). |
1319 handle := objectHandles at:(self selectedModuleIndex). |
1312 self selectedModuleIndexHolder value:nil. |
1320 self selectedModuleIndexHolder value:nil. |
1313 |
1321 |
1314 info isNil ifTrue:[ |
1322 info isNil ifTrue:[ |
1315 "/ selected a method |
1323 "/ selected a method/dll |
1316 "/ idx := idx - allModules size. |
1324 "/ idx := idx - allModules size. |
1317 pathName := handle pathName. |
1325 pathName := handle pathName. |
1318 ] ifFalse:[ |
1326 ] ifFalse:[ |
1319 "/ selected a package |
1327 "/ selected a package |
1320 pathName := info pathName. |
1328 pathName := info pathName. |