diff --git a/ChangeLog b/ChangeLog index 6dd015e8d2..e28566c89f 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,12 @@ +2004-11-29 Matthias Clasen + + * gtk/gtkmenushell.c (gtk_menu_shell_button_release): Don't + do the popup-on-click handling for menubars. (#159931, + Søren Sandmann) + + * gtk/gtkmenuitem.c (gtk_real_menu_item_select): Don't + handle popup delay if the submenu is already mapped. + Mon Nov 29 16:56:33 2004 Manish Singh * gtk/gtkcellview.h: remove gtk_cell_view_set_cell_data() declaration. @@ -8,7 +17,7 @@ Mon Nov 29 16:56:33 2004 Manish Singh * gtk/gtkfilechooserdefault.c (trap_activate_cb): Don't handle Enter if we are in SELECT_FOLDER or CREATE_FOLDER actions. This - lets us navigate thei file system more easily. + lets us navigate the file system more easily. (gtk_file_chooser_default_should_respond): If we are in SELECT_FOLDER or CREATE_FOLDER modes, return TRUE if something is selected. diff --git a/ChangeLog.pre-2-10 b/ChangeLog.pre-2-10 index 6dd015e8d2..e28566c89f 100644 --- a/ChangeLog.pre-2-10 +++ b/ChangeLog.pre-2-10 @@ -1,3 +1,12 @@ +2004-11-29 Matthias Clasen + + * gtk/gtkmenushell.c (gtk_menu_shell_button_release): Don't + do the popup-on-click handling for menubars. (#159931, + Søren Sandmann) + + * gtk/gtkmenuitem.c (gtk_real_menu_item_select): Don't + handle popup delay if the submenu is already mapped. + Mon Nov 29 16:56:33 2004 Manish Singh * gtk/gtkcellview.h: remove gtk_cell_view_set_cell_data() declaration. @@ -8,7 +17,7 @@ Mon Nov 29 16:56:33 2004 Manish Singh * gtk/gtkfilechooserdefault.c (trap_activate_cb): Don't handle Enter if we are in SELECT_FOLDER or CREATE_FOLDER actions. This - lets us navigate thei file system more easily. + lets us navigate the file system more easily. (gtk_file_chooser_default_should_respond): If we are in SELECT_FOLDER or CREATE_FOLDER modes, return TRUE if something is selected. diff --git a/ChangeLog.pre-2-6 b/ChangeLog.pre-2-6 index 6dd015e8d2..e28566c89f 100644 --- a/ChangeLog.pre-2-6 +++ b/ChangeLog.pre-2-6 @@ -1,3 +1,12 @@ +2004-11-29 Matthias Clasen + + * gtk/gtkmenushell.c (gtk_menu_shell_button_release): Don't + do the popup-on-click handling for menubars. (#159931, + Søren Sandmann) + + * gtk/gtkmenuitem.c (gtk_real_menu_item_select): Don't + handle popup delay if the submenu is already mapped. + Mon Nov 29 16:56:33 2004 Manish Singh * gtk/gtkcellview.h: remove gtk_cell_view_set_cell_data() declaration. @@ -8,7 +17,7 @@ Mon Nov 29 16:56:33 2004 Manish Singh * gtk/gtkfilechooserdefault.c (trap_activate_cb): Don't handle Enter if we are in SELECT_FOLDER or CREATE_FOLDER actions. This - lets us navigate thei file system more easily. + lets us navigate the file system more easily. (gtk_file_chooser_default_should_respond): If we are in SELECT_FOLDER or CREATE_FOLDER modes, return TRUE if something is selected. diff --git a/ChangeLog.pre-2-8 b/ChangeLog.pre-2-8 index 6dd015e8d2..e28566c89f 100644 --- a/ChangeLog.pre-2-8 +++ b/ChangeLog.pre-2-8 @@ -1,3 +1,12 @@ +2004-11-29 Matthias Clasen + + * gtk/gtkmenushell.c (gtk_menu_shell_button_release): Don't + do the popup-on-click handling for menubars. (#159931, + Søren Sandmann) + + * gtk/gtkmenuitem.c (gtk_real_menu_item_select): Don't + handle popup delay if the submenu is already mapped. + Mon Nov 29 16:56:33 2004 Manish Singh * gtk/gtkcellview.h: remove gtk_cell_view_set_cell_data() declaration. @@ -8,7 +17,7 @@ Mon Nov 29 16:56:33 2004 Manish Singh * gtk/gtkfilechooserdefault.c (trap_activate_cb): Don't handle Enter if we are in SELECT_FOLDER or CREATE_FOLDER actions. This - lets us navigate thei file system more easily. + lets us navigate the file system more easily. (gtk_file_chooser_default_should_respond): If we are in SELECT_FOLDER or CREATE_FOLDER modes, return TRUE if something is selected. diff --git a/gtk/gtkmenuitem.c b/gtk/gtkmenuitem.c index b1f25ffedc..9cff14b5c8 100644 --- a/gtk/gtkmenuitem.c +++ b/gtk/gtkmenuitem.c @@ -838,13 +838,15 @@ gtk_real_menu_item_select (GtkItem *item) menu_item = GTK_MENU_ITEM (item); - if (menu_item->submenu) + if (menu_item->submenu && + !GTK_WIDGET_MAPPED (menu_item->submenu)) { gint popup_delay; if (menu_item->timer) { g_source_remove (menu_item->timer); + menu_item->timer = 0; popup_delay = 0; } else diff --git a/gtk/gtkmenushell.c b/gtk/gtkmenushell.c index 0a74078368..4e1a664e19 100644 --- a/gtk/gtkmenushell.c +++ b/gtk/gtkmenushell.c @@ -508,10 +508,15 @@ gtk_menu_shell_button_release (GtkWidget *widget, _gtk_menu_item_is_selectable (menu_item)) { if (GTK_MENU_ITEM (menu_item)->submenu == NULL) - gtk_menu_shell_activate_item (menu_shell, menu_item, TRUE); - else - gtk_menu_item_select (GTK_MENU_ITEM (menu_item)); - return TRUE; + { + gtk_menu_shell_activate_item (menu_shell, menu_item, TRUE); + return TRUE; + } + else if (GTK_MENU_SHELL_GET_CLASS (menu_shell)->submenu_placement != GTK_TOP_BOTTOM) + { + gtk_menu_item_select (GTK_MENU_ITEM (menu_item)); + return TRUE; + } } else if (menu_item && !_gtk_menu_item_is_selectable (menu_item) &&