]> granicus.if.org Git - vim/commitdiff
patch 8.0.1084: GTK build has compiler warnings v8.0.1084
authorBram Moolenaar <Bram@vim.org>
Sat, 9 Sep 2017 16:45:26 +0000 (18:45 +0200)
committerBram Moolenaar <Bram@vim.org>
Sat, 9 Sep 2017 16:45:26 +0000 (18:45 +0200)
Problem:    GTK build has compiler warnings. (Christian Brabandt)
Solution:   Get screen size with a different function. (Ken Takata, Yasuhiro
            Matsumoto)

src/gui_beval.c
src/gui_gtk_x11.c
src/mbyte.c
src/proto/gui_gtk_x11.pro
src/version.c

index abff1b0916dee70d61ccd916146544b8b5cf1ee5..61ff2fc79752bef4269046d93c06d02690232598 100644 (file)
@@ -1177,23 +1177,15 @@ drawBalloon(BalloonEval *beval)
        int             x_offset = EVAL_OFFSET_X;
        int             y_offset = EVAL_OFFSET_Y;
        PangoLayout     *layout;
-# 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
+
+# if !GTK_CHECK_VERSION(3,22,2)
        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
+       gui_gtk_get_screen_size_of_win(beval->balloonShell,
+                                                        &screen_w, &screen_h);
 # if !GTK_CHECK_VERSION(3,0,0)
        gtk_widget_ensure_style(beval->balloonShell);
        gtk_widget_ensure_style(beval->balloonLabel);
index 361f16c65917abf42065bc9b475df8fd9550a5f3..51098654967d7087218e6603e86fda7ec973683e 100644 (file)
@@ -4941,6 +4941,29 @@ gui_mch_set_shellsize(int width, int height,
     gui_mch_update();
 }
 
+    void
+gui_gtk_get_screen_size_of_win(GtkWidget *win, int *width, int *height)
+{
+#if GTK_CHECK_VERSION(3,22,0)
+    GdkDisplay *dpy = gtk_widget_get_display(win);
+    GdkWindow *win = gtk_widget_get_window(win);
+    GdkMonitor *monitor = gdk_display_get_monitor_at_window(dpy, win);
+    GdkRectangle geometry;
+
+    gdk_monitor_get_geometry(monitor, &geometry);
+    *width = geometry.width;
+    *height = geometry.height;
+#else
+    GdkScreen* screen;
+
+    if (win != NULL && gtk_widget_has_screen(win))
+       screen = gtk_widget_get_screen(win);
+    else
+       screen = gdk_screen_get_default();
+    *width = gdk_screen_get_width(screen);
+    *height = gdk_screen_get_height(screen);
+#endif
+}
 
 /*
  * The screen size is used to make sure the initial window doesn't get bigger
@@ -4950,30 +4973,11 @@ gui_mch_set_shellsize(int width, int height,
     void
 gui_mch_get_screen_dimensions(int *screen_w, int *screen_h)
 {
-#if GTK_CHECK_VERSION(3,22,2)
-    GdkRectangle rect;
-    GdkMonitor * const mon = gdk_display_get_monitor_at_window(
-           gtk_widget_get_display(gui.mainwin),
-           gtk_widget_get_window(gui.mainwin));
-    gdk_monitor_get_geometry(mon, &rect);
-
-    *screen_w = rect.width;
-    /* Subtract 'guiheadroom' from the height to allow some room for the
-     * window manager (task list and window title bar). */
-    *screen_h = rect.height - p_ghr;
-#else
-    GdkScreen* screen;
+    gui_gtk_get_screen_size_of_win(gui.mainwin, screen_w, screen_h);
 
-    if (gui.mainwin != NULL && gtk_widget_has_screen(gui.mainwin))
-       screen = gtk_widget_get_screen(gui.mainwin);
-    else
-       screen = gdk_screen_get_default();
-
-    *screen_w = gdk_screen_get_width(screen);
     /* Subtract 'guiheadroom' from the height to allow some room for the
      * window manager (task list and window title bar). */
-    *screen_h = gdk_screen_get_height(screen) - p_ghr;
-#endif
+    *screen_h -= p_ghr;
 
     /*
      * FIXME: dirty trick: Because the gui_get_base_height() doesn't include
index f279bdef78d3983acf0223c29f21d5283603378b..4df23972824e819f1b5e040826facdb402bd08cc 100644 (file)
@@ -4871,8 +4871,7 @@ im_preedit_window_set_position(void)
     if (preedit_window == NULL)
        return;
 
-    sw = gdk_screen_get_width(gtk_widget_get_screen(preedit_window));
-    sh = gdk_screen_get_height(gtk_widget_get_screen(preedit_window));
+    gui_gtk_get_screen_size_of_win(preedit_window, &sw, &sh);
 #if GTK_CHECK_VERSION(3,0,0)
     gdk_window_get_origin(gtk_widget_get_window(gui.drawarea), &x, &y);
 #else
index aaf710c172164dd0df295bbe4753bcb335d67bac..51546ae9ef76a4c2cc09d162c331351c7dbc61be 100644 (file)
@@ -25,6 +25,7 @@ int gui_mch_maximized(void);
 void gui_mch_unmaximize(void);
 void gui_mch_newfont(void);
 void gui_mch_set_shellsize(int width, int height, int min_width, int min_height, int base_width, int base_height, int direction);
+void gui_gtk_get_screen_size_of_win(GtkWidget *win, int *width, int *height);
 void gui_mch_get_screen_dimensions(int *screen_w, int *screen_h);
 void gui_mch_settitle(char_u *title, char_u *icon);
 void gui_mch_enable_menu(int showit);
index 8c610b71e07e38b246e79fa013cd406aaca3aacc..acf6e29d8d70a2e7409f1cf12697b9c7be2c144f 100644 (file)
@@ -769,6 +769,8 @@ static char *(features[]) =
 
 static int included_patches[] =
 {   /* Add new patch number below this line */
+/**/
+    1084,
 /**/
     1083,
 /**/