Hi Alan On Mon, Jan 30, 2017 at 10:06:18PM -0800, Alan W. Irwin wrote: > It has been a while since you have been in contact with the > plplot-devel mailing list so I hope this email address for you > still works.
All good. I've been lurking on the list as a way of keeping an eye on developments. > An issue has emerged with the extXdrawable_demo application > that you donated way back in 2008 to PLplot. What happened was Jim > Dishaw made a significant plbuf change in 2015 such that interactive > devices are supposed to distinguish between end of page and and wait > states. So every interactive device had to be adjusted for this > change. When that adjustment was done for xcairo, the results are > good for -dev xcairo and the ext-cairo-test application you can build > and run by building the test_extcairo target. However, the > extXdrawable_demo application that you can build and run by building > the test_extXdrawable target does generate a run-time error that was not > there before the cairo adjustment. Interesting. There are clearly a large number of variables in play here. Tracking this down could be time consuming. > However, I have now reinstated that change (commit 6589caa) because all > seems well with xcairo and the ext-cairo-test application so I feel the > chances are good there is a subtle bug in extXdrawable_demo. There could be. Other options (in no particular order, and by no means exhaustive): - A GTK thing which happens to be tickled by whatever change was made to the xcairo plplot driver as a result of commit 6589caa. - A change in the way the xcairo driver handles the external_drawable driver option in light of 6589caa. - Altered timing as a result of 6589caa which invalidates assumptions made in extXdrawable_demo.c about the order of X resource creation during program start up. I also note that ext-cairo-test uses the "extcairo" plplot device while extXdrawable_demo uses the "xcairo" device. It's too long ago for me to remember what the differences are between these two and how much code they share. This means that at first glance the problem could be in the "xcairo" device rather than extXdrawable_demo itself. In other words: - ext-cairo-test with extcairo: ok - extXdrawable_demo with xcairo: not ok > Here is the error message you get if you use the -DBUILD_TEST=ON cmake > option for the latest (at least commit 6589caa) git master branch > version of PLplot and build the test_extXdrawable target which builds > extXdrawable_demo and its prerequisites and then runs that > application. The resulting run-time error messages are as follows: > > 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 183 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.) I'm not hugely familiar with low level X programming. It seems most likely that this is a timing problem: plplot is probably trying to use something before it's ready. Given that the error code is "BadWindow" it is most likely plplot is trying to use a window (in the X sense) before it's been created by the X server. A request_code of 2 is X_ChangeWindowAttributes. > Would you be willing to take a look at this error to see if you can > figure out a fix? I'll see what I can do, but it might be next week before I have an opportunity to do so. Regards jonathan ------------------------------------------------------------------------------ Check out the vibrant tech community on one of the world's most engaging tech sites, SlashDot.org! http://sdm.link/slashdot _______________________________________________ Plplot-devel mailing list Plplot-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/plplot-devel