| Index: src/plugin/PluginUserSettings.cpp | 
| =================================================================== | 
| --- a/src/plugin/PluginUserSettings.cpp | 
| +++ b/src/plugin/PluginUserSettings.cpp | 
| @@ -42,6 +42,7 @@ | 
| dispatchID_IsAcceptableAdsEnabled, | 
| dispatchID_SetAcceptableAdsEnabled, | 
| dispatchID_IsUpdate, | 
| +    dispatchID_TestBadIndex, | 
| }; | 
|  | 
| /** | 
| @@ -67,6 +68,7 @@ | 
| m.emplace(L"IsAcceptableAdsEnabled", dispatchID_IsAcceptableAdsEnabled); | 
| m.emplace(L"SetAcceptableAdsEnabled", dispatchID_SetAcceptableAdsEnabled); | 
| m.emplace(L"IsUpdate", dispatchID_IsUpdate); | 
| +      m.emplace(L"TestBadIndex", dispatchID_TestBadIndex); | 
| } | 
| catch(...) | 
| { | 
| @@ -440,6 +442,23 @@ | 
| } | 
| } | 
| break; | 
| +    case dispatchID_TestBadIndex: | 
| +      { | 
| +        if (pDispparams->cArgs != 1) | 
| +        { | 
| +          return DISP_E_BADPARAMCOUNT; | 
| +        } | 
| +        if (pDispparams->rgvarg[0].vt != VT_I4) | 
| +        { | 
| +          return DISP_E_TYPEMISMATCH; | 
| +        } | 
| +        int index = pDispparams->rgvarg[0].lVal; | 
| +        if (index >= 1) | 
| +        { | 
| +          return DISP_E_BADINDEX; | 
| +        } | 
| +      } | 
| +      break; | 
| default: | 
| return DISP_E_MEMBERNOTFOUND; | 
| break; | 
|  |