It happens to me very frequently, especially after Resuming from Sleep [Cairo-Dock suffers from the same problem]. My routine workaround [it does not solve the root cause, but it quickly & easily "fixes" the symptom, til next time] is to "disturb" the affected graphical elements.
For Cairo-Dock, i move it from the screen top to the side [which instantly repaints all the icon images properly], then immediately move it back to the top.
For the desktop icons, i have them locked, so all i do is select them all, grab them & drag a few mm, then let go. Because they're locked, they instantly snap back to their correct positions, all nicely repainted.
It's irritating that this happens, but i am not willing to stop using the Nvidia driver in favour of Nouveau, as i like having all the eye-candy that the proprietary driver gives me for desktop effects. Changing the Compositing from OpenGL 3.1 to 2.0, or vice versa, has never helped, & i am unwilling to devolve to XRender for the same reason as i gave for the driver. Anyway, my workarounds take only a few seconds to do.
EDIT - 4/Feb/17: I rescind the [now] "strike-through" text in the preceding paragraph. I recently did change back to Nouveau, & my previous text is now known to be WRONG. Furthermore, in the context of this thread, an added bonus has been that now, after each Suspend - Resume, no longer are Cairo-Dock & my desktop icons garbled; they stay good. Cool.
For Cairo-Dock, i move it from the screen top to the side [which instantly repaints all the icon images properly], then immediately move it back to the top.
For the desktop icons, i have them locked, so all i do is select them all, grab them & drag a few mm, then let go. Because they're locked, they instantly snap back to their correct positions, all nicely repainted.
It's irritating that this happens, but i am not willing to stop using the Nvidia driver in favour of Nouveau, as i like having all the eye-candy that the proprietary driver gives me for desktop effects. Changing the Compositing from OpenGL 3.1 to 2.0, or vice versa, has never helped, & i am unwilling to devolve to XRender for the same reason as i gave for the driver. Anyway, my workarounds take only a few seconds to do.
EDIT - 4/Feb/17: I rescind the [now] "strike-through" text in the preceding paragraph. I recently did change back to Nouveau, & my previous text is now known to be WRONG. Furthermore, in the context of this thread, an added bonus has been that now, after each Suspend - Resume, no longer are Cairo-Dock & my desktop icons garbled; they stay good. Cool.