I took a look at the documentation for the function to make sure this behavior wasn't intentional, and it actually recommends calling set_decorated before showing the window, even though that's what triggers the bug:
"Depending on the system, this function may not have any effect when called on a window that is already visible, so you should call it before calling gtk_window_show()."
I took a look at the documentation for the function to make sure this behavior wasn't intentional, and it actually recommends calling set_decorated before showing the window, even though that's what triggers the bug:
"Depending on the system, this function may not have any effect when called on a window that is already visible, so you should call it before calling gtk_window_show()."