Skip to content

GDK W32: Be honest about supported clipboard formats (GTK4)

LRN requested to merge lrn/gtk:win32-honest-clipboard-gtk4 into master

Do not lie to W32 about the formats that we provide or accept.

Originally the logic behind such lies was that GdkPixbuf allows us to convert any supported image to BMP or PNG, and therefore we should announce that we always provide/accept BMP and PNG along with other formats.

But that's not how it works. GDK has built-in serializers and deserializers for all pixbuf formats (where it just invokes GdkPixbuf API) and will use them automatically to read or write GdkTexture objects (internally wrapping GdkPixbuf objects where necessary). The encoding and decoding of images is handled by GdkContent(De)Serializers, backend has nothing to do with it.

Therefore W32 GDK backend should only offer formats that it can actually do conversion for by itself (such as image/bmp <-> CF_DIB, or text/uri-list <-> CFSTR_SHELLIDLIST).

This is the GTK4 version of !382 (merged).

Merge request reports