Some information of what is happening with pidgin (2.7.11 currently in Natty): the first call to XGetImage in X11EmbedContainer::paintEvent(…) with dimensions 24×24 fails (as explained by the comment), but then the second call is also issued with dimensions 24×24, it logically fails too. This is because the size of the embedded window (d->attr.width × d->attr.height) is 200×200, not 16×16 as expected.
Interestingly, if the panel is killed and restarted while pidgin is running, the 16×16 icon now appears correctly. It looks like the size of the embedded window changes, from an initial value of 200×200 to 24×24, then 22×22, then 16×16. d->attr needs to be updated accordingly, probably in X11EmbedContainer::paintEvent(…).
Some information of what is happening with pidgin (2.7.11 currently in Natty): the first call to XGetImage in X11EmbedContain er::paintEvent( …) with dimensions 24×24 fails (as explained by the comment), but then the second call is also issued with dimensions 24×24, it logically fails too. This is because the size of the embedded window (d->attr.width × d->attr.height) is 200×200, not 16×16 as expected.
Interestingly, if the panel is killed and restarted while pidgin is running, the 16×16 icon now appears correctly. It looks like the size of the embedded window changes, from an initial value of 200×200 to 24×24, then 22×22, then 16×16. d->attr needs to be updated accordingly, probably in X11EmbedContain er::paintEvent( …).