diff options
| author | Yuuki Harano | 2020-10-17 03:47:03 +0900 |
|---|---|---|
| committer | Jeff Walsh | 2020-11-24 12:24:40 +1100 |
| commit | c1fbfb3fe04e3185fa64df2ed69cd97b0a6bbb40 (patch) | |
| tree | 9e07679f7629d92f31c002c63078e1d39110515f /src/xwidget.c | |
| parent | d437aabe4da94dd1a19c318a6c1f88c2df94ed1a (diff) | |
| download | emacs-c1fbfb3fe04e3185fa64df2ed69cd97b0a6bbb40.tar.gz emacs-c1fbfb3fe04e3185fa64df2ed69cd97b0a6bbb40.zip | |
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.
Diffstat (limited to 'src/xwidget.c')
| -rw-r--r-- | src/xwidget.c | 8 |
1 files changed, 8 insertions, 0 deletions
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. */) | |||
| 122 | # endif | 122 | # endif |
| 123 | 123 | ||
| 124 | xw->widgetwindow_osr = gtk_offscreen_window_new (); | 124 | xw->widgetwindow_osr = gtk_offscreen_window_new (); |
| 125 | #ifndef HAVE_PGTK | ||
| 125 | gtk_window_resize (GTK_WINDOW (xw->widgetwindow_osr), xw->width, | 126 | gtk_window_resize (GTK_WINDOW (xw->widgetwindow_osr), xw->width, |
| 126 | xw->height); | 127 | xw->height); |
| 128 | #else | ||
| 129 | gtk_container_check_resize (GTK_CONTAINER (xw->widgetwindow_osr)); | ||
| 130 | #endif | ||
| 127 | 131 | ||
| 128 | if (EQ (xw->type, Qwebkit)) | 132 | if (EQ (xw->type, Qwebkit)) |
| 129 | { | 133 | { |
| @@ -966,8 +970,12 @@ DEFUN ("xwidget-resize", Fxwidget_resize, Sxwidget_resize, 3, 3, 0, | |||
| 966 | #ifdef USE_GTK | 970 | #ifdef USE_GTK |
| 967 | if (xw->widget_osr) | 971 | if (xw->widget_osr) |
| 968 | { | 972 | { |
| 973 | #ifndef HAVE_PGTK | ||
| 969 | gtk_window_resize (GTK_WINDOW (xw->widgetwindow_osr), xw->width, | 974 | gtk_window_resize (GTK_WINDOW (xw->widgetwindow_osr), xw->width, |
| 970 | xw->height); | 975 | xw->height); |
| 976 | #else | ||
| 977 | gtk_container_check_resize (GTK_CONTAINER (xw->widgetwindow_osr)); | ||
| 978 | #endif | ||
| 971 | gtk_container_resize_children (GTK_CONTAINER (xw->widgetwindow_osr)); | 979 | gtk_container_resize_children (GTK_CONTAINER (xw->widgetwindow_osr)); |
| 972 | gtk_widget_set_size_request (GTK_WIDGET (xw->widget_osr), xw->width, | 980 | gtk_widget_set_size_request (GTK_WIDGET (xw->widget_osr), xw->width, |
| 973 | xw->height); | 981 | xw->height); |