GNOME Bugzilla – Bug 305374
Smooth makes d4x crash
Last modified: 2005-07-27 17:24:01 UTC
Distribution/Version: Debian When using the smooth engine, d4x crashes upon startup.
Created attachment 46850 [details] [review] proposed fix
This patch seems to work. Can you give any more information about it?
Looking at various places in the code, it seems there is some confusion about whether these properties are named "smooth_trough" or "trough", and so on. Checking for the two possibilities is probably superfluous, but this is the most conservative choice.
Can you find the reason this is a problem for d4x in particular? It would be nice to know what specifically is causing the problem.
Gasp. I remember having some ideas of what was happening, but it was some time ago and I stopped working on it as soon as I had a working patch. Sorry.
I had a closer look myself, and it seems d4x is calling gtk_paint_shadow() directly (see backtrace below) to draw a trough shadow. With this in mind I think the proposed patch is very reasonable. If Andrew (the smooth engine author) has no comments, I will commit it to CVS.
+ Trace 61989
Spoke to Andrew, and we agreed that if gtk_pain_shadow() is called directly, then do_smooth_draw_shadow() should fall back on the default handler, rather than try and pick up part info (since it won't actually exist). I have removed the "else if (CHECK_DETAIL(detail, "trough"))" section from further down in smooth_gtk_drawing.c, and this fixes the problem with d4x.