Subject: Re: bug#64969: 30.0.50: Stipple broken with PGTK

From: Po Lu <[email-masked]>
Date: Mon, 31 Jul 2023 21:47:02 +0800

[email-masked] writes:

> The code
>
> (let* ((w (window-font-width))
>       (stipple `(,w 1 ,(apply #'unibyte-string
> 			       (append (make-list (1- (/ (+ w 7)
> 			       8)) ?\0)
> 				       '(1))))))
>  (insert "\n" (propertize (concat  (make-string 15 ?\s)
> 				    "THIS IS A TEST"
> 				    (make-string 15 ?\s))
>                           'face `(:background "red" :foreground
>                           "blue" :stipple ,stipple))))
>
> doesn't have the expected result, i.e. the text is not blue on red
> background.
>
> More information leading to this report can be found at
> https://github.com/jdtsmith/indent-bars/issues/3

I think this owes to an inconsistency between the PGTK and X bitmap
initialization code.  I will look into this tomorrow, unless someone
wants to do it first.

The relevant functions are `image_create_bitmap_from_data' and
`image_create_pattern_from_pixbuf' in image.c.