> On Jul 30, 2015, at 3:21 AM, Alan W. Irwin <ir...@beluga.phys.uvic.ca> wrote:
>
>> On 2015-07-30 01:08-0400 Jim Dishaw wrote:
>>
>>
>>> On Jul 29, 2015, at 7:56 PM, Alan W. Irwin <ir...@beluga.phys.uvic.ca>
>>> wrote:
>>>
>>> Hi Jim:
>>>
>>> I have just discovered the regression mentioned by the subject line.
>>>
>>> My apologies for not spotting this issue earlier in the release cycle.
>>> I guess I did all sorts of spot checking after your multiple keypress
>>> changes to make sure the cairo device driver built and ran without
>>> issues, but I did not test all cairo capabilities like a simple build
>>> of the test_interactive target (which caught this problem now) would
>>> have done at the time.
>
>> The interesting thing is that at least one of the sources for the
> error message is in the plD_init_xcairo() function. The XInternAtom()
> call generates some of the messages. Furthermore, the XCloseDisplay()
> in plD_tidy_xcairo() generates the error message. I thought it might
> be due to a synchronization issue with the X server, so I put an
> XSync() call to make sure everything was processed in the event queue.
> Unfortunately, the error “migrated” to the XSync() call. I then
> enabled synchronization via XSynchronize() (the sledgehammer
> approach). That eliminated some of the runtime error messages.
>
>> I think this bug is a latent problem that has not cropped up
> earlier. I am not quite sure of the root cause, but I don’t think
> 78344df is the cause, rather it exposed the problem.
>
>> I am not familiar enough with the external drawable functionality
> and, unfortunately, I don’t have time to dig into right now. If you
> insert "XSynchronize( aStream->Display, TRUE );” some where after the
> XOpenDisplay() call, I think that will fix the bug for this release. I will
> revisit the issue after the weekend.
>
> I inserted the following change (which is what I think you meant
> by the above suggestion, but please confirm that.
>
> --- a/drivers/cairo.c
> +++ b/drivers/cairo.c
> @@ -1995,6 +1995,7 @@ void plD_init_xcairo( PLStream *pls )
> plexit( "Failed to open X Windows display\n" );
> // some sort of error here
> }
> + XSynchronize( aStream->XDisplay, TRUE );
> XScreen = DefaultScreen( aStream->XDisplay );
> rootWindow = RootWindow( aStream->XDisplay, XScreen );
> If that is what you had in mind, that change does not seem to affect the
> ordinary use of xcairo or
> the results from building the test_extcairo target. However, building
> the test_extXdrawable target still generates the same error message,
> i.e.,
>
> Scanning dependencies of target test_extXdrawable
> The program 'extXdrawable_demo' received an X Window System error.
> This probably reflects a bug in the program.
> The error was 'BadWindow (invalid Window parameter)'.
> (Details: serial 178 error_code 3 request_code 2 minor_code 0)
> (Note to programmers: normally, X errors are reported asynchronously;
> that is, you will receive the error a while after causing it.
> To debug your program, run it with the --sync command line
> option to change this behavior. You can then get a meaningful
> backtrace from your debugger if you break on the gdk_x_error() function.)
> make[3]: *** [examples/CMakeFiles/test_extXdrawable] Error 1
> make[2]: *** [examples/CMakeFiles/test_extXdrawable.dir/all] Error 2
> make[1]: *** [examples/CMakeFiles/test_extXdrawable.dir/rule] Error 2
> make: *** [test_extXdrawable] Error 2
That patch fixes the problem when PLPlot is creating the window. Try adding one
more inside the "then" case at line 1983.
> Jim, since the above idea does not appear to work do you see any issue
> with instead reverting your changes just for the cairo device driver
> using the attached patch?
>
> That patch is, of course, just a temporary measure until you can look
> in more detail at this whole problem post-release, but it does seem to
> give good results for all of the test_c_xcairo, test_extcairo, and
> test_extXdrawable targets consistent with what we had before for 5.11.0.
>
That would work and we wouldn't be any worse off then we were before.
> Alan
> __________________________
> Alan W. Irwin
>
> Astronomical research affiliation with Department of Physics and Astronomy,
> University of Victoria (astrowww.phys.uvic.ca).
>
> Programming affiliations with the FreeEOS equation-of-state
> implementation for stellar interiors (freeeos.sf.net); the Time
> Ephemerides project (timeephem.sf.net); PLplot scientific plotting
> software package (plplot.sf.net); the libLASi project
> (unifont.org/lasi); the Loads of Linux Links project (loll.sf.net);
> and the Linux Brochure Project (lbproject.sf.net).
> __________________________
>
> Linux-powered Science
> __________________________
> <cairo.patch.gz>
------------------------------------------------------------------------------
_______________________________________________
Plplot-devel mailing list
Plplot-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/plplot-devel