X-Git-Url: https://pintos-os.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=src%2Fui%2Fgui%2Fpsppire-output-window.c;h=e4f6c6ec95de0c2d83e68799b3b21899fbdb4cce;hb=refs%2Fbuilds%2F20140222033038%2Fpspp;hp=661d6a58633fac0a5f5c9701867f545d4f38ab78;hpb=e1970f6d1693391d3ec18365e9a0c7d16b4efa1a;p=pspp diff --git a/src/ui/gui/psppire-output-window.c b/src/ui/gui/psppire-output-window.c index 661d6a5863..e4f6c6ec95 100644 --- a/src/ui/gui/psppire-output-window.c +++ b/src/ui/gui/psppire-output-window.c @@ -38,7 +38,6 @@ #include "ui/gui/builder-wrapper.h" #include "ui/gui/psppire-output-window.h" -#include "gl/error.h" #include "gl/tmpdir.h" #include "gl/xalloc.h" #include "gl/c-xvasprintf.h" @@ -163,12 +162,10 @@ psppire_output_cast (struct output_driver *driver) static void on_dwgarea_realize (GtkWidget *widget, gpointer data); static gboolean -expose_event_callback (GtkWidget *widget, GdkEventExpose *event, gpointer data) +draw_callback (GtkWidget *widget, cairo_t *cr, gpointer data) { PsppireOutputWindow *viewer = PSPPIRE_OUTPUT_WINDOW (data); struct xr_rendering *r = g_object_get_data (G_OBJECT (widget), "rendering"); - cairo_t *cr = gdk_cairo_create (gtk_widget_get_window (widget)); - const GtkStyle *style = gtk_widget_get_style (GTK_WIDGET (viewer)); PangoFontDescription *font_desc; @@ -195,14 +192,12 @@ expose_event_callback (GtkWidget *widget, GdkEventExpose *event, gpointer data) pango_font_description_free (font_desc); xr_rendering_apply_options (r, &viewer->render_opts); - - xr_rendering_draw (r, cr, event->area.x, event->area.y, - event->area.width, event->area.height); - cairo_destroy (cr); + xr_rendering_draw_all (r, cr); return TRUE; } + static void psppire_output_submit (struct output_driver *this, const struct output_item *item) @@ -309,8 +304,8 @@ psppire_output_submit (struct output_driver *this, g_signal_connect (drawing_area, "realize", G_CALLBACK (on_dwgarea_realize), pod->viewer); - g_signal_connect (drawing_area, "expose_event", - G_CALLBACK (expose_event_callback), pod->viewer); + g_signal_connect (drawing_area, "draw", + G_CALLBACK (draw_callback), pod->viewer); gtk_widget_set_size_request (drawing_area, tw, th); gtk_layout_put (pod->viewer->output, drawing_area, 0, pod->viewer->y); @@ -770,7 +765,7 @@ clipboard_get_cb (GtkClipboard *clipboard, if (path_search (dirname, sizeof dirname, NULL, NULL, true) || mkdtemp (dirname) == NULL) { - error (0, errno, _("failed to create temporary directory")); + msg_error (errno, _("failed to create temporary directory during clipboard operation")); return; } filename = xasprintf ("%s/clip.tmp", dirname);