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
347834f0
Commit
347834f0
authored
Feb 10, 2009
by
Rémi Denis-Courmont
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Qt4 menu leaks
parent
14bdc015
Changes
2
Show whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
53 additions
and
31 deletions
+53
-31
modules/gui/qt4/menus.cpp
modules/gui/qt4/menus.cpp
+45
-27
modules/gui/qt4/menus.hpp
modules/gui/qt4/menus.hpp
+8
-4
No files found.
modules/gui/qt4/menus.cpp
View file @
347834f0
...
...
@@ -289,17 +289,17 @@ void QVLCMenu::createMenuBar( MainInterface *mi,
gives the QProcess::destroyed timeout issue on Cleanlooks style with
setDesktopAware set to false */
QMenuBar
*
bar
=
mi
->
menuBar
();
BAR_ADD
(
FileMenu
(
p_intf
),
qtr
(
"&Media"
)
);
BAR_ADD
(
FileMenu
(
p_intf
,
bar
),
qtr
(
"&Media"
)
);
BAR_DADD
(
AudioMenu
(
p_intf
,
NULL
),
qtr
(
"&Audio"
),
1
);
BAR_DADD
(
VideoMenu
(
p_intf
,
NULL
),
qtr
(
"&Video"
),
2
);
BAR_DADD
(
NavigMenu
(
p_intf
,
NULL
),
qtr
(
"P&layback"
),
3
);
BAR_DADD
(
AudioMenu
(
p_intf
,
bar
),
qtr
(
"&Audio"
),
1
);
BAR_DADD
(
VideoMenu
(
p_intf
,
bar
),
qtr
(
"&Video"
),
2
);
BAR_DADD
(
NavigMenu
(
p_intf
,
bar
),
qtr
(
"P&layback"
),
3
);
BAR_ADD
(
ToolsMenu
(
NULL
),
qtr
(
"&Tools"
)
);
BAR_ADD
(
ToolsMenu
(
bar
),
qtr
(
"&Tools"
)
);
BAR_ADD
(
ViewMenu
(
p_intf
,
NULL
,
mi
,
visual_selector_enabled
,
true
),
qtr
(
"V&iew"
)
);
BAR_ADD
(
HelpMenu
(
NULL
),
qtr
(
"&Help"
)
);
BAR_ADD
(
HelpMenu
(
bar
),
qtr
(
"&Help"
)
);
}
#undef BAR_ADD
#undef BAR_DADD
...
...
@@ -308,9 +308,9 @@ void QVLCMenu::createMenuBar( MainInterface *mi,
* Media ( File ) Menu
* Opening, streaming and quit
**/
QMenu
*
QVLCMenu
::
FileMenu
(
intf_thread_t
*
p_intf
)
QMenu
*
QVLCMenu
::
FileMenu
(
intf_thread_t
*
p_intf
,
QWidget
*
parent
)
{
QMenu
*
menu
=
new
QMenu
();
QMenu
*
menu
=
new
QMenu
(
parent
);
addDPStaticEntry
(
menu
,
qtr
(
"&Open File..."
),
":/file-asym"
,
SLOT
(
simpleOpenDialog
()
),
"Ctrl+O"
);
...
...
@@ -352,13 +352,8 @@ QMenu *QVLCMenu::FileMenu( intf_thread_t *p_intf )
}
/* Playlist/MediaLibrary Control */
QMenu
*
QVLCMenu
::
ToolsMenu
(
QMenu
*
parent
)
QMenu
*
QVLCMenu
::
ToolsMenu
(
QMenu
*
menu
)
{
QMenu
*
menu
;
if
(
parent
==
NULL
)
menu
=
new
QMenu
();
else
menu
=
parent
;
addDPStaticEntry
(
menu
,
qtr
(
I_MENU_EXT
),
":/settings"
,
SLOT
(
extendedDialog
()
),
"Ctrl+E"
);
...
...
@@ -388,6 +383,11 @@ QMenu *QVLCMenu::ToolsMenu( QMenu *parent )
return
menu
;
}
QMenu
*
QVLCMenu
::
ToolsMenu
(
QWidget
*
parent
)
{
return
ToolsMenu
(
new
QMenu
(
parent
)
);
}
/**
* View Menu
* This menu can be an interface menu but also a right click menu.
...
...
@@ -398,7 +398,11 @@ QMenu *QVLCMenu::ViewMenu( intf_thread_t *p_intf,
bool
visual_selector_enabled
,
bool
with_intf
)
{
QMenu
*
menu
=
new
QMenu
(
current
);
QMenu
*
menu
;
if
(
current
)
menu
=
new
QMenu
(
current
);
else
menu
=
new
QMenu
(
mi
);
QAction
*
act
;
if
(
mi
)
{
...
...
@@ -407,7 +411,7 @@ QMenu *QVLCMenu::ViewMenu( intf_thread_t *p_intf,
SLOT
(
togglePlaylist
()
),
qtr
(
"Ctrl+L"
)
);
act
->
setData
(
true
);
}
act
=
menu
->
addMenu
(
SDMenu
(
p_intf
)
);
act
=
menu
->
addMenu
(
SDMenu
(
p_intf
,
menu
)
);
act
->
setData
(
true
);
/*menu->addSeparator();
menu->addAction( qtr( "Undock from Interface" ), mi,
...
...
@@ -489,8 +493,6 @@ QMenu *QVLCMenu::AudioMenu( intf_thread_t *p_intf, QMenu * current )
aout_instance_t
*
p_aout
;
input_thread_t
*
p_input
;
if
(
!
current
)
current
=
new
QMenu
();
if
(
current
->
isEmpty
()
)
{
ACT_ADD
(
current
,
"visual"
,
qtr
(
"&Visualizations"
)
);
...
...
@@ -528,6 +530,11 @@ QMenu *QVLCMenu::AudioMenu( intf_thread_t *p_intf, QMenu * current )
return
Populate
(
p_intf
,
current
,
varnames
,
objects
);
}
QMenu
*
QVLCMenu
::
AudioMenu
(
intf_thread_t
*
p_intf
,
QWidget
*
parent
)
{
return
AudioMenu
(
p_intf
,
new
QMenu
(
parent
)
);
}
/**
* Main Video Menu
* Subtitles are part of Video.
...
...
@@ -539,8 +546,6 @@ QMenu *QVLCMenu::VideoMenu( intf_thread_t *p_intf, QMenu *current )
vector
<
vlc_object_t
*>
objects
;
vector
<
const
char
*>
varnames
;
if
(
!
current
)
current
=
new
QMenu
();
if
(
current
->
isEmpty
()
)
{
ACT_ADD
(
current
,
"video-es"
,
qtr
(
"Video &Track"
)
);
...
...
@@ -583,14 +588,17 @@ QMenu *QVLCMenu::VideoMenu( intf_thread_t *p_intf, QMenu *current )
return
Populate
(
p_intf
,
current
,
varnames
,
objects
);
}
QMenu
*
QVLCMenu
::
VideoMenu
(
intf_thread_t
*
p_intf
,
QWidget
*
parent
)
{
return
VideoMenu
(
p_intf
,
new
QMenu
(
parent
)
);
}
/**
* Navigation Menu
* For DVD, MP4, MOV and other chapter based format
**/
QMenu
*
QVLCMenu
::
NavigMenu
(
intf_thread_t
*
p_intf
,
QMenu
*
menu
)
{
if
(
!
menu
)
menu
=
new
QMenu
();
if
(
menu
->
isEmpty
()
)
{
addDPStaticEntry
(
menu
,
qtr
(
I_MENU_GOTOTIME
),
""
,
...
...
@@ -624,12 +632,17 @@ QMenu *QVLCMenu::NavigMenu( intf_thread_t *p_intf, QMenu *menu )
return
Populate
(
p_intf
,
menu
,
varnames
,
objects
);
}
QMenu
*
QVLCMenu
::
NavigMenu
(
intf_thread_t
*
p_intf
,
QWidget
*
parent
)
{
return
NavigMenu
(
p_intf
,
new
QMenu
(
parent
)
);
}
/**
* Service Discovery SubMenu
**/
QMenu
*
QVLCMenu
::
SDMenu
(
intf_thread_t
*
p_intf
)
QMenu
*
QVLCMenu
::
SDMenu
(
intf_thread_t
*
p_intf
,
QWidget
*
parent
)
{
QMenu
*
menu
=
new
QMenu
();
QMenu
*
menu
=
new
QMenu
(
parent
);
menu
->
setTitle
(
qtr
(
I_PL_SD
)
);
char
**
ppsz_longnames
;
char
**
ppsz_names
=
vlc_sd_GetNames
(
&
ppsz_longnames
);
...
...
@@ -661,12 +674,13 @@ QMenu *QVLCMenu::SDMenu( intf_thread_t *p_intf )
free
(
ppsz_longnames
);
return
menu
;
}
/**
* Help/About Menu
**/
QMenu
*
QVLCMenu
::
HelpMenu
(
Q
Menu
*
cur
rent
)
QMenu
*
QVLCMenu
::
HelpMenu
(
Q
Widget
*
pa
rent
)
{
QMenu
*
menu
=
new
QMenu
(
cur
rent
);
QMenu
*
menu
=
new
QMenu
(
pa
rent
);
addDPStaticEntry
(
menu
,
qtr
(
"&Help..."
)
,
":/help"
,
SLOT
(
helpDialog
()
),
"F1"
);
#ifdef UPDATE_CHECK
...
...
@@ -994,7 +1008,11 @@ QMenu * QVLCMenu::Populate( intf_thread_t *p_intf,
vector
<
vlc_object_t
*>
&
objects
)
{
QMenu
*
menu
=
current
;
if
(
!
menu
)
menu
=
new
QMenu
();
if
(
!
menu
)
{
msg_Warn
(
p_intf
,
"%s leaking a menu"
,
__func__
);
menu
=
new
QMenu
();
}
currentGroup
=
NULL
;
...
...
modules/gui/qt4/menus.hpp
View file @
347834f0
...
...
@@ -100,16 +100,20 @@ public:
private:
/* All main Menus */
static
QMenu
*
FileMenu
(
intf_thread_t
*
);
static
QMenu
*
SDMenu
(
intf_thread_t
*
);
static
QMenu
*
FileMenu
(
intf_thread_t
*
,
QWidget
*
);
static
QMenu
*
SDMenu
(
intf_thread_t
*
,
QWidget
*
);
static
QMenu
*
ToolsMenu
(
QMenu
*
);
static
QMenu
*
ToolsMenu
(
QWidget
*
);
static
QMenu
*
ViewMenu
(
intf_thread_t
*
,
QMenu
*
,
MainInterface
*
,
bool
,
bool
with
=
true
);
static
QMenu
*
NavigMenu
(
intf_thread_t
*
,
QMenu
*
);
static
QMenu
*
NavigMenu
(
intf_thread_t
*
,
QWidget
*
);
static
QMenu
*
VideoMenu
(
intf_thread_t
*
,
QMenu
*
);
static
QMenu
*
VideoMenu
(
intf_thread_t
*
,
QWidget
*
);
static
QMenu
*
AudioMenu
(
intf_thread_t
*
,
QMenu
*
);
static
QMenu
*
AudioMenu
(
intf_thread_t
*
,
QWidget
*
);
static
QMenu
*
InterfacesMenu
(
intf_thread_t
*
p_intf
,
QMenu
*
);
static
QMenu
*
HelpMenu
(
Q
Menu
*
);
static
QMenu
*
HelpMenu
(
Q
Widget
*
);
/* Popups Menus */
static
void
PopupMenuStaticEntries
(
QMenu
*
menu
);
...
...
@@ -147,7 +151,7 @@ public:
case
3
:
QVLCMenu
::
NavigMenu
(
p_intf
,
menu
);
break
;
case
4
:
QVLCMenu
::
InterfacesMenu
(
p_intf
,
menu
);
break
;
}
}
;
}
private:
int
id
;
QMenu
*
menu
;
...
...
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