X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/4676948b6814c97b93c431a8cbcd8c0352c87ba9..b5435dccd098ae153c3b7b3b8fca8dd0d763986c:/src/msw/utilsexc.cpp diff --git a/src/msw/utilsexc.cpp b/src/msw/utilsexc.cpp index e1e0d9dc98..4e9958f801 100644 --- a/src/msw/utilsexc.cpp +++ b/src/msw/utilsexc.cpp @@ -463,22 +463,24 @@ static bool wxExecuteDDE(const wxString& ddeServer, } else // connected to DDE server { - // the added complication here is that although most - // programs use XTYP_EXECUTE for their DDE API, some - // important ones - like IE and other MS stuff - use - // XTYP_REQUEST! + // the added complication here is that although most programs use + // XTYP_EXECUTE for their DDE API, some important ones -- like Word + // and other MS stuff - use XTYP_REQUEST! // - // so we try one first and then the other one if it - // failed + // moreover, anotheri mportant program (IE) understands both but + // returns an error from Execute() so we must try Request() first + // to avoid doing it twice { + // we're prepared for this one to fail, so don't show errors wxLogNull noErrors; - ok = conn->Execute(ddeCommand); + + ok = conn->Request(ddeCommand) != NULL; } if ( !ok ) { - // now try request - but show the errors - ok = conn->Request(ddeCommand) != NULL; + // now try execute -- but show the errors + ok = conn->Execute(ddeCommand); } }