1
Fork 0
mirror of git://git.sv.gnu.org/emacs.git synced 2026-03-15 03:11:54 -07:00

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.
This commit is contained in:
Yuuki Harano 2020-10-17 03:47:03 +09:00 committed by Jeff Walsh
parent d437aabe4d
commit c1fbfb3fe0

View file

@ -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);