diff options
Diffstat (limited to 'src/mir_app')
-rw-r--r-- | src/mir_app/src/clistmenus.cpp | 10 |
1 files changed, 7 insertions, 3 deletions
diff --git a/src/mir_app/src/clistmenus.cpp b/src/mir_app/src/clistmenus.cpp index 6d1e4ec605..0254b89e99 100644 --- a/src/mir_app/src/clistmenus.cpp +++ b/src/mir_app/src/clistmenus.cpp @@ -543,8 +543,12 @@ INT_PTR StatusMenuExecService(WPARAM wParam, LPARAM) return 0;
if (smep->custom) {
- if (smep->svc && *smep->svc)
- CallService(smep->svc, 0, (LPARAM)smep->hMenuItem);
+ if (smep->svc && *smep->svc) {
+ if (smep->szProto && *smep->svc == '/')
+ ProtoCallService(smep->szProto, smep->svc, 0, (LPARAM)smep->hMenuItem);
+ else
+ CallService(smep->svc, 0, (LPARAM)smep->hMenuItem);
+ }
return 0;
}
@@ -617,7 +621,7 @@ INT_PTR FreeOwnerDataStatusMenu(WPARAM, LPARAM lParam) if (smep != NULL) {
mir_free(smep->szProto);
mir_free(smep->svc);
- mir_free(&smep);
+ mir_free(smep);
}
return (0);
|