diff options
-rw-r--r-- | applets/clock/clock.c | 4 | ||||
-rw-r--r-- | applets/notification_area/status-notifier/sn-item.c | 11 | ||||
-rw-r--r-- | mate-panel/panel-multiscreen.c | 4 | ||||
-rw-r--r-- | mate-panel/xstuff.c | 12 |
4 files changed, 31 insertions, 0 deletions
diff --git a/applets/clock/clock.c b/applets/clock/clock.c index c765b7ef..f52ce88b 100644 --- a/applets/clock/clock.c +++ b/applets/clock/clock.c @@ -909,7 +909,11 @@ position_calendar_popup (ClockData *cd) n = gdk_screen_get_n_monitors (screen); #endif for (i = 0; i < n; i++) { +#if GTK_CHECK_VERSION (3, 22, 0) + gdk_monitor_get_geometry (gdk_display_get_monitor (display, i), &monitor); +#else gdk_screen_get_monitor_geometry (screen, i, &monitor); +#endif if (x >= monitor.x && x <= monitor.x + monitor.width && y >= monitor.y && y <= monitor.y + monitor.height) { found_monitor = TRUE; diff --git a/applets/notification_area/status-notifier/sn-item.c b/applets/notification_area/status-notifier/sn-item.c index 654bb291..87aeedf2 100644 --- a/applets/notification_area/status-notifier/sn-item.c +++ b/applets/notification_area/status-notifier/sn-item.c @@ -194,7 +194,12 @@ sn_item_popup_menu_position_func (GtkMenu *menu, GtkRequisition menu_req; GdkWindow *window; GdkScreen *screen; +#if GTK_CHECK_VERSION (3, 22, 0) + GdkMonitor *monitor_num; + GdkDisplay *display; +#else gint monitor_num; +#endif GdkRectangle monitor; gtk_widget_get_allocation (widget, &widget_alloc); @@ -207,8 +212,14 @@ sn_item_popup_menu_position_func (GtkMenu *menu, *y += widget_alloc.y; screen = gtk_widget_get_screen (widget); +#if GTK_CHECK_VERSION (3, 22, 0) + display = gdk_screen_get_display (screen); + monitor_num = gdk_display_get_monitor_at_point (display, *x, *y); + gdk_monitor_get_geometry (monitor_num, &monitor); +#else monitor_num = gdk_screen_get_monitor_at_point (screen, *x, *y); gdk_screen_get_monitor_geometry (screen, monitor_num, &monitor); +#endif /* put the menu on the left if we can't put it on the right */ if (*x + menu_req.width > monitor.x + monitor.width) diff --git a/mate-panel/panel-multiscreen.c b/mate-panel/panel-multiscreen.c index 49738270..d085413f 100644 --- a/mate-panel/panel-multiscreen.c +++ b/mate-panel/panel-multiscreen.c @@ -218,7 +218,11 @@ panel_multiscreen_get_gdk_monitors_for_screen (GdkScreen *screen, geometries = g_new (GdkRectangle, num_monitors); for (i = 0; i < num_monitors; i++) +#if GTK_CHECK_VERSION (3, 22, 0) + gdk_monitor_get_geometry (gdk_display_get_monitor (display, i), &(geometries[i])); +#else gdk_screen_get_monitor_geometry (screen, i, &(geometries[i])); +#endif *monitors_ret = num_monitors; *geometries_ret = geometries; diff --git a/mate-panel/xstuff.c b/mate-panel/xstuff.c index 931b8255..20f1dfe9 100644 --- a/mate-panel/xstuff.c +++ b/mate-panel/xstuff.c @@ -335,7 +335,12 @@ xstuff_zoom_animate (GtkWidget *widget, GdkScreen *gscreen; GdkRectangle rect, dest; GtkAllocation allocation; +#if GTK_CHECK_VERSION (3, 22, 0) + GdkMonitor *monitor; + GdkDisplay *display; +#else int monitor; +#endif if (opt_rect) rect = *opt_rect; @@ -358,9 +363,16 @@ xstuff_zoom_animate (GtkWidget *widget, rect.width, rect.height, pixbuf, orientation); else { +#if GTK_CHECK_VERSION (3, 22, 0) + display = gdk_screen_get_display (gscreen); + monitor = gdk_display_get_monitor_at_window (display, + gtk_widget_get_window (widget)); + gdk_monitor_get_geometry (monitor, &dest); +#else monitor = gdk_screen_get_monitor_at_window (gscreen, gtk_widget_get_window (widget)); gdk_screen_get_monitor_geometry (gscreen, monitor, &dest); +#endif draw_zoom_animation (gscreen, rect.x, rect.y, rect.width, rect.height, |