Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
W
wine-cw
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-cw
Commits
54e1559a
Commit
54e1559a
authored
May 17, 2020
by
Zebediah Figura
Committed by
Alexandre Julliard
May 18, 2020
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
explorer: Implement IShellWindows::OnNavigate().
Signed-off-by:
Zebediah Figura
<
z.figura12@gmail.com
>
Signed-off-by:
Alexandre Julliard
<
julliard@winehq.org
>
parent
aeff6f18
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
38 additions
and
4 deletions
+38
-4
shelldispatch.c
dlls/shell32/tests/shelldispatch.c
+4
-1
desktop.c
programs/explorer/desktop.c
+34
-3
No files found.
dlls/shell32/tests/shelldispatch.c
View file @
54e1559a
...
...
@@ -1068,8 +1068,11 @@ static void test_ShellWindows(void)
ok
(
!
ret
,
"Got window %#x.
\n
"
,
ret
);
ok
(
!
disp
,
"Got IDispatch %p.
\n
"
,
&
disp
);
hr
=
IShellWindows_OnNavigate
(
shellwindows
,
0
,
&
v
);
ok
(
hr
==
E_INVALIDARG
,
"Got hr %#x.
\n
"
,
hr
);
hr
=
IShellWindows_OnNavigate
(
shellwindows
,
cookie
,
&
v
);
todo_wine
ok
(
hr
==
S_OK
,
"Got hr %#x.
\n
"
,
hr
);
ok
(
hr
==
S_OK
,
"Got hr %#x.
\n
"
,
hr
);
hr
=
IShellWindows_FindWindowSW
(
shellwindows
,
&
v
,
&
v2
,
SWC_EXPLORER
,
&
ret
,
0
,
&
disp
);
todo_wine
ok
(
hr
==
S_OK
,
"Got hr %#x.
\n
"
,
hr
);
...
...
programs/explorer/desktop.c
View file @
54e1559a
...
...
@@ -151,6 +151,7 @@ struct window
{
LONG
cookie
,
hwnd
;
int
class
;
ITEMIDLIST
*
pidl
;
};
struct
shellwindows
...
...
@@ -1241,10 +1242,40 @@ static HRESULT WINAPI shellwindows_Revoke(IShellWindows *iface, LONG cookie)
return
S_FALSE
;
}
static
HRESULT
WINAPI
shellwindows_OnNavigate
(
IShellWindows
*
iface
,
LONG
cookie
,
VARIANT
*
loc
)
static
HRESULT
WINAPI
shellwindows_OnNavigate
(
IShellWindows
*
iface
,
LONG
cookie
,
VARIANT
*
loc
ation
)
{
FIXME
(
"0x%x %s
\n
"
,
cookie
,
debugstr_variant
(
loc
));
return
E_NOTIMPL
;
struct
shellwindows
*
sw
=
impl_from_IShellWindows
(
iface
);
unsigned
int
i
;
TRACE
(
"iface %p, cookie %u, location %s.
\n
"
,
iface
,
cookie
,
debugstr_variant
(
location
));
if
(
V_VT
(
location
)
!=
(
VT_ARRAY
|
VT_UI1
))
{
FIXME
(
"Unexpected variant type %s.
\n
"
,
debugstr_vt
(
V_VT
(
location
)));
return
E_NOTIMPL
;
}
EnterCriticalSection
(
&
sw
->
cs
);
for
(
i
=
0
;
i
<
sw
->
count
;
++
i
)
{
if
(
sw
->
windows
[
i
].
cookie
==
cookie
)
{
size_t
len
=
V_ARRAY
(
location
)
->
rgsabound
[
0
].
cElements
;
if
(
!
(
sw
->
windows
[
i
].
pidl
=
realloc
(
sw
->
windows
[
i
].
pidl
,
len
)))
{
LeaveCriticalSection
(
&
sw
->
cs
);
return
E_OUTOFMEMORY
;
}
memcpy
(
sw
->
windows
[
i
].
pidl
,
V_ARRAY
(
location
)
->
pvData
,
len
);
LeaveCriticalSection
(
&
sw
->
cs
);
return
S_OK
;
}
}
LeaveCriticalSection
(
&
sw
->
cs
);
return
E_INVALIDARG
;
}
static
HRESULT
WINAPI
shellwindows_OnActivated
(
IShellWindows
*
iface
,
LONG
cookie
,
VARIANT_BOOL
active
)
...
...
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