msls31: Add stub dll.

Josh DuBois duboisj at codeweavers.com
Tue Sep 11 11:32:09 CDT 2012


Presence of a stub of msls31.dll allows Visio 2003 to open .svg files, 
which it fails to do without the stub.
Visio 2003 does complain that some values in the files are missing or of 
the incorrect data type when opening these files, but it will 
nonetheless open them and can edit them successfully when the stubbed 
.dll is present.

-------------- next part --------------
>From 15e94a8b3a0c3fc65a0807754832e16e966d88d3 Mon Sep 17 00:00:00 2001
From: Josh DuBois <duboisj at codeweavers.com>
Date: Mon, 10 Sep 2012 22:09:06 -0500
Subject: Stub of msls31.dll.

This allows Visio 2003 to open .svg files.
---
 configure                 |  1 +
 configure.ac              |  1 +
 dlls/msls31/Makefile.in   |  6 ++++
 dlls/msls31/msls31.spec   | 79 +++++++++++++++++++++++++++++++++++++++++++++++
 dlls/msls31/msls31_main.c | 52 +++++++++++++++++++++++++++++++
 5 files changed, 139 insertions(+)
 create mode 100644 dlls/msls31/Makefile.in
 create mode 100644 dlls/msls31/msls31.spec
 create mode 100644 dlls/msls31/msls31_main.c

diff --git a/configure b/configure
index ec66aa3..4ae5205 100755
--- a/configure
+++ b/configure
@@ -15360,6 +15360,7 @@ wine_fn_config_dll gdi.exe16 enable_win16
 wine_fn_config_dll gdi32 enable_gdi32 implib,po
 wine_fn_config_test dlls/gdi32/tests gdi32_test
 wine_fn_config_dll gdiplus enable_gdiplus implib
+wine_fn_config_dll msls31 enable_msls31
 wine_fn_config_test dlls/gdiplus/tests gdiplus_test
 wine_fn_config_dll glu32 enable_glu32 implib
 wine_fn_config_dll gphoto2.ds enable_gphoto2_ds po
diff --git a/configure.ac b/configure.ac
index 528ee90..db68101 100644
--- a/configure.ac
+++ b/configure.ac
@@ -2657,6 +2657,7 @@ WINE_CONFIG_DLL(gdi.exe16,enable_win16)
 WINE_CONFIG_DLL(gdi32,,[implib,po])
 WINE_CONFIG_TEST(dlls/gdi32/tests)
 WINE_CONFIG_DLL(gdiplus,,[implib])
+WINE_CONFIG_DLL(msls31)
 WINE_CONFIG_TEST(dlls/gdiplus/tests)
 WINE_CONFIG_DLL(glu32,,[implib])
 WINE_CONFIG_DLL(gphoto2.ds,,[po])
diff --git a/dlls/msls31/Makefile.in b/dlls/msls31/Makefile.in
new file mode 100644
index 0000000..91db958
--- /dev/null
+++ b/dlls/msls31/Makefile.in
@@ -0,0 +1,6 @@
+MODULE    = msls31.dll
+
+C_SRCS = \
+	msls31_main.c
+
+ at MAKE_DLL_RULES@
diff --git a/dlls/msls31/msls31.spec b/dlls/msls31/msls31.spec
new file mode 100644
index 0000000..d9f6aa1
--- /dev/null
+++ b/dlls/msls31/msls31.spec
@@ -0,0 +1,79 @@
+70 stub LssbFDoneDisplay
+65 stub LsCompressSubline
+1 stub LsCreateContext
+3 stub LsCreateLine
+6 stub LsCreateSubline
+2 stub LsDestroyContext
+5 stub LsDestroyLine
+16 stub LsDestroySubline
+40 stub LsDisplayLine
+41 stub LsDisplaySubline
+31 stub LsdnSetRigidDup
+36 stub LsdnSkipCurTab
+39 stub LsdnSubmitSublines
+8 stub LsAppendRunToCurrentSubline
+55 stub LssbFDonePresSubline
+54 stub LssbGetDupSubline
+57 stub LssbGetNumberDnodesInSubline
+53 stub LssbGetObjDimSubline
+56 stub LssbGetPlsrunsFromSubline
+58 stub LssbGetVisibleDcpInSubline
+18 stub LsExpandSubline
+7 stub LsFetchAppendToCurrentSubline
+68 stub LsFetchAppendToCurrentSublineResume
+13 stub LsFindNextBreakSubline
+12 stub LsFindPrevBreakSubline
+10 stub LsFinishCurrentSubline
+14 stub LsForceBreakSubline
+66 stub LsGetHihLsimethods
+62 stub LsGetRubyLsimethods
+19 stub LsGetSpecialEffectsSubline
+63 stub LsGetTatenakayokoLsimethods
+61 stub LsGetWarichuLsimethods
+17 stub LsMatchPresSubline
+4 stub LsModifyLineHeight
+60 stub LsPointUV2FromPointUV1
+59 stub LsPointXYFromPointUV
+47 stub LsQueryCpPpointSubline
+45 stub LsQueryFLineEmpty
+42 stub LsQueryLineCpPpoint
+44 stub LsQueryLineDup
+43 stub LsQueryLinePointPcp
+46 stub LsQueryPointPcpSubline
+67 stub LsQueryTextCellDetails
+9 stub LsResetRMInCurrentSubline
+15 stub LsSetBreakSubline
+52 stub LsSetBreaking
+50 stub LsSetCompression
+48 stub LsSetDoc
+51 stub LsSetExpansion
+49 stub LsSetModWidthPairs
+64 stub LsSqueezeSubline
+11 stub LsTruncateSubline
+37 stub LsdnDistribute
+26 stub LsdnFinishByOneChar
+23 stub LsdnFinishByPen
+24 stub LsdnFinishBySubline
+22 stub LsdnFinishDelete
+25 stub LsdnFinishDeleteAll
+20 stub LsdnFinishRegular
+21 stub LsdnFinishRegularAddAdvancePen
+35 stub LsdnGetCurTabInfo
+32 stub LsdnGetDup
+69 stub LsdnGetFormatDepth
+27 stub LsdnQueryObjDimRange
+29 stub LsdnQueryPenNode
+28 stub LsdnResetObjDim
+30 stub LsdnResetPenNode
+34 stub LsdnResolvePrevTab
+33 stub LsdnSetAbsBaseLine
+80 stub LsLwMultDivR
+75 stub LsEnumSubline
+74 stub LsGetLineDur
+73 stub LsGetMinDurBreaks
+71 stub LsGetReverseLsimethods
+78 stub LssbGetDurTrailWithPensInSubline
+77 stub LssbGetDurTrailInSubline
+79 stub LssbFIsSublineEmpty
+76 stub LsdnModifyParaEnding
+72 stub LsEnumLine
diff --git a/dlls/msls31/msls31_main.c b/dlls/msls31/msls31_main.c
new file mode 100644
index 0000000..9e55cb2
--- /dev/null
+++ b/dlls/msls31/msls31_main.c
@@ -0,0 +1,52 @@
+/* ---------------------------------------------------------------
+**   msls31.dll
+**   Copyright CodeWeavers, Inc.
+**   Created: 9/10/2012 by Josh DuBois for CodeWeavers.
+**
+** 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
+**
+** --------------------------------------------------------------- */
+
+#include "config.h"
+
+#include <stdarg.h>
+
+#include "windef.h"
+#include "winbase.h"
+#include "wine/debug.h"
+
+WINE_DEFAULT_DEBUG_CHANNEL(msls31);
+
+BOOL WINAPI DllMain(HINSTANCE hinstDLL, DWORD fdwReason, LPVOID lpvReserved)
+{
+    TRACE("(0x%p, %d, %p)\n", hinstDLL, fdwReason, lpvReserved);
+
+    switch (fdwReason)
+    {
+        case DLL_WINE_PREATTACH:
+            /* ---------------------------------------------------
+            **   prefer native.
+            ** --------------------------------------------------- */
+            return FALSE;
+        case DLL_PROCESS_ATTACH:
+            DisableThreadLibraryCalls(hinstDLL);
+            break;
+        case DLL_PROCESS_DETACH:
+            break;
+    }
+
+    return TRUE;
+}
-- 
1.7.11.5



More information about the wine-patches mailing list