[vlc-devel] RE : [Re:] [vlc-commits] commit: Qt: delete unneeded MenuItemData (Jakob Leben )
brezhoneg1
brezhoneg1 at yahoo.fr
Sat Apr 3 13:26:31 CEST 2010
>
> >Qt: delete unneeded MenuItemData (Jakob Leben
> >eacddb63e8a5bda42395ee79b5b27db6408] | committer: Jakob Leben
> >
> >Qt: delete unneeded MenuItemData
> >
> >>
> http://git.videolan.org/gitweb.cgi/vlc.git/?>
a=commit;h=193e6eacddb63e
> >> 8a5bda42395ee79b5b27db6408
> >---
> >
> > modules/gui/qt4/menus.cpp | 5 +++--
> > 1 files changed, 3 insertions(+), 2 deletions(-)
> >
> >diff --git a/modules/gui/qt4/menus.cpp b/modules/gui/qt4/menus.cpp
> >index 51e982f..b0f4264 100644
> >--- a/modules/gui/qt4/menus.cpp
> >+++ b/modules/gui/qt4/menus.cpp
> >@@ -1456,8 +1456,9 @@ void QVLCMenu::CreateAndConnect( QMenu *menu,
> >const char *psz_var,
> >
> > action->setChecked( checked );
> >
> >- MenuItemData *itemData = new MenuItemData(
> THEDP->menusMapper, p_obj, i_val_type,
> >- val, psz_var );
> >+ MenuItemData *itemData = qFindChild<MenuItemData*>(
> action, QString() );
> >+ delete itemData;
> >+ itemData = new MenuItemData( action, p_obj, i_val_type, val,
> >+ psz_var );
> >
> > /* remove previous signal-slot connection(s) if any */
> > action->disconnect( );
>
>
> This patch was singled out as the one causing a regression
> for skins2 (a user of qt4 menus), namely skins2 yet again
> crashing at exit on both win32 and Linux.
>
> When using qFindChild, are we sure there is a unique direct
> child for an action ? Technically, there could be multiple
> ones, in which case the one being deleted
> is may still be addressed elsewhere. (qt4 doc seems to say
> it is undefined in this case)
>
> As a matter of fact, just reverting this patch does solve the problem.
>
> Was this patch correcting a specific issue or just intended
> as a cosmetic ?
>
> Regards
> Erwan10
Edit: the qt4 interface has got the very same problem
- start vlc -I qt
- exit via the popupmenu (rightclick on mouse)
vlc then crashes.
More information about the vlc-devel
mailing list