diff options
author | Alexander Larsson <alexl@redhat.com> | 2011-11-02 16:11:54 +0100 |
---|---|---|
committer | Alexander Larsson <alexl@redhat.com> | 2011-11-10 17:41:11 +0100 |
commit | 11e9c6f95fe301c2d5c8efa2b2dd2e6b7089618f (patch) | |
tree | 640546a02d1534267fbeebadeab9a81138f492d0 /gtk/gtkstatusicon.c | |
parent | 65002208b990bded0cdb0469f9422471e0b4de27 (diff) | |
download | gtk+-11e9c6f95fe301c2d5c8efa2b2dd2e6b7089618f.tar.gz |
win32: Hack to make statusbar menus show up visible:
Diffstat (limited to 'gtk/gtkstatusicon.c')
-rw-r--r-- | gtk/gtkstatusicon.c | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/gtk/gtkstatusicon.c b/gtk/gtkstatusicon.c index 4f4dfb86aa..d870560472 100644 --- a/gtk/gtkstatusicon.c +++ b/gtk/gtkstatusicon.c @@ -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 } |