Subject: bug#58489: 29.0.50; commit 74c07733698b95eb455edcafab8634a700a3194f breaks GTK version for some Ubuntu distributions

From: Uwe Brauer <[email-masked]>
Date: Fri, 14 Oct 2022 09:23:27 +0200

>>> "PL" == Po Lu <[email-masked]> writes:

> Uwe Brauer <[email-masked]> writes:
>> Then the screenshot with the early-init
>> 
>> It seems to look ok but when it finishes loading all my init files, it
>> looks like emacs -Q

> Sigh.  If you instrument emacsgtkfixed.c as follows:

> 	  if (hints->width_inc && data[5] % hints->width_inc)
> 	    data[5] += (hints->width_inc - (data[5] % hints->width_inc));
> 	  if (hints->height_inc && data[6] % hints->height_inc)
> 	    data[6] += (hints->height_inc - (data[6] % hints->height_inc));
>          (Add instrumentation following this line)
> 	  fprintf (stderr, "XSetWMSizeHints: %l %l width_inc: %l height_inc: %l\n",
> 		   data[5], data[6], hints->width_inc, hints->height_inc)

> what is printed when you start Emacs with "-Q", and Kwin shrinks your
> window?

I don't know anything about that C code (and the last time, I did some C coding is some 10 years ago)

Not sure I understand, I apply the patch attached below and run make again:

Then I get an error (so most likely I misunderstood you)

 GEN      globals.h
  CC       emacsgtkfixed.o
emacsgtkfixed.c: In function ‘XSetWMSizeHints’:
emacsgtkfixed.c:190:21: warning: unknown conversion type character 0x20 in format [-Wformat=]
    fprintf (stderr, "XSetWMSizeHints: %l %l width_inc: %l height_inc: %l\n", /* new code for testing */
                     ^
emacsgtkfixed.c:190:21: warning: unknown conversion type character 0x20 in format [-Wformat=]
emacsgtkfixed.c:190:21: warning: unknown conversion type character 0x20 in format [-Wformat=]
emacsgtkfixed.c:190:21: warning: unknown conversion type character 0xa in format [-Wformat=]
emacsgtkfixed.c:190:21: warning: too many arguments for format [-Wformat-extra-args]
emacsgtkfixed.c:192:6: error: expected ‘;’ before ‘}’ token
      }
      ^
Makefile:414: recipe for target 'emacsgtkfixed.o' failed
make: *** [emacsgtkfixed.o] Error 1

diff --git a/src/emacsgtkfixed.c b/src/emacsgtkfixed.c
--- a/src/emacsgtkfixed.c
+++ b/src/emacsgtkfixed.c
@@ -187,7 +187,9 @@
 	    data[5] += (hints->width_inc - (data[5] % hints->width_inc));
 	  if (data[6] % hints->height_inc)
 	    data[6] += (hints->height_inc - (data[6] % hints->height_inc));
-	}
+	  fprintf (stderr, "XSetWMSizeHints: %l %l width_inc: %l height_inc: %l\n", /* new code for testing */
+                   data[5], data[6], hints->width_inc, hints->height_inc) /* new code for testing */
+	    }
     }
 
   XChangeProperty (d, w, prop, XA_WM_SIZE_HINTS, 32, PropModeReplace,