vcl/unx/gtk/window/gtksalmenu.cxx | 18 ++++++++++++++++-- 1 file changed, 16 insertions(+), 2 deletions(-)
New commits: commit d150dac1c32e89df4176d417d12a03fbbf1972d4 Author: Matthew J. Francis <mjay.fran...@gmail.com> Date: Tue Sep 23 20:26:38 2014 +0800 Fix memory leaks Change-Id: I7cd727657a9e426a43f72d1c5b843e581cfe8c5d Reviewed-on: https://gerrit.libreoffice.org/11608 Reviewed-by: Caolán McNamara <caol...@redhat.com> Tested-by: Caolán McNamara <caol...@redhat.com> diff --git a/vcl/unx/gtk/window/gtksalmenu.cxx b/vcl/unx/gtk/window/gtksalmenu.cxx index 6622545..7a56ad6 100644 --- a/vcl/unx/gtk/window/gtksalmenu.cxx +++ b/vcl/unx/gtk/window/gtksalmenu.cxx @@ -215,7 +215,11 @@ gint CompareStr( gpointer str1, gpointer str2 ) void RemoveUnusedCommands( GLOActionGroup* pActionGroup, GList* pOldCommandList, GList* pNewCommandList ) { if ( pActionGroup == NULL || pOldCommandList == NULL ) + { + g_list_free_full( pOldCommandList, g_free ); + g_list_free_full( pNewCommandList, g_free ); return; + } while ( pNewCommandList != NULL ) { @@ -570,8 +574,17 @@ void GtkSalMenu::NativeCheckItem( unsigned nSection, unsigned nItemPos, MenuItem pCheckValue = g_variant_new_boolean( bCheck ); } - if ( pCheckValue != NULL && ( pCurrentState == NULL || g_variant_equal( pCurrentState, pCheckValue ) == FALSE ) ) - g_action_group_change_action_state( mpActionGroup, aCommand, pCheckValue ); + if ( pCheckValue != NULL ) + { + if ( pCurrentState == NULL || g_variant_equal( pCurrentState, pCheckValue ) == FALSE ) + { + g_action_group_change_action_state( mpActionGroup, aCommand, pCheckValue ); + } + else + { + g_variant_unref (pCheckValue); + } + } if ( pCurrentState != NULL ) g_variant_unref( pCurrentState ); @@ -629,6 +642,7 @@ void GtkSalMenu::NativeSetAccelerator( unsigned nSection, unsigned nItemPos, con g_lo_menu_set_accelerator_to_item_in_section ( G_LO_MENU( mpMenuModel ), nSection, nItemPos, aAccelerator ); g_free( aAccelerator ); + g_free( aCurrentAccel ); } void GtkSalMenu::NativeSetItemCommand( unsigned nSection,
_______________________________________________ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/libreoffice-commits