Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
V
vlc-2-2
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-2-2
Commits
7c693f06
Commit
7c693f06
authored
Feb 17, 2012
by
Erwan Tulou
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
skins2: don't stop the whole vlc instance when skins2 fails to initialize
This closes #6064
parent
36fc180e
Changes
2
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
15 additions
and
2 deletions
+15
-2
modules/gui/skins2/src/skin_common.hpp
modules/gui/skins2/src/skin_common.hpp
+1
-0
modules/gui/skins2/src/skin_main.cpp
modules/gui/skins2/src/skin_main.cpp
+14
-2
No files found.
modules/gui/skins2/src/skin_common.hpp
View file @
7c693f06
...
...
@@ -142,6 +142,7 @@ struct intf_sys_t
vlc_thread_t
thread
;
vlc_mutex_t
init_lock
;
vlc_cond_t
init_wait
;
bool
b_error
;
bool
b_ready
;
};
...
...
modules/gui/skins2/src/skin_main.cpp
View file @
7c693f06
...
...
@@ -108,6 +108,7 @@ static int Open( vlc_object_t *p_this )
vlc_cond_init
(
&
p_intf
->
p_sys
->
init_wait
);
vlc_mutex_lock
(
&
p_intf
->
p_sys
->
init_lock
);
p_intf
->
p_sys
->
b_error
=
false
;
p_intf
->
p_sys
->
b_ready
=
false
;
if
(
vlc_clone
(
&
p_intf
->
p_sys
->
thread
,
Run
,
p_intf
,
...
...
@@ -125,6 +126,17 @@ static int Open( vlc_object_t *p_this )
vlc_cond_wait
(
&
p_intf
->
p_sys
->
init_wait
,
&
p_intf
->
p_sys
->
init_lock
);
vlc_mutex_unlock
(
&
p_intf
->
p_sys
->
init_lock
);
if
(
p_intf
->
p_sys
->
b_error
)
{
vlc_join
(
p_intf
->
p_sys
->
thread
,
NULL
);
vlc_mutex_destroy
(
&
p_intf
->
p_sys
->
init_lock
);
vlc_cond_destroy
(
&
p_intf
->
p_sys
->
init_wait
);
free
(
p_intf
->
p_sys
);
return
VLC_EGENERIC
;
}
vlc_mutex_lock
(
&
skin_load
.
mutex
);
skin_load
.
intf
=
p_intf
;
vlc_mutex_unlock
(
&
skin_load
.
mutex
);
...
...
@@ -252,6 +264,7 @@ static void *Run( void * p_obj )
loop
=
OSFactory
::
instance
(
p_intf
)
->
getOSLoop
();
// Signal the main thread this thread is now ready
p_intf
->
p_sys
->
b_error
=
false
;
p_intf
->
p_sys
->
b_ready
=
true
;
vlc_cond_signal
(
&
p_intf
->
p_sys
->
init_wait
);
vlc_mutex_unlock
(
&
p_intf
->
p_sys
->
init_lock
);
...
...
@@ -290,11 +303,10 @@ end:
if
(
b_error
)
{
p_intf
->
p_sys
->
b_error
=
true
;
p_intf
->
p_sys
->
b_ready
=
true
;
vlc_cond_signal
(
&
p_intf
->
p_sys
->
init_wait
);
vlc_mutex_unlock
(
&
p_intf
->
p_sys
->
init_lock
);
libvlc_Quit
(
p_intf
->
p_libvlc
);
}
vlc_restorecancel
(
canc
);
...
...
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