2017-12-05 6:45 GMT-07:00 Jacek Caban jacek@codeweavers.com:
On 05.12.2017 10:09, Alex Henrie wrote:
Signed-off-by: Alex Henrie alexhenrie24@gmail.com
configure.ac | 1 + dlls/dhtmled.ocx/Makefile.in | 8 + dlls/dhtmled.ocx/dhtmled.ocx.spec | 4 + dlls/dhtmled.ocx/dhtmled_classes.idl | 39 +++ dlls/dhtmled.ocx/dhtmled_private.h | 19 ++ dlls/dhtmled.ocx/dhtmled_tlb.idl | 21 ++ dlls/dhtmled.ocx/edit.c | 534 +++++++++++++++++++++++++++++++++++ dlls/dhtmled.ocx/main.c | 162 +++++++++++ 8 files changed, 788 insertions(+) create mode 100644 dlls/dhtmled.ocx/Makefile.in create mode 100644 dlls/dhtmled.ocx/dhtmled.ocx.spec create mode 100644 dlls/dhtmled.ocx/dhtmled_classes.idl create mode 100644 dlls/dhtmled.ocx/dhtmled_private.h create mode 100644 dlls/dhtmled.ocx/dhtmled_tlb.idl create mode 100644 dlls/dhtmled.ocx/edit.c create mode 100644 dlls/dhtmled.ocx/main.c
It would be nice to split it a bit. For example separated patches for stub dll, adding .idl file and adding DHTMLEdit stub.
I don't think it makes sense to stub the DLL, then add an IDL, then add the object implementation, because the DLL is worthless without the IDL and the IDL is worthless without the object implementation. I have taken care to only add the most basic features, and even that is already divided across 8 patches. Nonetheless, if you feel strongly that this patch should be split into three, I'll do it.
diff --git a/dlls/dhtmled.ocx/dhtmled_classes.idl b/dlls/dhtmled.ocx/dhtmled_classes.idl new file mode 100644 index 0000000000..ae27c7c14a --- /dev/null +++ b/dlls/dhtmled.ocx/dhtmled_classes.idl @@ -0,0 +1,39 @@ +/*
- Copyright 2017 Alex Henrie
- This library is free software; you can redistribute it and/or
- modify it under the terms of the GNU Lesser General Public
- License as published by the Free Software Foundation; either
- version 2.1 of the License, or (at your option) any later version.
- This library is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- Lesser General Public License for more details.
- You should have received a copy of the GNU Lesser General Public
- License along with this library; if not, write to the Free Software
- Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301,
USA
- */
+#pragma makedep register
I think we also want typelib.
dhtmled_tlb.idl already has "#pragma makedep regtypelib". Are you saying that it needs "#pragma makedep typelib" too?
+[
- uuid(2d360201-fff5-11d1-8d03-00a0c959bc0a),
- threading(apartment)
+] +coclass DHTMLSafe +{
- interface IDHTMLSafe;
- interface _DHTMLSafeEvents;
+};
+[
- uuid(2d360200-fff5-11d1-8d03-00a0c959bc0a),
- threading(apartment)
+] +coclass DHTMLEdit +{
- interface IDHTMLEdit;
- interface _DHTMLEditEvents;
+};
Ideally it would just #include dhtmled.idl (see mshtml.tlb for an example).
I did that for dhtmled_classes.idl. Can I combine dhtmled_classes.idl and dhtmled_tlb.idl into one file with both pragmas?
Your feedback is much appreciated, thank you!
-Alex