J'ai essayé avec la SDL 1.2 : le même problème se produit : l'icône reste celle par défaut sous KDE (avec Kwin) mais s'affiche correctement sous Unity (sans Kwin).
Le code source que j'ai testé est celui du tutoriel site du zéro :
#include <stdlib.h>
#include <stdio.h>
#include <SDL/SDL.h>
void pause()
{
int continuer = 1;
SDL_Event event;
while (continuer)
{
SDL_WaitEvent(&event);
switch(event.type)
{
case SDL_QUIT:
continuer = 0;
}
}
}
int main(int argc, char *argv[])
{
SDL_Surface *ecran = NULL ;
SDL_Rect positionFond;
positionFond.x = 0;
positionFond.y = 0;
SDL_Init(SDL_INIT_VIDEO);
/* Chargement de l'icône AVANT SDL_SetVideoMode */
SDL_WM_SetIcon(SDL_LoadBMP("sdl_icone.bmp"), NULL);
ecran = SDL_SetVideoMode(800, 600, 32, SDL_HWSURFACE);
SDL_WM_SetCaption("Chargement d'images en SDL", NULL);
SDL_Flip(ecran);
pause();
SDL_Quit();
return EXIT_SUCCESS;
}
je joins l'icône utilisée par le programme, si cela peut être utile.
NOTE : je ne sais pas quelle est la différence interne entre la SDL, la SFML ou Qt mais cette dernière affiche les icônes correctement malgré Kwin.