[glide] Printing works again



commit 397fae6bc68a7cd92cfe197922b63940595e5790
Author: Robert Carr <racarr Valentine localdomain>
Date:   Thu Apr 29 04:03:45 2010 -0400

    Printing works again

 data/ui/glide-window.ui  |    2 +-
 src/glide-image.c        |    6 +++++-
 src/glide-slide-button.c |    2 ++
 src/glide-slide.c        |    7 ++++++-
 4 files changed, 14 insertions(+), 3 deletions(-)
---
diff --git a/data/ui/glide-window.ui b/data/ui/glide-window.ui
index 364d7f5..08eef93 100644
--- a/data/ui/glide-window.ui
+++ b/data/ui/glide-window.ui
@@ -509,7 +509,7 @@
             <property name="visible">True</property>
             <child>
               <object class="GtkScrolledWindow" id="slide-pane-scrolled">
-                <property name="width_request">80</property>
+                <property name="width_request">100</property>
                 <property name="visible">True</property>
                 <property name="can_focus">True</property>
                 <property name="hscrollbar_policy">automatic</property>
diff --git a/src/glide-image.c b/src/glide-image.c
index 65a8aaf..d4e4795 100644
--- a/src/glide-image.c
+++ b/src/glide-image.c
@@ -269,17 +269,21 @@ glide_image_print (GlideActor *actor,
   GlideImage *image = GLIDE_IMAGE (actor);
   GdkPixbuf *p;
   gfloat width, height, x, y;
+  gchar *r;
   
   clutter_actor_get_size (CLUTTER_ACTOR (image), &width, &height);
   clutter_actor_get_position (CLUTTER_ACTOR (image), &x, &y);
   
+  r = glide_actor_get_resource_path (actor, image->priv->filename);
+  
   // TODO: Error
-  p = gdk_pixbuf_new_from_file_at_size (image->priv->filename, width, height, NULL);
+  p = gdk_pixbuf_new_from_file_at_size (r, width, height, NULL);
   gdk_cairo_set_source_pixbuf (cr, p, x, y);
   
   cairo_rectangle (cr, x, y, width, height);
   cairo_fill (cr);
   
+  g_free (r);
   g_object_unref (G_OBJECT (p));
 }
 
diff --git a/src/glide-slide-button.c b/src/glide-slide-button.c
index cae818a..e2c3071 100644
--- a/src/glide-slide-button.c
+++ b/src/glide-slide-button.c
@@ -51,6 +51,8 @@ glide_slide_button_drawing_area_expose (GtkWidget *drawing_area,
 
   glide_actor_print (GLIDE_ACTOR (b->priv->slide), cr);
   
+  cairo_destroy (cr);
+  
   return FALSE;
 }
 
diff --git a/src/glide-slide.c b/src/glide-slide.c
index 75c2f6b..833ccb6 100644
--- a/src/glide-slide.c
+++ b/src/glide-slide.c
@@ -506,19 +506,24 @@ glide_slide_print_background_image (GlideSlide *s,
 {
   GdkPixbuf *p;
   gfloat width, height;
+  gchar *resource_file;
   
   if (!s->priv->background)
     return;
   
+  resource_file = glide_actor_get_resource_path (GLIDE_ACTOR (s),
+						 s->priv->background);
+  
   clutter_actor_get_size (CLUTTER_ACTOR (s), &width, &height);
   
   // TODO: Error
-  p = gdk_pixbuf_new_from_file_at_size (s->priv->background, width, height, NULL);
+  p = gdk_pixbuf_new_from_file_at_size (resource_file, width, height, NULL);
   gdk_cairo_set_source_pixbuf (cr, p, 0, 0);
   
   cairo_rectangle (cr, 0, 0, width, height);
   cairo_fill (cr);
   
+  g_free (resource_file);  
   g_object_unref (G_OBJECT (p));
 }
 



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]