From 232a1e5836bf9394b93b586788811f1b3d1a26ab Mon Sep 17 00:00:00 2001 From: Ted Gould Date: Mon, 19 Sep 2011 13:07:27 -0500 Subject: Adding in warnings to protect watch_submenu --- libdbusmenu-gtk/parser.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/libdbusmenu-gtk/parser.c b/libdbusmenu-gtk/parser.c index 3243c81..e988c62 100644 --- a/libdbusmenu-gtk/parser.c +++ b/libdbusmenu-gtk/parser.c @@ -283,6 +283,9 @@ toggle_widget_visibility (GtkWidget * widget) static void watch_submenu(DbusmenuMenuitem * mi, GtkWidget * menu) { + g_return_if_fail(DBUSMENU_IS_MENUITEM(mi)); + g_return_if_fail(GTK_IS_MENU_SHELL(menu)); + ParserData *pdata = (ParserData *)g_object_get_data(G_OBJECT(mi), PARSER_DATA); pdata->shell = menu; -- cgit v1.2.3 From 0b5f7ed8fcaee4b32db7a1deed1b65ff77688551 Mon Sep 17 00:00:00 2001 From: Ted Gould Date: Mon, 19 Sep 2011 13:13:49 -0500 Subject: Making sure to sink the reference before parsing it. --- tests/test-gtk-parser.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/tests/test-gtk-parser.c b/tests/test-gtk-parser.c index 87b0a7f..afd6194 100644 --- a/tests/test-gtk-parser.c +++ b/tests/test-gtk-parser.c @@ -28,6 +28,8 @@ test_parser_runs (void) { GtkWidget * gmi = gtk_menu_item_new_with_label("Test Item"); g_assert(gmi != NULL); + g_object_ref_sink(gmi); + DbusmenuMenuitem * mi = dbusmenu_gtk_parse_menu_structure(gmi); g_assert(mi != NULL); -- cgit v1.2.3