Ejemplo n.º 1
0
static gint
update_timeout(gpointer data)
{
        ProgressFileStatus *status = data;
	gboolean done;

	done = TRUE;
	if (!feof(status->imagefile)) {
		gint nbytes;

		nbytes = fread(status->buf, 1, status->readlen, 
			       status->imagefile);

		done = !gdk_pixbuf_loader_write (GDK_PIXBUF_LOADER (status->loader), status->buf, nbytes);
			
	}

	if (done) {
                gtk_widget_queue_draw(*status->rgbwin);
		gdk_pixbuf_loader_close (GDK_PIXBUF_LOADER (status->loader));
		gtk_object_destroy (GTK_OBJECT(status->loader));
		fclose (status->imagefile);
		g_free (status->buf);
	}

	return !done;
}
Ejemplo n.º 2
0
static gint
update_timeout (gpointer data)
{
        ProgressFileStatus *status = data;
	gboolean done;
        GError *error;
        
	done = FALSE;
        error = NULL;

	if (!feof (status->imagefile)) {
		gint nbytes;
                
		nbytes = fread (status->buf, 1, status->readlen, 
			       status->imagefile);


                if (!gdk_pixbuf_loader_write (GDK_PIXBUF_LOADER (status->loader), status->buf, nbytes, &error)) {
                        g_warning ("Error writing to loader: %s",
                                   error->message);
                        g_error_free (error);
                        done = TRUE;
                }
                        
                        
        } 
	else 
                done = TRUE;
	  
	if (done) {
                /* ignoring errors, we should not do that. */
		gdk_pixbuf_loader_close (GDK_PIXBUF_LOADER (status->loader), NULL);
		gtk_widget_queue_draw (*status->rgbwin);
		g_object_unref (status->loader);
		fclose (status->imagefile);
		g_free (status->buf);
	}

	return !done;
}
Ejemplo n.º 3
0
static size_t
cover_thumbnailer_load_pixbuf_write (gpointer data,
                                     size_t   size,
                                     size_t   nmemb,
                                     gpointer user_data)
{
  GdkPixbufLoader *loader = GDK_PIXBUF_LOADER (user_data);
  size_t           len = size * nmemb;
  GError          *err = NULL;

  g_return_val_if_fail (GDK_IS_PIXBUF_LOADER (loader), 0);

  /* write to the loader */
  if (!gdk_pixbuf_loader_write (loader, data, len, &err))
    {
      g_critical ("Failed to write to pixbuf loader: %s", err->message);
      g_error_free (err);
    }

  return len;
}