X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/0ba28d4196ee0dab58c3c48097e71c186e6cbe68..43c42c18d36c703a88b1b7b697bac27fe5608eca:/src/msw/window.cpp diff --git a/src/msw/window.cpp b/src/msw/window.cpp index 908424749e..c614dca82d 100644 --- a/src/msw/window.cpp +++ b/src/msw/window.cpp @@ -3433,6 +3433,12 @@ wxWindowMSW::MSWHandleMessage(WXLRESULT *result, #if !defined(__WXWINCE__) case WM_CONTEXTMENU: { + // As with WM_HELP above, this message is propagated upwards + // the parent chain by DefWindowProc() itself, so we should + // always mark it as processed to prevent it from doing this + // as this would result in duplicate calls to event handlers. + processed = true; + // we don't convert from screen to client coordinates as // the event may be handled by a parent window wxPoint pt(GET_X_LPARAM(lParam), GET_Y_LPARAM(lParam)); @@ -3452,7 +3458,7 @@ wxWindowMSW::MSWHandleMessage(WXLRESULT *result, win = this; evtCtx.SetEventObject(win); - processed = win->HandleWindowEvent(evtCtx); + win->HandleWindowEvent(evtCtx); } break; #endif