GNU bug report logs - #38497
27.0.50; Frame is not rendered when frame-resize-pixelwise it 't

Previous Next

Package: emacs;

Reported by: 'Ihor Radchenko' <yantar92 <at> gmail.com>

Date: Thu, 5 Dec 2019 07:11:02 UTC

Severity: normal

Found in version 27.0.50

Done: YAMAMOTO Mitsuharu <mituharu <at> math.s.chiba-u.ac.jp>

Bug is archived. No further changes may be made.

Full log


View this message in rfc822 format

From: Ihor Radchenko <yantar92 <at> gmail.com>
To: martin rudalics <rudalics <at> gmx.at>, 38497 <at> debbugs.gnu.org
Subject: bug#38497: 27.0.50; Frame is not rendered when frame-resize-pixelwise it 't
Date: Sat, 07 Dec 2019 21:35:19 +0800
[Message part 1 (text/plain, inline)]
> ... Couldy you try in
> widget.c and xterm.c to selectively make frame_resize_pixelwise have
> no effect, so we could possibly locate the direct source of the
> problem?  

The attached patch is the minimal patch making the rendering issue
disappear. Also, I cannot reproduce the issue when I try to configure
emacs just with ./configure --with-x-toolkit=lucid. The options I used
to compile emacs in my OS (I am using gentoo) are

./configure --prefix=/usr --build=x86_64-pc-linux-gnu
--host=x86_64-pc-linux-gnu --mandir=/usr/share/man
--infodir=/usr/share/info --datadir=/usr/share --sysconfdir=/etc
--localstatedir=/var/lib --disable-silent-rules
--docdir=/usr/share/doc/emacs-vcs-27.0.9999
--htmldir=/usr/share/doc/emacs-vcs-27.0.9999/html --libdir=/usr/lib64
--program-suffix=-emacs-27-vcs --includedir=/usr/include/emacs-27-vcs
--infodir=/usr/share/info/emacs-27-vcs --localstatedir=/var
--enable-locallisppath=/etc/emacs:/usr/share/emacs/site-lisp
--without-compress-install --without-hesiod --without-pop
--with-dumping=pdumper --with-file-notification=inotify --enable-acl
--with-dbus --with-modules --without-gameuser --with-libgmp --with-gpm
--without-json --without-kerberos --without-kerberos5 --with-lcms2
--with-xml2 --without-mailutils --without-selinux --with-gnutls
--without-libsystemd --with-threads --without-wide-int --with-zlib
--with-sound=alsa --with-x --without-ns --without-gconf
--without-gsettings --without-toolkit-scroll-bars --with-gif --with-jpeg
--with-png --with-rsvg --with-tiff --with-xpm --with-imagemagick
--with-xft --with-cairo --without-harfbuzz --without-libotf
--without-m17n-flt --with-x-toolkit=lucid --with-xaw3d 

Regards,
Ihor

[widget-ignore-pixelwise-3.patch (text/x-diff, inline)]
diff --git a/src/widget.c b/src/widget.c
index e8eaf0fadf..f92baa2cef 100644
--- a/src/widget.c
+++ b/src/widget.c
@@ -268,12 +268,8 @@ set_frame_size (EmacsFrame ew)
   if (! XtIsSubclass (wmshell, shellWidgetClass)) emacs_abort ();
 
   char_to_pixel_size (ew, w, h, &pixel_width, &pixel_height);
-  ew->core.width = (frame_resize_pixelwise
-		    ? FRAME_PIXEL_WIDTH (f)
-		    : pixel_width);
-  ew->core.height = (frame_resize_pixelwise
-		     ? FRAME_PIXEL_HEIGHT (f)
-		     : pixel_height);
+  ew->core.width = (pixel_width);
+  ew->core.height = (pixel_height);
 
   frame_size_history_add
     (f, Qset_frame_size, FRAME_TEXT_WIDTH (f), FRAME_TEXT_HEIGHT (f),
@@ -315,8 +311,8 @@ update_wm_hints (EmacsFrame ew)
   XtVaSetValues (wmshell,
 		 XtNbaseWidth, (XtArgVal) base_width,
 		 XtNbaseHeight, (XtArgVal) base_height,
-		 XtNwidthInc, (XtArgVal) (frame_resize_pixelwise ? 1 : cw),
-		 XtNheightInc, (XtArgVal) (frame_resize_pixelwise ? 1 : ch),
+		 XtNwidthInc, (XtArgVal) (cw),
+		 XtNheightInc, (XtArgVal) (ch),
 		 XtNminWidth, (XtArgVal) base_width,
 		 XtNminHeight, (XtArgVal) base_height,
 		 NULL);
[Message part 3 (text/plain, inline)]

martin rudalics <rudalics <at> gmx.at> writes:

>  > Oh. I meant maximised, not full screen. Initially, I observed the issue
>  > with maximised emacs frames. (My title bar is located at the bottom of
>  > the frame, not on top).
>
> I see it, now.  The following is a bit tedious: Couldy you try in
> widget.c and xterm.c to selectively make frame_resize_pixelwise have
> no effect, so we could possibly locate the direct source of the
> problem?  There are four instances of this, three in widget.c and one
> in xterm.c.  For example, for the latter, you would have to change the
> two lines
>
>    size_hints.width_inc = frame_resize_pixelwise ? 1 : FRAME_COLUMN_WIDTH (f);
>    size_hints.height_inc = frame_resize_pixelwise ? 1 : FRAME_LINE_HEIGHT (f);
>
> in x_wm_set_size_hint in xterm.c to
>
>    size_hints.width_inc = FRAME_COLUMN_WIDTH (f);
>    size_hints.height_inc = FRAME_LINE_HEIGHT (f);
>
> Thanks, martin


This bug report was last modified 5 years and 139 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.