37 lines
		
	
	
		
			1.2 KiB
		
	
	
	
		
			Diff
		
	
	
	
	
	
			
		
		
	
	
			37 lines
		
	
	
		
			1.2 KiB
		
	
	
	
		
			Diff
		
	
	
	
	
	
| From 38d1999f7b292993f8b5b7b3ff156e8c4f624552 Mon Sep 17 00:00:00 2001
 | |
| From: Benjamin Otte <otte@redhat.com>
 | |
| Date: Wed, 19 Mar 2014 13:23:38 +0100
 | |
| Subject: [PATCH] container: guard container variable by reffing it
 | |
| 
 | |
| vte destroys the container during removal of a child. Don't crash in
 | |
| that case due to recent a11y refactoring.
 | |
| 
 | |
| https://bugzilla.gnome.org/show_bug.cgi?id=726369
 | |
| ---
 | |
|  gtk/gtkcontainer.c | 2 ++
 | |
|  1 file changed, 2 insertions(+)
 | |
| 
 | |
| diff --git a/gtk/gtkcontainer.c b/gtk/gtkcontainer.c
 | |
| index 1a99de3..389e654 100644
 | |
| --- a/gtk/gtkcontainer.c
 | |
| +++ b/gtk/gtkcontainer.c
 | |
| @@ -1584,6 +1584,7 @@ gtk_container_remove (GtkContainer *container,
 | |
|    g_return_if_fail (GTK_IS_WIDGET (widget));
 | |
|    g_return_if_fail (gtk_widget_get_parent (widget) == GTK_WIDGET (container) || GTK_IS_ASSISTANT (container) || GTK_IS_ACTION_BAR (container));
 | |
|  
 | |
| +  g_object_ref (container);
 | |
|    g_object_ref (widget);
 | |
|  
 | |
|    g_signal_emit (container, container_signals[REMOVE], 0, widget);
 | |
| @@ -1591,6 +1592,7 @@ gtk_container_remove (GtkContainer *container,
 | |
|    _gtk_container_accessible_remove (GTK_WIDGET (container), widget);
 | |
|  
 | |
|    g_object_unref (widget);
 | |
| +  g_object_unref (container);
 | |
|  }
 | |
|  
 | |
|  void
 | |
| -- 
 | |
| 1.9.0
 | |
| 
 |