summaryrefslogtreecommitdiff
path: root/src/mir_app
diff options
context:
space:
mode:
Diffstat (limited to 'src/mir_app')
-rw-r--r--src/mir_app/src/clistmenus.cpp10
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);