[Libreoffice-qa] DDE on Windows
sbergman at redhat.com
Mon Jul 29 06:31:34 PDT 2013
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>
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
"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.
More information about the Libreoffice-qa