summaryrefslogtreecommitdiffstats
path: root/src/gui_beval.c
diff options
context:
space:
mode:
authorBram Moolenaar <Bram@vim.org>2016-11-17 19:11:55 +0100
committerBram Moolenaar <Bram@vim.org>2016-11-17 19:11:55 +0100
commita859f04b4db651860c07db3587f29906517c552b (patch)
treeb410aebdda859288f66a5ad28a37a15918d4140c /src/gui_beval.c
parentcc28e2d05d05552d8b72a520be8a193f3d9822d4 (diff)
patch 8.0.0089v8.0.0089
Problem: Various problems with GTK 3.22.2. Solution: Fix the problems, add #ifdefs. (Kazunobu Kuriyama)
Diffstat (limited to 'src/gui_beval.c')
-rw-r--r--src/gui_beval.c11
1 files changed, 11 insertions, 0 deletions
diff --git a/src/gui_beval.c b/src/gui_beval.c
index 8569f60127..dd619450e5 100644
--- a/src/gui_beval.c
+++ b/src/gui_beval.c
@@ -1178,12 +1178,23 @@ drawBalloon(BalloonEval *beval)
int y_offset = EVAL_OFFSET_Y;
PangoLayout *layout;
# ifdef HAVE_GTK_MULTIHEAD
+# if GTK_CHECK_VERSION(3,22,2)
+ GdkRectangle rect;
+ GdkMonitor * const mon = gdk_display_get_monitor_at_window(
+ gtk_widget_get_display(beval->balloonShell),
+ gtk_widget_get_window(beval->balloonShell));
+ gdk_monitor_get_geometry(mon, &rect);
+
+ screen_w = rect.width;
+ screen_h = rect.height;
+# else
GdkScreen *screen;
screen = gtk_widget_get_screen(beval->target);
gtk_window_set_screen(GTK_WINDOW(beval->balloonShell), screen);
screen_w = gdk_screen_get_width(screen);
screen_h = gdk_screen_get_height(screen);
+# endif
# else
screen_w = gdk_screen_width();
screen_h = gdk_screen_height();