Don't unnecessarily call gtk_menu_position(), since that function has

2004-11-05  Matthias Clasen  <mclasen@redhat.com>

	* gtk/gtkmenu.c (menu_change_screen): Don't unnecessarily
	call gtk_menu_position(), since that function has issues
	when called on a menu whose parent is unrealized.  (#157354,
	Adam Hooper)
This commit is contained in:
Matthias Clasen 2004-11-05 15:58:36 +00:00 committed by Matthias Clasen
parent 6543c33a68
commit f7cc8cbb77
5 changed files with 27 additions and 1 deletions

View File

@ -1,5 +1,10 @@
2004-11-05 Matthias Clasen <mclasen@redhat.com>
* gtk/gtkmenu.c (menu_change_screen): Don't unnecessarily
call gtk_menu_position(), since that function has issues
when called on a menu whose parent is unrealized. (#157354,
Adam Hooper)
* gtk/gtkmain.c: Document new functions.
2004-11-04 Matthias Clasen <mclasen@redhat.com>

View File

@ -1,5 +1,10 @@
2004-11-05 Matthias Clasen <mclasen@redhat.com>
* gtk/gtkmenu.c (menu_change_screen): Don't unnecessarily
call gtk_menu_position(), since that function has issues
when called on a menu whose parent is unrealized. (#157354,
Adam Hooper)
* gtk/gtkmain.c: Document new functions.
2004-11-04 Matthias Clasen <mclasen@redhat.com>

View File

@ -1,5 +1,10 @@
2004-11-05 Matthias Clasen <mclasen@redhat.com>
* gtk/gtkmenu.c (menu_change_screen): Don't unnecessarily
call gtk_menu_position(), since that function has issues
when called on a menu whose parent is unrealized. (#157354,
Adam Hooper)
* gtk/gtkmain.c: Document new functions.
2004-11-04 Matthias Clasen <mclasen@redhat.com>

View File

@ -1,5 +1,10 @@
2004-11-05 Matthias Clasen <mclasen@redhat.com>
* gtk/gtkmenu.c (menu_change_screen): Don't unnecessarily
call gtk_menu_position(), since that function has issues
when called on a menu whose parent is unrealized. (#157354,
Adam Hooper)
* gtk/gtkmain.c: Document new functions.
2004-11-04 Matthias Clasen <mclasen@redhat.com>

View File

@ -980,6 +980,12 @@ menu_change_screen (GtkMenu *menu,
{
GtkMenuPrivate *private = gtk_menu_get_private (menu);
if (gtk_widget_has_screen (menu))
{
if (new_screen == gtk_widget_get_screen (menu))
return;
}
if (menu->torn_off)
{
gtk_window_set_screen (GTK_WINDOW (menu->tearoff_window), new_screen);
@ -1705,7 +1711,7 @@ gtk_menu_set_tearoff_hints (GtkMenu *menu,
geometry_hints.max_width = width;
geometry_hints.min_height = 0;
geometry_hints.max_height = GTK_WIDGET (menu)->requisition.height;
geometry_hints.max_height = GTK_WIDGET (menu)->requisition.height + 10;
gtk_window_set_geometry_hints (GTK_WINDOW (menu->tearoff_window),
NULL,