Date: prev next · Thread: first prev next last
2013 Archives by date, by thread · List index


Hi all,

Does anybody happen to know enough about DDE on Windows to be able to help me along with the below?

The Windows-specific SfxAppEvent_Impl (sfx2/source/appl/appdde.cxx) is supposed to decompose a "command string" into a command ("Open", "Print") plus parameters.

At least one way it is called is from DdeInternal::SvrCallback (svl/source/svdde/ddesvr.cxx), case XTYP_EXECUTE, -> ImplDdeService::SysTopicExecute (sfx2/source/appl/appdde.cxx) -> SfxApplication::DdeExecute (sfx2/source/appl/appdde.cxx), and I assume that "command string" should be decomposed according to the syntax described at <http://msdn.microsoft.com/en-us/library/ms648995.aspx> "WM_DDE_EXECUTE message."

However, I have doubts that the code works according to that specification, or else that my assumptions about the syntax for the SfxAppEvent_Impl input are correct. For one, the MSDN docu specifies that commands are enclosed in [...], but I see no code on our side to strip those away. For another, the MSDN docu specifies that multiple parameters are separated by commas, but again I see no code on our side to remove those when converting the parameters into our internal format (see below). (And for a third, the MSDN docu specifies that double "", ((, )), [[, ]] in the parameters should be interpreted as single ones, but again I see no code on our side to do that---though that may "just" be crappy coding ignoring the gory details.)

I'm asking because with <http://cgit.freedesktop.org/libreoffice/core/commit/?id=787940e0ac285aa1101ca8964d252faaab3ea8c1> "fdo#54264: Fix multi-argument ApplicationEvent::TYPE_OPEN/PRINT" I wanted to fix that code, as our internal format that multiple parameters need to be converted into has changed a while ago from a single string with parameters separated by newline characters to a vector of strings.

However, I do not know how to trigger that (Windows-specific anyway) code, but I would like to be able to verify that the new code works as intended (whether or not the old code did) before backporting this to libreoffice-4-0 and -4-1.

Stephan

Context


Privacy Policy | Impressum (Legal Info) | Copyright information: Unless otherwise specified, all text and images on this website are licensed under the Creative Commons Attribution-Share Alike 3.0 License. This does not include the source code of LibreOffice, which is licensed under the Mozilla Public License (MPLv2). "LibreOffice" and "The Document Foundation" are registered trademarks of their corresponding registered owners or are in actual use as trademarks in one or more countries. Their respective logos and icons are also subject to international copyright laws. Use thereof is explained in our trademark policy.