Carsten Haitzler (The Rasterman) wrote:
> > On Sat, 20 Jan 2007 01:32:41 +1100 Sam Bobroff <[EMAIL PROTECTED]> babbled:
> >
>
[snip]
> > unfortunately the real problem is that someone is calling
> > e_widget_sub_object_add
> > () on an object that isnt an e_widget - and thats bad. can you get a
> > backtrace?
> >
>
I've tracked this back as follows:
_basic_create_widgets calls e_fm2_icon_get (with the file path
pointing to a .desktop file that won't produce an icon).
e_fm2_icon_get returns null, with ret_type "DESKTOP".
_basic_create_widgets calls e_widget_button_icon_set with oi = NULL.
e_widget_button_icon_set calls e_widget_sub_object_add with icon
= NULL.
e_widget_sub_object_add calls evas_object_type_get on NULL.
evas_object_type_get returns NULL.
e_widget_sub_object_add does a strcmp on NULL and crashes.
I add an "if (oi)" before the call to e_widget_button_icon_set it stops
the crash.
I don't know the e code at all, but from the "if (itype)" clause right
below this, it looks like having "itype" set implies an icon exists so
perhaps a fix would be to change e_fm2_icon_get to return a NULL
ret_type if it's going to return a NULL icon and change
_basic_create_widgets to move the e_widget_button_icon_set call (and
e_widget_frametable_object_append call?) inside the "if (itype)" clause.
I suppose it all depends on what callers of e_fm2_icon_get expect, and I
really don't know what that is ;-)
As I said I'm just guessing but I hope this is useful anyway,
Sam.
-------------------------------------------------------------------------
Take Surveys. Earn Cash. Influence the Future of IT
Join SourceForge.net's Techsay panel and you'll get the chance to share your
opinions on IT & business topics through brief surveys-and earn cash
http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV
_______________________________________________
enlightenment-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel