> On Jul 30, 2015, at 6:36 AM, Jim Dishaw <j...@dishaw.org> wrote:
> 
> 
> 
> 
> 
>>> 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. 

Oops, that won't work. I think the only solution right now is to roll back the 
patch. 

> 
>> 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

------------------------------------------------------------------------------
_______________________________________________
Plplot-devel mailing list
Plplot-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/plplot-devel

Reply via email to