Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
W
wine-winehq
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Registry
Registry
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
wine
wine-winehq
Commits
214b897b
Commit
214b897b
authored
Mar 08, 2005
by
Aric Stewart
Committed by
Alexandre Julliard
Mar 08, 2005
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Implement EM_GETOLEINTERFACE.
parent
e15e5179
Hide whitespace changes
Inline
Side-by-side
Showing
5 changed files
with
247 additions
and
11 deletions
+247
-11
Makefile.in
dlls/riched20/Makefile.in
+1
-0
editor.c
dlls/riched20/editor.c
+5
-4
editor.h
dlls/riched20/editor.h
+3
-0
richole.c
dlls/riched20/richole.c
+237
-7
uuid.c
dlls/uuid/uuid.c
+1
-0
No files found.
dlls/riched20/Makefile.in
View file @
214b897b
...
...
@@ -4,6 +4,7 @@ SRCDIR = @srcdir@
VPATH
=
@srcdir@
MODULE
=
riched20.dll
IMPORTS
=
user32 gdi32 kernel32
EXTRALIBS
=
-luuid
C_SRCS
=
\
caret.c
\
...
...
dlls/riched20/editor.c
View file @
214b897b
...
...
@@ -843,10 +843,11 @@ LRESULT WINAPI RichEditANSIWndProc(HWND hWnd, UINT msg, WPARAM wParam, LPARAM lP
return
DefWindowProcW
(
hWnd
,
msg
,
wParam
,
lParam
);
}
case
EM_GETOLEINTERFACE
:
FIXME
(
"EM_GETOLEINTERFACE: stub
\n
"
);
/* return 0x12345678; to find out if the missing interface is
related to app crash */
return
0
;
{
LPVOID
*
ppvObj
=
(
LPVOID
*
)
lParam
;
TRACE
(
"EM_GETOLEINTERFACE %p
\n
"
,
ppvObj
);
return
CreateIRichEditOle
(
ppvObj
);
}
default:
do_default:
return
DefWindowProcW
(
hWnd
,
msg
,
wParam
,
lParam
);
...
...
dlls/riched20/editor.h
View file @
214b897b
...
...
@@ -188,6 +188,9 @@ int ME_GetScrollPos(ME_TextEditor *editor);
void
ME_EnsureVisible
(
ME_TextEditor
*
editor
,
ME_DisplayItem
*
pRun
);
COLORREF
ME_GetBackColor
(
ME_TextEditor
*
editor
);
/* richole.c */
extern
LRESULT
CreateIRichEditOle
(
LPVOID
*
);
/* wintest.c */
/* editor.c */
...
...
dlls/riched20/richole.c
View file @
214b897b
/*
* RichEdit GUIDs
* RichEdit GUIDs
and OLE interface
*
* Copyright 2004 by Krzysztof Foltman
* Copyright 2004 Aric Stewart
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
...
...
@@ -18,19 +19,248 @@
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
*/
#include <
windef
.h>
#include <
stdarg
.h>
/* there is no way to be consistent across different sets of headers - mingw, Wine, Win32 SDK*/
#define NONAMELESSUNION
#define NONAMELESSSTRUCT
#define COBJMACROS
#include "windef.h"
#include "winbase.h"
#include "wingdi.h"
#include "winuser.h"
#include "ole2.h"
#include "richole.h"
#include "wine/debug.h"
#define RICHEDIT_GUID(name, l, w1, w2) \
GUID name = { l, w1, w2, {0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x46}}
WINE_DEFAULT_DEBUG_CHANNEL
(
richedit
);
RICHEDIT_GUID
(
IID_IRichEditOle
,
0x00020d00
,
0
,
0
);
RICHEDIT_GUID
(
IID_IRichEditOleCallback
,
0x00020d03
,
0
,
0
);
typedef
struct
IRichEditOleImpl
{
IRichEditOleVtbl
*
lpVtbl
;
DWORD
ref
;
}
IRichEditOleImpl
;
/* there is no way to be consistent across different sets of headers - mingw, Wine, Win32 SDK*/
/* FIXME: the next 6 lines should be in textserv.h */
#define TEXTSERV_GUID(name, l, w1, w2, b1, b2) \
GUID name = { l, w1, w2, {b1, b2, 0x00, 0xaa, 0x00, 0x6c, 0xad, 0xc5}}
TEXTSERV_GUID
(
IID_ITextServices
,
0x8d33f740
,
0xcf58
,
0x11ce
,
0xa8
,
0x9d
);
TEXTSERV_GUID
(
IID_ITextHost
,
0xc5bdd8d0
,
0xd26e
,
0x11ce
,
0xa8
,
0x9e
);
TEXTSERV_GUID
(
IID_ITextHost2
,
0xc5bdd8d0
,
0xd26e
,
0x11ce
,
0xa8
,
0x9e
);
static
HRESULT
WINAPI
IRichEditOle_fnQueryInterface
(
IRichEditOle
*
me
,
REFIID
riid
,
LPVOID
*
ppvObj
)
{
IRichEditOleImpl
*
This
=
(
IRichEditOleImpl
*
)
me
;
TRACE
(
"%p %s
\n
"
,
This
,
debugstr_guid
(
riid
)
);
if
(
IsEqualGUID
(
riid
,
&
IID_IUnknown
)
||
IsEqualGUID
(
riid
,
&
IID_IRichEditOle
))
{
IRichEditOle_AddRef
(
me
);
*
ppvObj
=
(
LPVOID
)
This
;
return
S_OK
;
}
return
E_NOINTERFACE
;
}
static
ULONG
WINAPI
IRichEditOle_fnAddRef
(
IRichEditOle
*
me
)
{
IRichEditOleImpl
*
This
=
(
IRichEditOleImpl
*
)
me
;
ULONG
ref
=
InterlockedIncrement
(
&
This
->
ref
);
TRACE
(
"%p ref = %lu
\n
"
,
This
,
ref
);
return
ref
;
}
static
ULONG
WINAPI
IRichEditOle_fnRelease
(
IRichEditOle
*
me
)
{
IRichEditOleImpl
*
This
=
(
IRichEditOleImpl
*
)
me
;
ULONG
ref
=
InterlockedDecrement
(
&
This
->
ref
);
TRACE
(
"%p ref=%lu
\n
"
,
This
,
ref
);
if
(
!
ref
)
{
TRACE
(
"Destroying %p
\n
"
,
This
);
HeapFree
(
GetProcessHeap
(),
0
,
This
);
}
return
ref
;
}
static
HRESULT
WINAPI
IRichEditOle_fnActivateAs
(
IRichEditOle
*
me
,
REFCLSID
rclsid
,
REFCLSID
rclsidAs
)
{
IRichEditOleImpl
*
This
=
(
IRichEditOleImpl
*
)
me
;
FIXME
(
"stub %p
\n
"
,
This
);
return
E_NOTIMPL
;
}
static
HRESULT
WINAPI
IRichEditOle_fnContextSensitiveHelp
(
IRichEditOle
*
me
,
BOOL
fEnterMode
)
{
IRichEditOleImpl
*
This
=
(
IRichEditOleImpl
*
)
me
;
FIXME
(
"stub %p
\n
"
,
This
);
return
E_NOTIMPL
;
}
static
HRESULT
WINAPI
IRichEditOle_fnConvertObject
(
IRichEditOle
*
me
,
LONG
iob
,
REFCLSID
rclsidNew
,
LPCSTR
lpstrUserTypeNew
)
{
IRichEditOleImpl
*
This
=
(
IRichEditOleImpl
*
)
me
;
FIXME
(
"stub %p
\n
"
,
This
);
return
E_NOTIMPL
;
}
static
HRESULT
WINAPI
IRichEditOle_fnGetClientSite
(
IRichEditOle
*
me
,
LPOLECLIENTSITE
*
lplpolesite
)
{
IRichEditOleImpl
*
This
=
(
IRichEditOleImpl
*
)
me
;
FIXME
(
"stub %p
\n
"
,
This
);
return
E_NOTIMPL
;
}
static
HRESULT
WINAPI
IRichEditOle_fnGetClipboardData
(
IRichEditOle
*
me
,
CHARRANGE
*
lpchrg
,
DWORD
reco
,
LPDATAOBJECT
*
lplpdataobj
)
{
IRichEditOleImpl
*
This
=
(
IRichEditOleImpl
*
)
me
;
FIXME
(
"stub %p
\n
"
,
This
);
return
E_NOTIMPL
;
}
static
LONG
WINAPI
IRichEditOle_fnGetLinkCount
(
IRichEditOle
*
me
)
{
IRichEditOleImpl
*
This
=
(
IRichEditOleImpl
*
)
me
;
FIXME
(
"stub %p
\n
"
,
This
);
return
E_NOTIMPL
;
}
static
HRESULT
WINAPI
IRichEditOle_fnGetObject
(
IRichEditOle
*
me
,
LONG
iob
,
REOBJECT
*
lpreobject
,
DWORD
dwFlags
)
{
IRichEditOleImpl
*
This
=
(
IRichEditOleImpl
*
)
me
;
FIXME
(
"stub %p
\n
"
,
This
);
return
E_NOTIMPL
;
}
static
LONG
WINAPI
IRichEditOle_fnGetObjectCount
(
IRichEditOle
*
me
)
{
IRichEditOleImpl
*
This
=
(
IRichEditOleImpl
*
)
me
;
FIXME
(
"stub %p
\n
"
,
This
);
return
E_NOTIMPL
;
}
static
HRESULT
WINAPI
IRichEditOle_fnHandsOffStorage
(
IRichEditOle
*
me
,
LONG
iob
)
{
IRichEditOleImpl
*
This
=
(
IRichEditOleImpl
*
)
me
;
FIXME
(
"stub %p
\n
"
,
This
);
return
E_NOTIMPL
;
}
static
HRESULT
WINAPI
IRichEditOle_fnImportDataObject
(
IRichEditOle
*
me
,
LPDATAOBJECT
lpdataobj
,
CLIPFORMAT
cf
,
HGLOBAL
hMetaPict
)
{
IRichEditOleImpl
*
This
=
(
IRichEditOleImpl
*
)
me
;
FIXME
(
"stub %p
\n
"
,
This
);
return
E_NOTIMPL
;
}
static
HRESULT
WINAPI
IRichEditOle_fnInPlaceDeactivate
(
IRichEditOle
*
me
)
{
IRichEditOleImpl
*
This
=
(
IRichEditOleImpl
*
)
me
;
FIXME
(
"stub %p
\n
"
,
This
);
return
E_NOTIMPL
;
}
static
HRESULT
WINAPI
IRichEditOle_fnInsertObject
(
IRichEditOle
*
me
,
REOBJECT
*
lpreobject
)
{
IRichEditOleImpl
*
This
=
(
IRichEditOleImpl
*
)
me
;
FIXME
(
"stub %p
\n
"
,
This
);
return
E_NOTIMPL
;
}
static
HRESULT
WINAPI
IRichEditOle_fnSaveCompleted
(
IRichEditOle
*
me
,
LONG
iob
,
LPSTORAGE
lpstg
)
{
IRichEditOleImpl
*
This
=
(
IRichEditOleImpl
*
)
me
;
FIXME
(
"stub %p
\n
"
,
This
);
return
E_NOTIMPL
;
}
static
HRESULT
WINAPI
IRichEditOle_fnSetDvaspect
(
IRichEditOle
*
me
,
LONG
iob
,
DWORD
dvaspect
)
{
IRichEditOleImpl
*
This
=
(
IRichEditOleImpl
*
)
me
;
FIXME
(
"stub %p
\n
"
,
This
);
return
E_NOTIMPL
;
}
static
HRESULT
WINAPI
IRichEditOle_fnSetHostNames
(
IRichEditOle
*
me
,
LPCSTR
lpstrContainerApp
,
LPCSTR
lpstrContainerObj
)
{
IRichEditOleImpl
*
This
=
(
IRichEditOleImpl
*
)
me
;
FIXME
(
"stub %p
\n
"
,
This
);
return
E_NOTIMPL
;
}
static
HRESULT
WINAPI
IRichEditOle_fnSetLinkAvailable
(
IRichEditOle
*
me
,
LONG
iob
,
BOOL
fAvailable
)
{
IRichEditOleImpl
*
This
=
(
IRichEditOleImpl
*
)
me
;
FIXME
(
"stub %p
\n
"
,
This
);
return
E_NOTIMPL
;
}
static
IRichEditOleVtbl
revt
=
{
IRichEditOle_fnQueryInterface
,
IRichEditOle_fnAddRef
,
IRichEditOle_fnRelease
,
IRichEditOle_fnGetClientSite
,
IRichEditOle_fnGetObjectCount
,
IRichEditOle_fnGetLinkCount
,
IRichEditOle_fnGetObject
,
IRichEditOle_fnInsertObject
,
IRichEditOle_fnConvertObject
,
IRichEditOle_fnActivateAs
,
IRichEditOle_fnSetHostNames
,
IRichEditOle_fnSetLinkAvailable
,
IRichEditOle_fnSetDvaspect
,
IRichEditOle_fnHandsOffStorage
,
IRichEditOle_fnSaveCompleted
,
IRichEditOle_fnInPlaceDeactivate
,
IRichEditOle_fnContextSensitiveHelp
,
IRichEditOle_fnGetClipboardData
,
IRichEditOle_fnImportDataObject
};
LRESULT
CreateIRichEditOle
(
LPVOID
*
ppObj
)
{
IRichEditOleImpl
*
reo
;
reo
=
HeapAlloc
(
GetProcessHeap
(),
0
,
sizeof
(
IRichEditOleImpl
));
if
(
!
reo
)
return
0
;
reo
->
lpVtbl
=
&
revt
;
reo
->
ref
=
1
;
TRACE
(
"Created %p
\n
"
,
reo
);
*
ppObj
=
(
LPVOID
)
reo
;
return
1
;
}
dlls/uuid/uuid.c
View file @
214b897b
...
...
@@ -56,6 +56,7 @@ DEFINE_GUID(GUID_NULL,0,0,0,0,0,0,0,0,0,0,0);
#include "dispex.h"
#include "mlang.h"
#include "mshtml.h"
#include "richole.h"
/* FIXME: cguids declares GUIDs but does not define their values */
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment