menubutton: set DROPDOWN_MENU hint on the menu toplevel

Restore the behavior introduced in
598163e526, which regressed in commit
5a3442bf9c.
This commit is contained in:
Cosimo Cecchi 2012-09-17 09:50:03 -04:00
parent 50e5323e51
commit e34467a375

View File

@ -249,6 +249,7 @@ menu_position_up_down_func (GtkMenu *menu,
{
GtkMenuButtonPrivate *priv = menu_button->priv;
GtkWidget *widget = GTK_WIDGET (menu_button);
GtkWidget *toplevel;
GtkRequisition menu_req;
GtkTextDirection direction;
GdkRectangle monitor;
@ -258,6 +259,16 @@ menu_position_up_down_func (GtkMenu *menu,
GtkAllocation allocation, arrow_allocation;
GtkAlign align;
/* In the common case the menu button is showing a dropdown menu, set the
* corresponding type hint on the toplevel, so the WM can omit the top side
* of the shadows.
*/
if (priv->arrow_type == GTK_ARROW_DOWN)
{
toplevel = gtk_widget_get_toplevel (GTK_WIDGET (priv->popup));
gtk_window_set_type_hint (GTK_WINDOW (toplevel), GDK_WINDOW_TYPE_HINT_DROPDOWN_MENU);
}
gtk_widget_get_preferred_size (GTK_WIDGET (priv->popup),
&menu_req, NULL);