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
1ebf4b12
Commit
1ebf4b12
authored
Sep 04, 2012
by
Francois Cartegnie
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Qt: MLItem: missing lock
parent
0bb6445c
Changes
1
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
34 additions
and
26 deletions
+34
-26
modules/gui/qt4/components/playlist/ml_item.cpp
modules/gui/qt4/components/playlist/ml_item.cpp
+34
-26
No files found.
modules/gui/qt4/components/playlist/ml_item.cpp
View file @
1ebf4b12
...
...
@@ -48,38 +48,46 @@
* If a->meta > b->meta, return +1
* @note If a->meta == NULL and b->meta != NULL (strings), then b>a
*/
static
int
compareMeta
(
const
ml_media_t
*
a
,
const
ml_media_t
*
b
,
ml_select_e
meta
)
static
int
compareMeta
(
ml_media_t
*
a
,
ml_media_t
*
b
,
ml_select_e
meta
)
{
# define scomp(c) ((a->c&&b->c&&*a->c&&*b->c) ? strcasecmp(a->c,b->c) : \
(a->c&&*a->c?-1:(b->c&&*b->c?1:0)))
# define icomp(c) (a->c<b->c?-1:(a->c==b->c?0:1))
bool
i_ret
=
0
;
# define scomp(c) i_ret = ((a->c&&b->c&&*a->c&&*b->c) ?\
strcasecmp(a->c,b->c) : \
(a->c&&*a->c?-1:(b->c&&*b->c?1:0))); break;
# define icomp(c) i_ret = (a->c<b->c?-1:(a->c==b->c?0:1)); break;
if
(
a
==
b
)
return
0
;
vlc_mutex_lock
(
&
a
->
lock
);
vlc_mutex_lock
(
&
b
->
lock
);
switch
(
meta
)
{
case
ML_ALBUM
:
return
scomp
(
psz_album
);
case
ML_ALBUM_ID
:
return
icomp
(
i_album_id
);
//case ML_ARTIST: return scomp( psz_artist );
//case ML_ARTIST_ID: return icomp( i_artist_id );
case
ML_COVER
:
return
scomp
(
psz_cover
);
case
ML_DURATION
:
return
icomp
(
i_duration
);
case
ML_EXTRA
:
return
scomp
(
psz_extra
);
case
ML_GENRE
:
return
scomp
(
psz_genre
);
case
ML_ID
:
return
icomp
(
i_id
);
case
ML_LAST_PLAYED
:
return
icomp
(
i_last_played
);
case
ML_ORIGINAL_TITLE
:
return
scomp
(
psz_orig_title
);
case
ML_PLAYED_COUNT
:
return
icomp
(
i_played_count
);
// case ML_ROLE: return 0;
case
ML_SCORE
:
return
icomp
(
i_score
);
case
ML_TITLE
:
return
scomp
(
psz_title
);
case
ML_TRACK_NUMBER
:
return
icomp
(
i_track_number
);
case
ML_TYPE
:
return
icomp
(
i_type
);
case
ML_URI
:
return
scomp
(
psz_uri
);
case
ML_VOTE
:
return
icomp
(
i_vote
);
case
ML_YEAR
:
return
icomp
(
i_year
);
default:
return
0
;
case
ML_ALBUM
:
scomp
(
psz_album
);
case
ML_ALBUM_ID
:
icomp
(
i_album_id
);
//case ML_ARTIST: scomp( psz_artist );
//case ML_ARTIST_ID: icomp( i_artist_id );
case
ML_COVER
:
scomp
(
psz_cover
);
case
ML_DURATION
:
icomp
(
i_duration
);
case
ML_EXTRA
:
scomp
(
psz_extra
);
case
ML_GENRE
:
scomp
(
psz_genre
);
case
ML_ID
:
icomp
(
i_id
);
case
ML_LAST_PLAYED
:
icomp
(
i_last_played
);
case
ML_ORIGINAL_TITLE
:
scomp
(
psz_orig_title
);
case
ML_PLAYED_COUNT
:
icomp
(
i_played_count
);
// case ML_ROLE: 0;
case
ML_SCORE
:
icomp
(
i_score
);
case
ML_TITLE
:
scomp
(
psz_title
);
case
ML_TRACK_NUMBER
:
icomp
(
i_track_number
);
case
ML_TYPE
:
icomp
(
i_type
);
case
ML_URI
:
scomp
(
psz_uri
);
case
ML_VOTE
:
icomp
(
i_vote
);
case
ML_YEAR
:
icomp
(
i_year
);
default:
break
;
}
# undef scomp
# undef icomp
vlc_mutex_unlock
(
&
a
->
lock
);
vlc_mutex_unlock
(
&
b
->
lock
);
return
i_ret
;
}
...
...
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