/* Check if this is a valid session, otherwise don't add. */
if (sessionname) {
psettings_tmp = open_settings_r(sessionname);
- if (!psettings_tmp)
+ if (!psettings_tmp) {
+ sfree(app_path);
return NULL;
+ }
close_settings_r(psettings_tmp);
}
/* Create the new item. */
if (!SUCCEEDED(CoCreateInstance(&CLSID_ShellLink, NULL,
CLSCTX_INPROC_SERVER,
- COMPTR(IShellLink, &ret))))
+ COMPTR(IShellLink, &ret)))) {
+ sfree(app_path);
return NULL;
+ }
/* Set path, parameters, icon and description. */
ret->lpVtbl->SetPath(ret, app_path);
}
/* Clears the entire jumplist. */
-static void clear_jumplist(void)
+void clear_jumplist(void)
{
ICustomDestinationList *pCDL;
- UINT num_items;
- IObjectArray *pRemoved;
if (CoCreateInstance(&CLSID_DestinationList, NULL, CLSCTX_INPROC_SERVER,
COMPTR(ICustomDestinationList, &pCDL)) == S_OK) {