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
1f21795f
Commit
1f21795f
authored
Mar 24, 2009
by
Aric Stewart
Committed by
Alexandre Julliard
Mar 25, 2009
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
msctf: Add ITfThreadMgrEventSink to ThreadMgr.
parent
3cf42843
Show whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
54 additions
and
2 deletions
+54
-2
threadmgr.c
dlls/msctf/threadmgr.c
+30
-2
msctf.idl
include/msctf.idl
+24
-0
No files found.
dlls/msctf/threadmgr.c
View file @
1f21795f
...
...
@@ -32,6 +32,7 @@
#include "shlwapi.h"
#include "winerror.h"
#include "objbase.h"
#include "olectl.h"
#include "wine/unicode.h"
#include "wine/list.h"
...
...
@@ -51,7 +52,7 @@ typedef struct tagThreadMgrSink {
/* ITfKeyTraceEventSink *pITfKeyTraceEventSink; */
/* ITfPreservedKeyNotifySink *pITfPreservedKeyNotifySink; */
/* ITfThreadFocusSink *pITfThreadFocusSink; */
/* ITfThreadMgrEventSink *pITfThreadMgrEventSink; */
ITfThreadMgrEventSink
*
pITfThreadMgrEventSink
;
}
interfaces
;
}
ThreadMgrSink
;
...
...
@@ -327,9 +328,36 @@ static ULONG WINAPI Source_Release(ITfSource *iface)
static
WINAPI
HRESULT
ThreadMgrSource_AdviseSink
(
ITfSource
*
iface
,
REFIID
riid
,
IUnknown
*
punk
,
DWORD
*
pdwCookie
)
{
ThreadMgrSink
*
tms
;
ThreadMgr
*
This
=
impl_from_ITfSourceVtbl
(
iface
);
FIXME
(
"STUB:(%p)
\n
"
,
This
);
TRACE
(
"(%p) %s %p %p
\n
"
,
This
,
debugstr_guid
(
riid
),
punk
,
pdwCookie
);
if
(
!
riid
||
!
punk
||
!
pdwCookie
)
return
E_INVALIDARG
;
if
(
IsEqualIID
(
riid
,
&
IID_ITfThreadMgrEventSink
))
{
tms
=
HeapAlloc
(
GetProcessHeap
(),
0
,
sizeof
(
ThreadMgrSink
));
if
(
!
tms
)
return
E_OUTOFMEMORY
;
if
(
!
SUCCEEDED
(
IUnknown_QueryInterface
(
punk
,
riid
,
(
LPVOID
*
)
&
tms
->
interfaces
.
pITfThreadMgrEventSink
)))
{
HeapFree
(
GetProcessHeap
(),
0
,
tms
);
return
CONNECT_E_CANNOTCONNECT
;
}
list_add_head
(
&
This
->
ThreadMgrEventSink
,
&
tms
->
entry
);
*
pdwCookie
=
(
DWORD
)
tms
;
}
else
{
FIXME
(
"(%p) Unhandled Sink: %s
\n
"
,
This
,
debugstr_guid
(
riid
));
return
E_NOTIMPL
;
}
TRACE
(
"cookie %x
\n
"
,
*
pdwCookie
);
return
S_OK
;
}
static
WINAPI
HRESULT
ThreadMgrSource_UnadviseSink
(
ITfSource
*
iface
,
DWORD
pdwCookie
)
...
...
include/msctf.idl
View file @
1f21795f
...
...
@@ -486,3 +486,27 @@ interface ITfTextInputProcessor : IUnknown
HRESULT
Deactivate
()
;
}
;
[
object
,
uuid
(
aa80e80e
-
2021
-
11
d2
-
93
e0
-
0060b067b86
e
),
pointer_default
(
unique
)
]
interface
ITfThreadMgrEventSink
:
IUnknown
{
HRESULT
OnInitDocumentMgr
(
[
in
]
ITfDocumentMgr
*
pdim
)
;
HRESULT
OnUninitDocumentMgr
(
[
in
]
ITfDocumentMgr
*
pdim
)
;
HRESULT
OnSetFocus
(
[
in
]
ITfDocumentMgr
*
pdimFocus
,
[
in
]
ITfDocumentMgr
*
pdimPrevFocus
)
;
HRESULT
OnPushContext
(
[
in
]
ITfContext
*
pic
)
;
HRESULT
OnPopContext
(
[
in
]
ITfContext
*
pic
)
;
}
;
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