Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
V
vlc
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Redmine
Redmine
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Operations
Operations
Metrics
Environments
Analytics
Analytics
CI / CD
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
videolan
vlc
Commits
42480e9f
Commit
42480e9f
authored
Aug 17, 2012
by
Jean-Baptiste Kempf
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
D3D: Fix wallpaper mode under Win7
Close #7348 Signed-off-by:
Jean-Baptiste Kempf
<
jb@videolan.org
>
parent
a73b86a5
Changes
1
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
38 additions
and
7 deletions
+38
-7
modules/video_output/msw/events.c
modules/video_output/msw/events.c
+38
-7
No files found.
modules/video_output/msw/events.c
View file @
42480e9f
...
...
@@ -473,7 +473,44 @@ static void *EventThread( void *p_this )
return
NULL
;
}
#ifdef MODULE_NAME_IS_direct3d
static
int
CALLBACK
enumWindowsProc
(
HWND
hwnd
,
LPARAM
lParam
)
{
HWND
*
wnd
=
(
HWND
*
)
lParam
;
char
name
[
128
];
name
[
0
]
=
'\0'
;
GetClassNameA
(
hwnd
,
name
,
128
);
if
(
!
strcasecmp
(
name
,
"WorkerW"
)
)
{
hwnd
=
FindWindowEx
(
hwnd
,
NULL
,
_T
(
"SHELLDLL_DefView"
),
NULL
);
if
(
hwnd
)
hwnd
=
FindWindowEx
(
hwnd
,
NULL
,
_T
(
"SysListView32"
),
NULL
);
if
(
hwnd
)
{
*
wnd
=
hwnd
;
return
false
;
}
}
return
true
;
}
static
HWND
GetDesktopHandle
(
vout_display_t
*
vd
)
{
/* Find Program Manager */
HWND
hwnd
=
FindWindow
(
_T
(
"Progman"
),
NULL
);
if
(
hwnd
)
hwnd
=
FindWindowEx
(
hwnd
,
NULL
,
_T
(
"SHELLDLL_DefView"
),
NULL
);
if
(
hwnd
)
hwnd
=
FindWindowEx
(
hwnd
,
NULL
,
_T
(
"SysListView32"
),
NULL
);
if
(
hwnd
)
return
hwnd
;
msg_Dbg
(
vd
,
"Couldn't find desktop icon window,. Trying the hard way."
);
EnumWindows
(
enumWindowsProc
,
(
LPARAM
)
&
hwnd
);
return
hwnd
;
}
#endif
/* following functions are local */
/*****************************************************************************
...
...
@@ -512,14 +549,8 @@ static int DirectXCreateWindow( event_thread_t *p_event )
}
else
{
/* Find Program Manager */
HWND
hwnd
=
FindWindow
(
_T
(
"Progman"
),
NULL
);
if
(
hwnd
)
hwnd
=
FindWindowEx
(
hwnd
,
NULL
,
_T
(
"SHELLDLL_DefView"
),
NULL
);
if
(
hwnd
)
hwnd
=
FindWindowEx
(
hwnd
,
NULL
,
_T
(
"SysListView32"
),
NULL
);
if
(
!
hwnd
)
msg_Err
(
vd
,
"Couldn't find desktop icon window. Desktop mode can't be established."
);
p_event
->
parent_window
=
NULL
;
p_event
->
hparent
=
hwnd
;
p_event
->
hparent
=
GetDesktopHandle
(
vd
)
;
}
#endif
p_event
->
cursor_arrow
=
LoadCursor
(
NULL
,
IDC_ARROW
);
...
...
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