кто работал с gtk помогите пожалуйста.
1) есть код загрузки изображения. перед загрузкой он проверяет - картинку ли содержит файл. и вот где то процентах в 10 запусков он говорит что файл не является картинкой. почему?
ImgBtn::ImgBtn(const char* filename)
{
evbox = gtk_event_box_new();
if (image) g_free(image);
if (FileExists(filename))
{
info = gdk_pixbuf_get_file_info(filename,&width,&height);
if (info)
{
cstImg = gdk_pixbuf_new_from_file(filename,NULL);
}
else
{
printf("File %s is not image",filename);
}
if (cstImg)
{
image = gtk_image_new_from_pixbuf(cstImg);
}
else
{
printf("Cold not load %s \n",filename);
}
g_free(info);
}
else
{
printf("File %s not found \n",filename);
image = gtk_image_new();
cstImg = NULL;
info = NULL;
}
if (image)
gtk_container_add(GTK_CONTAINER(evbox),image);
gtk_widget_show_all(GTK_WIDGET(evbox));
}Если говорит, что файл не является картинкой, то под Windows это может быть в случае с русскими именами. GTK работает с UTF8 кодировкой, а для работы с файловой системой Win32 нужна родная виндовозная кодировка.
Форум Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)