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
a6817bec
Commit
a6817bec
authored
Jul 07, 2010
by
Rémi Denis-Courmont
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Qt4: fix opening directory with special characters
parent
1644d683
Changes
1
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
25 additions
and
13 deletions
+25
-13
modules/gui/qt4/dialogs_provider.cpp
modules/gui/qt4/dialogs_provider.cpp
+25
-13
No files found.
modules/gui/qt4/dialogs_provider.cpp
View file @
a6817bec
...
...
@@ -497,22 +497,34 @@ static void openDirectory( intf_thread_t *p_intf, bool pl, bool go )
{
QString
dir
=
QFileDialog
::
getExistingDirectory
(
NULL
,
qtr
(
I_OP_DIR_WINTITLE
),
p_intf
->
p_sys
->
filepath
);
if
(
!
dir
.
isEmpty
()
)
if
(
dir
.
isEmpty
()
)
return
;
QString
mrl
;
if
(
dir
.
endsWith
(
"/VIDEO_TS"
,
Qt
::
CaseInsensitive
)
)
mrl
=
qfu
(
"dvd://"
)
+
toNativeSeparators
(
dir
);
else
{
QString
mrl
=
(
dir
.
endsWith
(
"VIDEO_TS"
,
Qt
::
CaseInsensitive
)
?
"dvd://"
:
"directory://"
)
+
toNativeSeparators
(
dir
);
input_item_t
*
p_input
=
input_item_New
(
THEPL
,
qtu
(
mrl
),
NULL
);
char
*
uri
=
make_URI
(
qtu
(
dir
),
"directory"
);
if
(
unlikely
(
uri
==
NULL
)
)
return
;
mrl
=
qfu
(
uri
);
free
(
uri
);
}
/* FIXME: playlist_AddInput() can fail */
playlist_AddInput
(
THEPL
,
p_input
,
go
?
(
PLAYLIST_APPEND
|
PLAYLIST_GO
)
:
PLAYLIST_APPEND
,
input_item_t
*
p_input
=
input_item_New
(
THEPL
,
qtu
(
mrl
),
NULL
);
if
(
unlikely
(
p_input
==
NULL
)
)
return
;
/* FIXME: playlist_AddInput() can fail */
playlist_AddInput
(
THEPL
,
p_input
,
go
?
(
PLAYLIST_APPEND
|
PLAYLIST_GO
)
:
PLAYLIST_APPEND
,
PLAYLIST_END
,
pl
,
pl_Unlocked
);
RecentsMRL
::
getInstance
(
p_intf
)
->
addRecent
(
mrl
);
if
(
!
go
)
input_Read
(
THEPL
,
p_input
);
vlc_gc_decref
(
p_input
);
}
RecentsMRL
::
getInstance
(
p_intf
)
->
addRecent
(
mrl
);
if
(
!
go
)
input_Read
(
THEPL
,
p_input
);
vlc_gc_decref
(
p_input
);
}
void
DialogsProvider
::
PLOpenDir
()
...
...
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