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
824353d0
Commit
824353d0
authored
Mar 14, 2005
by
Martin Fuchs
Committed by
Alexandre Julliard
Mar 14, 2005
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
- switch to correct shell desktop context menu
- launch desk.cpl when activating the desktop context menu entry "properties" - don't send WM_COMMAND if we didn't get a shell view window
parent
a418694d
Hide whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
21 additions
and
7 deletions
+21
-7
shell32_main.h
dlls/shell32/shell32_main.h
+1
-1
shfldr_desktop.c
dlls/shell32/shfldr_desktop.c
+4
-2
shlview.c
dlls/shell32/shlview.c
+2
-2
shv_bg_cmenu.c
dlls/shell32/shv_bg_cmenu.c
+14
-2
No files found.
dlls/shell32/shell32_main.h
View file @
824353d0
...
...
@@ -81,7 +81,7 @@ LPENUMFORMATETC IEnumFORMATETC_Constructor(UINT, const FORMATETC []);
LPCLASSFACTORY
IClassFactory_Constructor
(
REFCLSID
);
IContextMenu2
*
ISvItemCm_Constructor
(
LPSHELLFOLDER
pSFParent
,
LPCITEMIDLIST
pidl
,
LPCITEMIDLIST
*
aPidls
,
UINT
uItemCount
);
IContextMenu2
*
ISvBgCm_Constructor
(
LPSHELLFOLDER
pSFParent
);
IContextMenu2
*
ISvBgCm_Constructor
(
LPSHELLFOLDER
pSFParent
,
BOOL
bDesktop
);
LPSHELLVIEW
IShellView_Constructor
(
LPSHELLFOLDER
);
HRESULT
WINAPI
IFSFolder_Constructor
(
IUnknown
*
pUnkOuter
,
REFIID
riid
,
LPVOID
*
ppv
);
...
...
dlls/shell32/shfldr_desktop.c
View file @
824353d0
...
...
@@ -524,8 +524,10 @@ static HRESULT WINAPI ISF_Desktop_fnGetUIObjectOf (IShellFolder2 * iface,
if
(
IsEqualIID
(
riid
,
&
IID_IContextMenu
))
{
pObj
=
(
LPUNKNOWN
)
ISvItemCm_Constructor
(
(
IShellFolder
*
)
iface
,
This
->
pidlRoot
,
apidl
,
cidl
);
if
(
cidl
>
0
)
pObj
=
(
LPUNKNOWN
)
ISvItemCm_Constructor
(
(
IShellFolder
*
)
iface
,
This
->
pidlRoot
,
apidl
,
cidl
);
else
pObj
=
(
LPUNKNOWN
)
ISvBgCm_Constructor
(
(
IShellFolder
*
)
iface
,
TRUE
);
hr
=
S_OK
;
}
else
if
(
IsEqualIID
(
riid
,
&
IID_IDataObject
)
&&
(
cidl
>=
1
))
...
...
dlls/shell32/shlview.c
View file @
824353d0
...
...
@@ -988,7 +988,7 @@ static void ShellView_DoContextMenu(IShellViewImpl * This, WORD x, WORD y, BOOL
{
hMenu
=
CreatePopupMenu
();
pCM
=
ISvBgCm_Constructor
(
This
->
pSFParent
);
pCM
=
ISvBgCm_Constructor
(
This
->
pSFParent
,
FALSE
);
IContextMenu2_QueryContextMenu
(
pCM
,
hMenu
,
0
,
FCIDM_SHVIEWFIRST
,
FCIDM_SHVIEWLAST
,
0
);
uCommand
=
TrackPopupMenu
(
hMenu
,
TPM_LEFTALIGN
|
TPM_RETURNCMD
,
x
,
y
,
0
,
This
->
hWnd
,
NULL
);
...
...
@@ -1977,7 +1977,7 @@ static HRESULT WINAPI IShellView_fnGetItemObject(IShellView * iface, UINT uItem,
switch
(
uItem
)
{
case
SVGIO_BACKGROUND
:
*
ppvOut
=
ISvBgCm_Constructor
(
This
->
pSFParent
);
*
ppvOut
=
ISvBgCm_Constructor
(
This
->
pSFParent
,
FALSE
);
break
;
case
SVGIO_SELECTION
:
...
...
dlls/shell32/shv_bg_cmenu.c
View file @
824353d0
...
...
@@ -46,6 +46,7 @@ typedef struct
IContextMenu2Vtbl
*
lpVtbl
;
IShellFolder
*
pSFParent
;
DWORD
ref
;
BOOL
bDesktop
;
}
BgCmImpl
;
...
...
@@ -54,7 +55,7 @@ static struct IContextMenu2Vtbl cmvt;
/**************************************************************************
* ISVBgCm_Constructor()
*/
IContextMenu2
*
ISvBgCm_Constructor
(
IShellFolder
*
pSFParent
)
IContextMenu2
*
ISvBgCm_Constructor
(
IShellFolder
*
pSFParent
,
BOOL
bDesktop
)
{
BgCmImpl
*
cm
;
...
...
@@ -62,6 +63,7 @@ IContextMenu2 *ISvBgCm_Constructor(IShellFolder* pSFParent)
cm
->
lpVtbl
=
&
cmvt
;
cm
->
ref
=
1
;
cm
->
pSFParent
=
pSFParent
;
cm
->
bDesktop
=
bDesktop
;
if
(
pSFParent
)
IShellFolder_AddRef
(
pSFParent
);
TRACE
(
"(%p)->()
\n
"
,
cm
);
...
...
@@ -362,12 +364,22 @@ static HRESULT WINAPI ISVBgCm_fnInvokeCommand(
case
FCIDM_SHVIEW_NEWFOLDER
:
DoNewFolder
(
iface
,
lpSV
);
break
;
case
FCIDM_SHVIEW_INSERT
:
DoPaste
(
iface
);
break
;
case
FCIDM_SHVIEW_PROPERTIES
:
if
(
This
->
bDesktop
)
{
ShellExecuteA
(
lpcmi
->
hwnd
,
"open"
,
"rundll32.exe shell32.dll,Control_RunDLL desk.cpl"
,
NULL
,
NULL
,
SW_SHOWNORMAL
);
}
else
{
FIXME
(
"launch item properties dialog
\n
"
);
}
break
;
default:
/* if it's a id just pass it to the parent shv */
SendMessageA
(
hWndSV
,
WM_COMMAND
,
MAKEWPARAM
(
LOWORD
(
lpcmi
->
lpVerb
),
0
),
0
);
if
(
hWndSV
)
SendMessageA
(
hWndSV
,
WM_COMMAND
,
MAKEWPARAM
(
LOWORD
(
lpcmi
->
lpVerb
),
0
),
0
);
break
;
}
}
...
...
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