Put the torn_off flag back into the GtkTearoffMenuItem struct, since it is
Sat May 8 22:43:11 2004 Matthias Clasen <maclas@gmx.de> * gtk/gtktearoffmenuitem.h: * gtk/gtktearoffmenuitem.c: Put the torn_off flag back into the GtkTearoffMenuItem struct, since it is used by the Gimp, and keep it synchronized with the tearoff_state property of the parent menu.
This commit is contained in:
		
				
					committed by
					
						
						Matthias Clasen
					
				
			
			
				
	
			
			
			
						parent
						
							805abff3cf
						
					
				
				
					commit
					504d169127
				
			@ -1,3 +1,11 @@
 | 
				
			|||||||
 | 
					Sat May  8 22:43:11 2004  Matthias Clasen  <maclas@gmx.de>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						* gtk/gtktearoffmenuitem.h: 
 | 
				
			||||||
 | 
						* gtk/gtktearoffmenuitem.c: Put the torn_off flag back
 | 
				
			||||||
 | 
						into the GtkTearoffMenuItem struct, since it is used
 | 
				
			||||||
 | 
						by the Gimp, and keep it synchronized with the 
 | 
				
			||||||
 | 
						tearoff_state property of the parent menu.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
2004-05-07  Matthias Clasen  <mclasen@redhat.com>
 | 
					2004-05-07  Matthias Clasen  <mclasen@redhat.com>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	* gtk/gtkbutton.c (gtk_button_size_allocate): Don't let the child
 | 
						* gtk/gtkbutton.c (gtk_button_size_allocate): Don't let the child
 | 
				
			||||||
 | 
				
			|||||||
@ -1,3 +1,11 @@
 | 
				
			|||||||
 | 
					Sat May  8 22:43:11 2004  Matthias Clasen  <maclas@gmx.de>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						* gtk/gtktearoffmenuitem.h: 
 | 
				
			||||||
 | 
						* gtk/gtktearoffmenuitem.c: Put the torn_off flag back
 | 
				
			||||||
 | 
						into the GtkTearoffMenuItem struct, since it is used
 | 
				
			||||||
 | 
						by the Gimp, and keep it synchronized with the 
 | 
				
			||||||
 | 
						tearoff_state property of the parent menu.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
2004-05-07  Matthias Clasen  <mclasen@redhat.com>
 | 
					2004-05-07  Matthias Clasen  <mclasen@redhat.com>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	* gtk/gtkbutton.c (gtk_button_size_allocate): Don't let the child
 | 
						* gtk/gtkbutton.c (gtk_button_size_allocate): Don't let the child
 | 
				
			||||||
 | 
				
			|||||||
@ -1,3 +1,11 @@
 | 
				
			|||||||
 | 
					Sat May  8 22:43:11 2004  Matthias Clasen  <maclas@gmx.de>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						* gtk/gtktearoffmenuitem.h: 
 | 
				
			||||||
 | 
						* gtk/gtktearoffmenuitem.c: Put the torn_off flag back
 | 
				
			||||||
 | 
						into the GtkTearoffMenuItem struct, since it is used
 | 
				
			||||||
 | 
						by the Gimp, and keep it synchronized with the 
 | 
				
			||||||
 | 
						tearoff_state property of the parent menu.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
2004-05-07  Matthias Clasen  <mclasen@redhat.com>
 | 
					2004-05-07  Matthias Clasen  <mclasen@redhat.com>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	* gtk/gtkbutton.c (gtk_button_size_allocate): Don't let the child
 | 
						* gtk/gtkbutton.c (gtk_button_size_allocate): Don't let the child
 | 
				
			||||||
 | 
				
			|||||||
@ -1,3 +1,11 @@
 | 
				
			|||||||
 | 
					Sat May  8 22:43:11 2004  Matthias Clasen  <maclas@gmx.de>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						* gtk/gtktearoffmenuitem.h: 
 | 
				
			||||||
 | 
						* gtk/gtktearoffmenuitem.c: Put the torn_off flag back
 | 
				
			||||||
 | 
						into the GtkTearoffMenuItem struct, since it is used
 | 
				
			||||||
 | 
						by the Gimp, and keep it synchronized with the 
 | 
				
			||||||
 | 
						tearoff_state property of the parent menu.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
2004-05-07  Matthias Clasen  <mclasen@redhat.com>
 | 
					2004-05-07  Matthias Clasen  <mclasen@redhat.com>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	* gtk/gtkbutton.c (gtk_button_size_allocate): Don't let the child
 | 
						* gtk/gtkbutton.c (gtk_button_size_allocate): Don't let the child
 | 
				
			||||||
 | 
				
			|||||||
@ -39,8 +39,8 @@ static void gtk_tearoff_menu_item_size_request (GtkWidget             *widget,
 | 
				
			|||||||
static gint gtk_tearoff_menu_item_expose     (GtkWidget             *widget,
 | 
					static gint gtk_tearoff_menu_item_expose     (GtkWidget             *widget,
 | 
				
			||||||
					      GdkEventExpose        *event);
 | 
										      GdkEventExpose        *event);
 | 
				
			||||||
static void gtk_tearoff_menu_item_activate   (GtkMenuItem           *menu_item);
 | 
					static void gtk_tearoff_menu_item_activate   (GtkMenuItem           *menu_item);
 | 
				
			||||||
static gint gtk_tearoff_menu_item_delete_cb  (GtkMenuItem           *menu_item,
 | 
					static void gtk_tearoff_menu_item_parent_set (GtkWidget             *widget,
 | 
				
			||||||
					      GdkEventAny           *event);
 | 
										      GtkWidget             *previous);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
GType
 | 
					GType
 | 
				
			||||||
gtk_tearoff_menu_item_get_type (void)
 | 
					gtk_tearoff_menu_item_get_type (void)
 | 
				
			||||||
@ -89,6 +89,7 @@ gtk_tearoff_menu_item_class_init (GtkTearoffMenuItemClass *klass)
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
  widget_class->expose_event = gtk_tearoff_menu_item_expose;
 | 
					  widget_class->expose_event = gtk_tearoff_menu_item_expose;
 | 
				
			||||||
  widget_class->size_request = gtk_tearoff_menu_item_size_request;
 | 
					  widget_class->size_request = gtk_tearoff_menu_item_size_request;
 | 
				
			||||||
 | 
					  widget_class->parent_set = gtk_tearoff_menu_item_parent_set;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  menu_item_class->activate = gtk_tearoff_menu_item_activate;
 | 
					  menu_item_class->activate = gtk_tearoff_menu_item_activate;
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
@ -96,6 +97,7 @@ gtk_tearoff_menu_item_class_init (GtkTearoffMenuItemClass *klass)
 | 
				
			|||||||
static void
 | 
					static void
 | 
				
			||||||
gtk_tearoff_menu_item_init (GtkTearoffMenuItem *tearoff_menu_item)
 | 
					gtk_tearoff_menu_item_init (GtkTearoffMenuItem *tearoff_menu_item)
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
 | 
					  tearoff_menu_item->torn_off = FALSE;
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
static void
 | 
					static void
 | 
				
			||||||
@ -241,8 +243,6 @@ gtk_tearoff_menu_item_expose (GtkWidget      *widget,
 | 
				
			|||||||
static void
 | 
					static void
 | 
				
			||||||
gtk_tearoff_menu_item_activate (GtkMenuItem *menu_item)
 | 
					gtk_tearoff_menu_item_activate (GtkMenuItem *menu_item)
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
  GtkTearoffMenuItem *tearoff_menu_item = GTK_TEAROFF_MENU_ITEM (menu_item);
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
  if (GTK_IS_MENU (GTK_WIDGET (menu_item)->parent))
 | 
					  if (GTK_IS_MENU (GTK_WIDGET (menu_item)->parent))
 | 
				
			||||||
    {
 | 
					    {
 | 
				
			||||||
      GtkMenu *menu = GTK_MENU (GTK_WIDGET (menu_item)->parent);
 | 
					      GtkMenu *menu = GTK_MENU (GTK_WIDGET (menu_item)->parent);
 | 
				
			||||||
@ -252,5 +252,32 @@ gtk_tearoff_menu_item_activate (GtkMenuItem *menu_item)
 | 
				
			|||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  gtk_widget_queue_resize (GTK_WIDGET (menu_item));
 | 
					  gtk_widget_queue_resize (GTK_WIDGET (menu_item));
 | 
				
			||||||
 }
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					static void
 | 
				
			||||||
 | 
					tearoff_state_changed (GtkMenu            *menu,
 | 
				
			||||||
 | 
							       GtkTearoffMenuItem *tearoff_menu_item)
 | 
				
			||||||
 | 
					{
 | 
				
			||||||
 | 
					  tearoff_menu_item->torn_off = gtk_menu_get_tearoff_state (menu);
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					static void
 | 
				
			||||||
 | 
					gtk_tearoff_menu_item_parent_set (GtkWidget *widget,
 | 
				
			||||||
 | 
									  GtkWidget *previous)
 | 
				
			||||||
 | 
					{
 | 
				
			||||||
 | 
					  GtkTearoffMenuItem *tearoff_menu_item = GTK_TEAROFF_MENU_ITEM (widget);
 | 
				
			||||||
 | 
					  GtkMenu *menu = GTK_IS_MENU (widget->parent) ? GTK_MENU (widget->parent) : NULL;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  if (previous)
 | 
				
			||||||
 | 
					    g_signal_handlers_disconnect_by_func (previous, 
 | 
				
			||||||
 | 
										  tearoff_state_changed, 
 | 
				
			||||||
 | 
										  tearoff_menu_item);
 | 
				
			||||||
 | 
					  
 | 
				
			||||||
 | 
					  if (menu)
 | 
				
			||||||
 | 
					    {
 | 
				
			||||||
 | 
					      tearoff_menu_item->torn_off = gtk_menu_get_tearoff_state (menu);
 | 
				
			||||||
 | 
					      g_signal_connect (menu, "notify::tearoff-state", 
 | 
				
			||||||
 | 
								G_CALLBACK (tearoff_state_changed), 
 | 
				
			||||||
 | 
								tearoff_menu_item);
 | 
				
			||||||
 | 
					    }  
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
				
			|||||||
@ -52,7 +52,7 @@ struct _GtkTearoffMenuItem
 | 
				
			|||||||
{
 | 
					{
 | 
				
			||||||
  GtkMenuItem menu_item;
 | 
					  GtkMenuItem menu_item;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  guint _gtk_reserved : 1;
 | 
					  guint torn_off : 1;
 | 
				
			||||||
};
 | 
					};
 | 
				
			||||||
 | 
					
 | 
				
			||||||
struct _GtkTearoffMenuItemClass
 | 
					struct _GtkTearoffMenuItemClass
 | 
				
			||||||
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user