win32: Hack to make statusbar menus show up visible:

This commit is contained in:
Alexander Larsson 2011-11-02 16:11:54 +01:00
parent 65002208b9
commit 11e9c6f95f

View File

@ -136,6 +136,7 @@ struct _GtkStatusIconPrivate
#ifdef GDK_WINDOWING_WIN32
GtkWidget *dummy_widget;
NOTIFYICONDATAW nid;
gint taskbar_top;
gint last_click_x, last_click_y;
GtkOrientation orientation;
gchar *tooltip_text;
@ -919,6 +920,8 @@ gtk_status_icon_init (GtkStatusIcon *status_icon)
priv->orientation = GTK_ORIENTATION_VERTICAL;
else
priv->orientation = GTK_ORIENTATION_HORIZONTAL;
priv->taskbar_top = abd.rc.top;
}
priv->last_click_x = priv->last_click_y = 0;
@ -2513,6 +2516,7 @@ gtk_status_icon_position_menu (GtkMenu *menu,
#ifdef GDK_WINDOWING_WIN32
GtkStatusIcon *status_icon;
GtkStatusIconPrivate *priv;
GtkRequisition menu_req;
g_return_if_fail (GTK_IS_MENU (menu));
g_return_if_fail (GTK_IS_STATUS_ICON (user_data));
@ -2520,8 +2524,11 @@ gtk_status_icon_position_menu (GtkMenu *menu,
status_icon = GTK_STATUS_ICON (user_data);
priv = status_icon->priv;
gtk_widget_size_request (GTK_WIDGET (menu), &menu_req);
*x = priv->last_click_x;
*y = priv->last_click_y;
*y = priv->taskbar_top - menu_req.height;
*push_in = TRUE;
#endif
}