View Issue Details

IDProjectCategoryView StatusLast Update
0001926PluginsEMenupublic2011-11-28 18:27
ReporterMaximusAssigned ToDrKnS 
PrioritynormalSeverityminorReproducibilityalways
Status closedResolutionfixed 
Product Version3.0 
Target VersionFixed in Version3.0 
Summary0001926: Падение при выполнении "rclk_cmd:Paste"
DescriptionПадает на вызове
pContextMenu->GetCommandString(nID, nType, NULL, reinterpret_cast<LPSTR>(szwAddInfo), ARRAYSIZE(szwAddInfo));

Допускаю, что глюк из-за некорректно зарегистрированного extension, но нехорошо это, что фар схлопывается.
Additional Informationв буфере лежит файл
T:\Utils\Lans\GCC-4.6.1.x64\COPYING.MinGW-w64-runtime.txt
а текущая папка (пустая)
F:\Temp\3
Происходит сие на пункте меню "Nero BackItUp".
TagsNo tags attached.

Activities

Maximus

2011-11-27 22:54

reporter  

111127.diff (766 bytes)
Index: Plugin.cpp
===================================================================
--- Plugin.cpp	(revision 6893)
+++ Plugin.cpp	(working copy)
@@ -968,9 +968,16 @@
     return false;
   }
   WCHAR szwAddInfo[200]=L"\0";
-  if (FAILED(pContextMenu->GetCommandString(nID, nType, NULL, reinterpret_cast<LPSTR>(szwAddInfo), ARRAYSIZE(szwAddInfo))))
+  HRESULT hr;
+ __try {
+	  hr = pContextMenu->GetCommandString(nID, nType, NULL, reinterpret_cast<LPSTR>(szwAddInfo), ARRAYSIZE(szwAddInfo));
+  } __except(EXCEPTION_EXECUTE_HANDLER) {
+	  hr = E_UNEXPECTED;
+  }
+  if (FAILED(hr))
   {
-    return false;
+    if (FAILED(hr))
+      return false;
   }
   *pstr=szwAddInfo;
   if (AS_HELPTEXT==enAdditionalString) pstr->RemoveTrailing(L'.');
111127.diff (766 bytes)

Maximus

2011-11-27 22:55

reporter  

111127fix.diff (631 bytes)
Index: Plugin.cpp
===================================================================
--- Plugin.cpp	(revision 6893)
+++ Plugin.cpp	(working copy)
@@ -968,7 +968,13 @@
     return false;
   }
   WCHAR szwAddInfo[200]=L"\0";
-  if (FAILED(pContextMenu->GetCommandString(nID, nType, NULL, reinterpret_cast<LPSTR>(szwAddInfo), ARRAYSIZE(szwAddInfo))))
+  HRESULT hr;
+ __try {
+	  hr = pContextMenu->GetCommandString(nID, nType, NULL, reinterpret_cast<LPSTR>(szwAddInfo), ARRAYSIZE(szwAddInfo));
+  } __except(EXCEPTION_EXECUTE_HANDLER) {
+	  hr = E_UNEXPECTED;
+  }
+  if (FAILED(hr))
   {
     return false;
   }
111127fix.diff (631 bytes)

Maximus

2011-11-27 22:56

reporter   bugnote:0007994

в 111127.diff проверка лишняя попала

DrKnS

2011-11-28 15:37

administrator   bugnote:0007995

build 45.

2useven10

2011-11-28 17:20

developer   bugnote:0007996

emenu не собирается

DrKnS

2011-11-28 17:36

administrator   bugnote:0007997

fixed.

2useven10

2011-11-28 18:12

developer   bugnote:0007998

vcxproj тоже надо поправить

DrKnS

2011-11-28 18:27

administrator   bugnote:0007999

угу.

Issue History

Date Modified Username Field Change
2011-11-27 22:54 Maximus New Issue
2011-11-27 22:54 Maximus File Added: 111127.diff
2011-11-27 22:55 Maximus File Added: 111127fix.diff
2011-11-27 22:56 Maximus Note Added: 0007994
2011-11-28 15:37 DrKnS Note Added: 0007995
2011-11-28 15:37 DrKnS Status new => closed
2011-11-28 15:37 DrKnS Assigned To => DrKnS
2011-11-28 15:37 DrKnS Resolution open => fixed
2011-11-28 15:37 DrKnS Fixed in Version => 3.0
2011-11-28 17:20 2useven10 Note Added: 0007996
2011-11-28 17:20 2useven10 Status closed => feedback
2011-11-28 17:20 2useven10 Resolution fixed => reopened
2011-11-28 17:36 DrKnS Note Added: 0007997
2011-11-28 17:36 DrKnS Status feedback => closed
2011-11-28 17:36 DrKnS Resolution reopened => fixed
2011-11-28 18:12 2useven10 Note Added: 0007998
2011-11-28 18:27 DrKnS Note Added: 0007999