google-code-export / gambas

Automatically exported from code.google.com/p/gambas
1 stars 0 forks source link

Random "DrawingArea is being drawn" error when using new gridview #246

Closed GoogleCodeExporter closed 9 years ago

GoogleCodeExporter commented 9 years ago
1) Sometimes, i'd say randomly, my application crashes on startup with
the following error message:

--
This application has raised an unexpected
error and must abort.

DrawingArea is being drawn.
ScrollArea.ScrollArea_Arrange.162
--

Unfortunately this is hard to reproduce, but that error message seems not to be 
related to my code, and i've to ad that previous gridviews worked everytime.

2) GIVE THE FOLLOWING INFORMATIONS (if they are appropriate):

Version: 3.1.1
Operating system: Linux
Distribution: ArchLinux
Architecture: x86
GUI component: QT4
Desktop used: KDE

3) Provide a little project that reproduces the bug or the crash.
5) Explain clearly how to reproduce the bug or the crash.

I've not been able to sistematically reproduce this.

Original issue reported on code.google.com by Kokok...@gmail.com on 2 May 2012 at 6:23

GoogleCodeExporter commented 9 years ago
Can you provide the project stack contents displayed on the terminal standard 
error output at the end of the program?

Original comment by benoit.m...@gmail.com on 7 May 2012 at 9:22

GoogleCodeExporter commented 9 years ago
I'll try to.
Meanwhile, i've found a way to stop it from happening, maybe it is useful for 
you to understand.
Over the grid i've put two pictureboxes with transparent pngs with ignore 
parameter set to true, they share the same gridview parent.
In the program startup i move and resize them explicitely, and in the grid data 
event i've set they property visible=true (they are both hidden by default).
That way caused the program to crash sometimes.

Now that i moved visible=true outside the data event, this isn't happening 
anymore.

Original comment by Kokok...@gmail.com on 7 May 2012 at 10:28

GoogleCodeExporter commented 9 years ago
If, inside the Data event, you change the visibility of a control that is above 
the GridView, then I think you may trigger a redraw event, and so a recursive 
call to the Data event. That can lead to infinite recursion and a crash.

But normally you should get a stack overflow error.

Original comment by benoit.m...@gmail.com on 10 Jun 2012 at 3:03

GoogleCodeExporter commented 9 years ago
In fact, changing visibility inside the data handler may crash the application.
But as soon as it closes with error, stack panel is hidden.
Last message in console is:
QWidget::repaint: Recursive repaint detected

Original comment by Kokok...@gmail.com on 11 Jun 2012 at 12:38

GoogleCodeExporter commented 9 years ago

Original comment by benoit.m...@gmail.com on 15 Jul 2012 at 10:19

GoogleCodeExporter commented 9 years ago

Original comment by benoit.m...@gmail.com on 15 Jul 2012 at 10:56

GoogleCodeExporter commented 9 years ago
Apparently the recursion was the cause of the crash. I close the issue. Tell if 
you get the error again.

Original comment by benoit.m...@gmail.com on 24 Aug 2012 at 2:34