[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: PSPP-BUG: Problem with building from current tarball
From: |
Ben Pfaff |
Subject: |
Re: PSPP-BUG: Problem with building from current tarball |
Date: |
Thu, 9 Jan 2020 21:56:48 -0800 |
On Sat, Jan 4, 2020 at 2:23 AM John Darrington
<address@hidden> wrote:
>
> On Fri, Jan 03, 2020 at 05:13:55PM -0800, Ben Pfaff wrote:
> What triggers this failure?
>
>
> I don't know what triggers it, but I think I can see the problem.
> In psppire-output-view.c (renderer) there is the following code:
>
> GdkWindow *win = gtk_layout_get_bin_window (view->output);
> GdkDrawingContext *ctx = gdk_window_begin_draw_frame (win, region);
> cairo_t *cr = gdk_drawing_context_get_cairo_context (ctx);
>
> if (view->xr == NULL)
> create_xr (view);
>
>
> and if one looks at the implementation of create_xr one of the first
> things it does is to call
>
> GdkWindow *win = gtk_layout_get_bin_window (view->output);
> GdkDrawingContext *ctx = gdk_window_begin_draw_frame (win, region);
>
>
> So, if view->xr is NULL, then gdk_window_begin_draw_frame will be called
> twice on the same WIN, without a call to gdk_window_end_draw_frame between
> the calls.
>
> A similar problem exists further down the file around line 350
Thanks for the analysis. This was easy to fix by moving the call to create_xr()
earlier in the file. I don't know whether it fixes the problem that Harry saw.