Advertisement
Guest User

Untitled

a guest
Jun 8th, 2010
313
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 1.10 KB | None | 0 0
  1. gboolean
  2. main_win_open( MainWin* mw, const char* file_path)
  3. {      
  4.     GError *error;
  5.     GInputStream* input_stream;
  6.     GFile *file = g_file_new_for_path(file_path);
  7.    
  8.     gssize n_read;
  9.     gboolean res;
  10.     guchar buffer[LOAD_BUFFER_SIZE];
  11.    
  12.     input_stream = g_file_read(file,generator_cancellable ,NULL);
  13.    
  14.     res = TRUE;
  15.     while (1){
  16.         n_read = g_input_stream_read(input_stream, buffer, sizeof (buffer),generator_cancellable,error);
  17.        
  18.         if (n_read < 0) {
  19.                         res = FALSE;
  20.                         error = NULL;
  21.                         break;
  22.                 }
  23.    
  24.     if (n_read == 0)
  25.         break;
  26.    
  27.     if (!gdk_pixbuf_loader_write(mw->loader, buffer, sizeof(buffer), error)){
  28.        res = FALSE;
  29.        error = NULL;
  30.        break;
  31.        }
  32.     }
  33.    
  34.     if (res){
  35.         mw->animation = gdk_pixbuf_loader_get_animation((mw->loader));
  36.         gtk_anim_view_set_anim (mw->aview,mw->animation);  
  37.         return TRUE;
  38.     }
  39.        
  40.     // close gdkpixbufloader
  41.     if (!gdk_pixbuf_loader_close (mw->loader, error)) {
  42.         res = FALSE;
  43.         error = NULL;
  44.         return FALSE;
  45.     }
  46.          
  47.     gtk_widget_show_all(mw->box);
  48. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement