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
enlightenment-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel

Reply via email to