After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 305374 - Smooth makes d4x crash
Smooth makes d4x crash
Status: RESOLVED FIXED
Product: gtk-engines
Classification: Deprecated
Component: general
2.6.x
Other Linux
: Normal major
: ---
Assigned To: gtk-engines maintainers
gtk-engines maintainers
Depends on:
Blocks:
 
 
Reported: 2005-05-24 22:27 UTC by Josselin Mouette
Modified: 2005-07-27 17:24 UTC
See Also:
GNOME target: ---
GNOME version: 2.9/2.10


Attachments
proposed fix (1.07 KB, patch)
2005-05-24 22:28 UTC, Josselin Mouette
none Details | Review

Description Josselin Mouette 2005-05-24 22:27:45 UTC
Distribution/Version: Debian

When using the smooth engine, d4x crashes upon startup.
Comment 1 Josselin Mouette 2005-05-24 22:28:22 UTC
Created attachment 46850 [details] [review]
proposed fix
Comment 2 Thomas Wood 2005-07-09 11:11:00 UTC
This patch seems to work. Can you give any more information about it?
Comment 3 Josselin Mouette 2005-07-12 19:37:42 UTC
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.
Comment 4 Thomas Wood 2005-07-24 21:22:23 UTC
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.
Comment 5 Josselin Mouette 2005-07-25 08:36:23 UTC
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.
Comment 6 Thomas Wood 2005-07-25 21:58:32 UTC
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.



  • #0 do_smooth_draw_shadow
    at ./src/engine/shared/gtk/smooth_gtk_drawing.c line 620
  • #1 smooth_draw_shadow
    at ./src/engine/smooth_gtk2_drawing.c line 1193
  • #2 gtk_paint_shadow
    from /usr/lib/libgtk-x11-2.0.so.0
  • #3 my_gtk_graph_draw
    at graph.cc line 134
  • #4 my_gtk_graph_expose
    at graph.cc line 249

Comment 7 Thomas Wood 2005-07-27 17:24:01 UTC
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.