Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- gboolean
- main_win_open( MainWin* mw, const char* file_path)
- {
- GError *error;
- GInputStream* input_stream;
- GFile *file = g_file_new_for_path(file_path);
- gssize n_read;
- gboolean res;
- guchar buffer[LOAD_BUFFER_SIZE];
- input_stream = g_file_read(file,generator_cancellable ,NULL);
- res = TRUE;
- while (1){
- n_read = g_input_stream_read(input_stream, buffer, sizeof (buffer),generator_cancellable,error);
- if (n_read < 0) {
- res = FALSE;
- error = NULL;
- break;
- }
- if (n_read == 0)
- break;
- if (!gdk_pixbuf_loader_write(mw->loader, buffer, sizeof(buffer), error)){
- res = FALSE;
- error = NULL;
- break;
- }
- }
- if (res){
- mw->animation = gdk_pixbuf_loader_get_animation((mw->loader));
- gtk_anim_view_set_anim (mw->aview,mw->animation);
- return TRUE;
- }
- // close gdkpixbufloader
- if (!gdk_pixbuf_loader_close (mw->loader, error)) {
- res = FALSE;
- error = NULL;
- return FALSE;
- }
- gtk_widget_show_all(mw->box);
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement