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));
}
2)далее. почему процедура, прицепленная к window событию "size-allocate" исполняется бесконечно, начиная с запуска программы?
3)есть ли возможность создать и прицепить маску прозрачности на окно? в доках не нашел... или плохо искал...
и еще... использую codeblocks и под виндой, и под линуксом компилятор gcc. в винде проект собирается нормально, а в линуксе при линковке ругается на каждую gtk функцию, хотя в командах линковщика указано 'pkg-config --libs gtk+-2.0'. либы в /usr/lib есть. путь поиска в настройках тоже есть. в чем проблема?