Following Emmanuele's advice, below is an oversimplified example exhibiting 
even worse symptoms. It is a simple Cairo surface in a drawing area in a window.

The program works fine under opensuse 13.1 i586 and on windows (only tested 
through wine, though). On opensuse 13.1 x86_64, I get an immediate "BadDrawable 
(invalid Pixmap or Window parameter)" crash if I set the variable $case=0 on 
line 12, and a crash after a few clicks in the drawing area if I set $case=1.

The main difference between the two cases is if $case=0, the drawing area is a 
child of the main window, while it is inside several generations of parent 
widgets if $case=1. Since X errors are asynchronous, it might be the same 
problem in both cases, though I doubt it: having $window->queue_draw(); instead 
of $drawing_area->queue_draw(); in the button_press_event sub makes no crash if 
$case=1, but I still get a crash if $case=0.

I tried running this through "GDB perl" and then "run mini.pl", but do not get 
anything more than the BadDrawable error message.

Any hint appreciated.

Guillaume



On Tuesday 03 February 2015 17:39:27 you wrote:
> Hello Emmanuele,
> 
> My apologies, I thought the original email would appear in the thread. As I 
> wrote in the first email, I have a $drawing_area that is a grand-grand-grand 
> child of a $window. When the user clicks on the drawing area, my program adds 
> a point (and then paths) on the locations clicked.
> 
> To schedule the redrawing, I tried calling $drawing_area->queue_draw();. This 
> works fine on opensuse 13.1 i586, but crashes on opensuse 13.1 x86_64.
> 
> Calling $window->queue_draw(); works fine on both systems, but does not make 
> much sense to me, particularly if I ever want to replace it with a 
> queue_draw_area(...).
> 
> Anyway, I'll try a GDB trace, and maybe strip all the UI and stuff from my 
> program to have something shorter exhibiting what I think is a bug...
> 
> Guillaume
> 
> On Tuesday 03 February 2015 14:43:10 you wrote:
> > hi;
> > 
> > On 3 February 2015 at 14:41, Emmanuele Bassi <eba...@gmail.com> wrote:
> > > hi;
> > >
> > > On 3 February 2015 at 14:31, gvb <postdo...@yahoo.fr> wrote:
> > >> Sorry, I forgot to add my code to the previous email. Here it is. 
> > >> Problem is
> > >> at line 1912...
> > >>
> > >> Any comment welcome...
> > 
> > sorry, but you'll have to do a bit better than this.
> > 
> > that is a massive Perl application, one that is unlikely to just be
> > run by random people.
> > 
> > could you please write a small, self-contained test case that exhibits
> > the same crash?
> > 
> > what would also help is running it under GDB and retrieving the stack
> > trace of the crash, so that you can at least look at where it's
> > failing.
> > 
> > ciao,
> >  Emmanuele.
> > 
> > 

Attachment: mini.pl
Description: Perl program

_______________________________________________
gtk-perl-list mailing list
gtk-perl-list@gnome.org
https://mail.gnome.org/mailman/listinfo/gtk-perl-list

Reply via email to