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
619b3896
Commit
619b3896
authored
May 12, 2009
by
Aric Stewart
Committed by
Alexandre Julliard
May 13, 2009
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
msctf: Support advising ITfLanguageProfileNotifySink in ITfInputProcessorProfiles.
parent
fec456b3
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
38 additions
and
3 deletions
+38
-3
inputprocessor.c
dlls/msctf/inputprocessor.c
+24
-3
msctf.idl
include/msctf.idl
+14
-0
No files found.
dlls/msctf/inputprocessor.c
View file @
619b3896
...
...
@@ -52,7 +52,7 @@ typedef struct tagInputProcessorProfilesSink {
union
{
/* InputProcessorProfile Sinks */
IUnknown
*
pIUnknown
;
/* ITfLanguageProfileNotifySink *pITfLanguageProfileNotifySink; */
ITfLanguageProfileNotifySink
*
pITfLanguageProfileNotifySink
;
}
interfaces
;
}
InputProcessorProfilesSink
;
...
...
@@ -599,6 +599,7 @@ static ULONG WINAPI IPPSource_Release(ITfSource *iface)
static
WINAPI
HRESULT
IPPSource_AdviseSink
(
ITfSource
*
iface
,
REFIID
riid
,
IUnknown
*
punk
,
DWORD
*
pdwCookie
)
{
InputProcessorProfilesSink
*
ipps
;
InputProcessorProfiles
*
This
=
impl_from_ITfSourceVtbl
(
iface
);
TRACE
(
"(%p) %s %p %p
\n
"
,
This
,
debugstr_guid
(
riid
),
punk
,
pdwCookie
);
...
...
@@ -606,8 +607,28 @@ static WINAPI HRESULT IPPSource_AdviseSink(ITfSource *iface,
if
(
!
riid
||
!
punk
||
!
pdwCookie
)
return
E_INVALIDARG
;
FIXME
(
"(%p) Unhandled Sink: %s
\n
"
,
This
,
debugstr_guid
(
riid
));
return
E_NOTIMPL
;
if
(
IsEqualIID
(
riid
,
&
IID_ITfLanguageProfileNotifySink
))
{
ipps
=
HeapAlloc
(
GetProcessHeap
(),
0
,
sizeof
(
InputProcessorProfilesSink
));
if
(
!
ipps
)
return
E_OUTOFMEMORY
;
if
(
!
SUCCEEDED
(
IUnknown_QueryInterface
(
punk
,
riid
,
(
LPVOID
*
)
&
ipps
->
interfaces
.
pITfLanguageProfileNotifySink
)))
{
HeapFree
(
GetProcessHeap
(),
0
,
ipps
);
return
CONNECT_E_CANNOTCONNECT
;
}
list_add_head
(
&
This
->
LanguageProfileNotifySink
,
&
ipps
->
entry
);
*
pdwCookie
=
generate_Cookie
(
COOKIE_MAGIC_IPPSINK
,
ipps
);
}
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
IPPSource_UnadviseSink
(
ITfSource
*
iface
,
DWORD
pdwCookie
)
...
...
include/msctf.idl
View file @
619b3896
...
...
@@ -699,3 +699,17 @@ interface ITfClientId : IUnknown
[
in
]
REFCLSID
rclsid
,
[
out
]
TfClientId
*
ptid
)
;
}
;
[
object
,
uuid
(
43
c9fe15
-
f494
-
4
c17
-
9
de2
-
b8a4ac350aa8
),
pointer_default
(
unique
)
]
interface
ITfLanguageProfileNotifySink
:
IUnknown
{
HRESULT
OnLanguageChange
(
[
in
]
LANGID
langid
,
[
out
]
BOOL
*
pfAccept
)
;
HRESULT
OnLanguageChanged
()
;
}
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