Web lists-archives.com

gdk_window_shape_combine_region() not functioning


I have a use case where I use gdk_window_shape_combine_region() to draw a circle over a button. The button is inside a custom container (type GtkContainer), so the GdkWindow in question is the window belonging to the container parent of the button.

This worked fine until GTK3.10: I bisected and found the commit after which it stopped working: https://github.com/GNOME/gtk/commit/d22fd7223c75f4720ddb982c659efb0d8d7543c4

That patch is a bit beyond the scope of my knowledge, but I tried some fixes. Calling gdk_window_ensure_native() before gdk_window_shape_combine_region() seems to fix the issue, but then there are some issues with the "clicked" events for the button not working. Also on Wayland this approach seems to make the whole button transparent.

Is there a better approach I could take?


Eric Williams
Associate Software Engineer - Eclipse Team
Red Hat
gtk-devel-list mailing list