wnck_set_default_icon_size lets multiple instances of wnck run into signal loop
Setting the default icon size through wnck_set_default_icon_size and having multiple processes making use of wnck to acquire app icons in different sizes currently leads to a signal loop.
In our practical example we have multiple instances of Xfce panel running, each with the Xfce tasklist plugin (similar to wnck tasklist) and different panel sizes, leading to different wnck icon sizes.
In short:
- When receiving the icon-changed signal we want to ensure that the icon size is correct, so we
- Call wnck_set_default_icon_size (on one instance), which in turn leads to
- An icon changed signal in all other instances, and then again
- the callback for the icon-changed signal (see 1) is called again and the signal loop is complete.
Maybe this code reference also helps: https://git.xfce.org/xfce/xfce4-panel/commit/?id=0df60dc8e4b6d3d007eea442cda464950b187218
Also note that the wnck_set_default_icon_size call was removed from wnck already in 2002, because this problem was acknowledged: https://github.com/GNOME/libwnck/commit/4b216137230d2fac212b42b42acb8267e604c0a7