From: Yuuki Harano Date: Fri, 16 Oct 2020 18:47:03 +0000 (+0900) Subject: Don't use gtk_window_resize to resize offscreen window X-Git-Tag: emacs-29.0.90~3767 X-Git-Url: http://git.eshelyaron.com/gitweb/?a=commitdiff_plain;h=c1fbfb3fe04e3185fa64df2ed69cd97b0a6bbb40;p=emacs.git Don't use gtk_window_resize to resize offscreen window * src/xwidget.c (Fmake_xwidget): Use gtk_container_check_resize instead. (Fxwidget_resize): Use gtk_container_check_resize instead. ; Gtk+3 document says: ; > Applications should not use any API specific to GtkWindow ; > to operate on this object. It should be treated as a GtkBin ; > that has no parent widget. --- diff --git a/src/xwidget.c b/src/xwidget.c index c9fc706663b..893292cf5ae 100644 --- a/src/xwidget.c +++ b/src/xwidget.c @@ -122,8 +122,12 @@ Returns the newly constructed xwidget, or nil if construction fails. */) # endif xw->widgetwindow_osr = gtk_offscreen_window_new (); +#ifndef HAVE_PGTK gtk_window_resize (GTK_WINDOW (xw->widgetwindow_osr), xw->width, xw->height); +#else + gtk_container_check_resize (GTK_CONTAINER (xw->widgetwindow_osr)); +#endif if (EQ (xw->type, Qwebkit)) { @@ -966,8 +970,12 @@ DEFUN ("xwidget-resize", Fxwidget_resize, Sxwidget_resize, 3, 3, 0, #ifdef USE_GTK if (xw->widget_osr) { +#ifndef HAVE_PGTK gtk_window_resize (GTK_WINDOW (xw->widgetwindow_osr), xw->width, xw->height); +#else + gtk_container_check_resize (GTK_CONTAINER (xw->widgetwindow_osr)); +#endif gtk_container_resize_children (GTK_CONTAINER (xw->widgetwindow_osr)); gtk_widget_set_size_request (GTK_WIDGET (xw->widget_osr), xw->width, xw->height);