Fix a problem with screen changes and csd
When a new screen is set on a window, we unrealize it, to recreate all the resources. But we don't reset the client_decorated flag, so realize() doesn't call create_decoration() - which makes sense, since the decoration already exists. But the side-effect of create_decoration() is to select the rgba visual, and visuals are per-screen. Fix this by looking for the rgba visual in set_screen(), and replacing it with the rgba visual for the new screen, if necessary.
Showing with 16 additions and 0 deletions