Skip to content

Commit 2400143

Browse files
committed
patch 8.2.2626: GTK3: error when starting up and -geometry is given
Problem: GTK3: error when starting up and -geometry is given. (Dominique Pellé) Solution: Use another function to get the monitor if the window has not been created yet. (closes #7978)
1 parent af12586 commit 2400143

2 files changed

Lines changed: 15 additions & 5 deletions

File tree

src/gui_gtk_x11.c

Lines changed: 13 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -4168,9 +4168,17 @@ gui_gtk_get_screen_geom_of_win(
41684168
GdkRectangle geometry;
41694169
GdkWindow *win = gtk_widget_get_window(wid);
41704170
#if GTK_CHECK_VERSION(3,22,0)
4171-
GdkDisplay *dpy = gtk_widget_get_display(wid);
4172-
GdkMonitor *monitor = gdk_display_get_monitor_at_window(dpy, win);
4171+
GdkDisplay *dpy;
4172+
GdkMonitor *monitor;
41734173

4174+
if (wid != NULL && gtk_widget_get_realized(wid))
4175+
dpy = gtk_widget_get_display(wid);
4176+
else
4177+
dpy = gdk_display_get_default();
4178+
if (win != NULL)
4179+
monitor = gdk_display_get_monitor_at_window(dpy, win);
4180+
else
4181+
monitor = gdk_display_get_monitor_at_point(dpy, point_x, point_y);
41744182
gdk_monitor_get_geometry(monitor, &geometry);
41754183
#else
41764184
GdkScreen* screen;
@@ -4180,10 +4188,10 @@ gui_gtk_get_screen_geom_of_win(
41804188
screen = gtk_widget_get_screen(wid);
41814189
else
41824190
screen = gdk_screen_get_default();
4183-
if (win == NULL)
4184-
monitor = gdk_screen_get_monitor_at_point(screen, point_x, point_y);
4185-
else
4191+
if (win != NULL)
41864192
monitor = gdk_screen_get_monitor_at_window(screen, win);
4193+
else
4194+
monitor = gdk_screen_get_monitor_at_point(screen, point_x, point_y);
41874195
gdk_screen_get_monitor_geometry(screen, monitor, &geometry);
41884196
#endif
41894197
*screen_x = geometry.x;

src/version.c

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -750,6 +750,8 @@ static char *(features[]) =
750750

751751
static int included_patches[] =
752752
{ /* Add new patch number below this line */
753+
/**/
754+
2626,
753755
/**/
754756
2625,
755757
/**/

0 commit comments

Comments
 (0)